{"id":43591,"date":"2025-09-19T05:27:52","date_gmt":"2025-09-19T09:27:52","guid":{"rendered":"https:\/\/pathlock.com\/products\/dynamic-access-control\/"},"modified":"2025-11-13T03:15:32","modified_gmt":"2025-11-13T11:15:32","slug":"dynamic-access-control","status":"publish","type":"products","link":"https:\/\/pathlock.com\/es\/products\/dynamic-access-control\/","title":{"rendered":"Dynamic Access Control"},"content":{"rendered":"<style>\n    .header-form-container {\n        width: 100%;\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        padding: 40px;\n        max-width: 430px;\n        width: 100%;\n        margin: 0 auto;\n        box-sizing: border-box;\n        background-color: #ffffff;\n        border-radius: 8px;\n        border: 1px solid #D6D8E4;\n        box-shadow: 0px 30px 48px rgba(16, 24, 89, 0.1);\n    }\n\n\n    #hsForm_ {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 15px;\n        width: 100%;\n        margin: 0;\n        padding: 0;\n        box-sizing: border-box;\n        font-family: 'Inter', sans-serif;\n        background: none;\n        box-shadow: none;\n        border: none;\n        font-size: 14px;\n    }\n\n\n    #hsForm_ .hs-firstname, #hsForm_ .hs-jobtitle {\n        flex: 0 0 100%;\n        min-width: 0;\n        box-sizing: border-box;\n        font-size: 14px\n    }\n\n    #hsForm_ .hs-lastname, #hsForm_ .hs-phone {\n        flex: 0 0 100%;\n        min-width: 0;\n        box-sizing: border-box;\n        font-size: 14px\n    }\n\n\n    @media screen and (min-width: 1280px) {\n        #hsForm_ .hs-firstname, #hsForm_ .hs-jobtitle {\n            flex: 0 0 calc(45% - 7.5px);\n            min-width: 0;\n            box-sizing: border-box;\n        }\n\n        #hsForm_ .hs-lastname, #hsForm_ .hs-phone {\n            flex: 0 0 calc(55% - 7.5px);\n            min-width: 0;\n            box-sizing: border-box;\n        }\n    }\n\n    #hsForm_ .hs-email, #hsForm_ .hs-company, #hsForm_ .hs_numemployees, #hsForm_ .hs_comments__c {\n        flex: 0 0 100%;\n        min-width: 0;\n        box-sizing: border-box;\n        font-size: 14px\n    }\n\n    \/* Input fields *\/\n\n    .hs-input {\n        width: 100%;\n        padding: 10px 14px;\n        border: 1px solid #ccc;\n        border-radius: 5px;\n        font-size: 14px\n    }\n\n    \/* Select dropdown *\/\n\n    select.hs-input {\n        appearance: none;\n        background: white;\n        cursor: pointer;\n        color: #667085;\n    }\n\n    \/* Textarea *\/\n\n    textarea.hs-input {\n        resize: none !important;\n        height: 5em !important;\n    }\n\n    \/* Submit Button *\/\n    .hs_submit {\n        display: inline-flex;\n        width: 100%;\n\n        .actions {\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            width: 100%;\n        }\n    }\n\n    .hs-button {\n        width: 100%;\n        \/* display: flex; *\/\n        background: #24b770;\n        color: white;\n        padding: 12px;\n        border: none;\n        border-radius: 5px;\n        font-size: 16px;\n        font-weight: 600;\n        cursor: pointer;\n        transition: background 0.3s ease;\n    }\n\n    .hs-button:hover {\n        background: #148752;\n    }\n\n    .co-error-msg > span {\n        color: red !important;\n    }\n\n    .hs-error-msgs, .co-feedback-container {\n        color: red;\n        font-size: 12px;\n        margin-top: 8px;\n        padding: 0;\n        margin-bottom: -8px;\n    }\n    .hs_email  .inputs-list{display:none}\n\n    .legal-consent-container {\n        order: 999;\n        color: #96a1c8;\n        font-size: 12px;\n        text-align: center;\n        width: 100%;\n        margin-top: -8px;\n    }\n\n    .legal-consent-container a {\n        text-decoration: underline;\n    }\n<\/style>\n<script>\n    function modalFormHero() { \/\/ This is for Section 1\n        const lang = \"es\";\n        const messages = {\n            en: `\n        <div class=\"text-center\">\n            <div class=\"text-[24px] mb-3 font-bold\">Thank you!<\/div>\n            <p>You\u2019ll be redirected to the download page shortly.<\/p>\n        <\/div>\n    `,\n            de: `\n        <div class=\"text-center\">\n            <div class=\"text-[24px] mb-3 font-bold\">Vielen Dank!<\/div>\n            <p>Sie werden in K\u00fcrze zur Download-Seite weitergeleitet.<\/p>\n        <\/div>\n    `,\n            fr: `\n        <div class=\"text-center\">\n            <div class=\"text-[24px] mb-3 font-bold\">Merci!<\/div>\n            <p>Vous serez redirig\u00e9 vers la page de t\u00e9l\u00e9chargement dans quelques instants.<\/p>\n        <\/div>\n    `,\n            es: `\n        <div class=\"text-center\">\n            <div class=\"text-[24px] mb-3 font-bold\">\u00a1Gracias!<\/div>\n            <p>Se le redirigir\u00e1 a la p\u00e1gina de descarga en breve.<\/p>\n        <\/div>\n    `,\n            pt: `\n        <div class=\"text-center\">\n            <div class=\"text-[24px] mb-3 font-bold\">Obrigado!<\/div>\n            <p>Voc\u00ea ser\u00e1 redirecionado para a p\u00e1gina de download em instantes.<\/p>\n        <\/div>\n    `,\n            ar: `\n        <div class=\"text-center\">\n            <div class=\"text-[24px] mb-3 font-bold\">\u0634\u0643\u0631\u064b\u0627 \u0644\u0643!<\/div>\n            <p>\u0633\u064a\u062a\u0645 \u062a\u0648\u062c\u064a\u0647\u0643 \u0625\u0644\u0649 \u0635\u0641\u062d\u0629 \u0627\u0644\u062a\u0646\u0632\u064a\u0644 \u0642\u0631\u064a\u0628\u064b\u0627.<\/p>\n        <\/div>\n    `\n        };\n\n        return {\n            activeModal: null,\n            isFormInitialized: false, \/\/ New flag for Section 1's form\n            formTargetId: 'hero-header-form-container', \/\/ The ID of the div where S1 form renders\n\n            openModal(modalId) {\n                this.activeModal = modalId;\n                \/\/ Only initialize the form if it's this modal's ID AND it hasn't been initialized yet for this instance\n                if (modalId === '' && !this.isFormInitialized) {\n                    this.initializeHubspotForm();\n                }\n            },\n            closeModal() {\n                this.activeModal = null;\n                \/\/ OPTIONALLY: Clean up the form when modal closes to be safer\n                \/\/ const targetEl = document.getElementById(this.formTargetId);\n                \/\/ if (targetEl) {\n                \/\/     targetEl.innerHTML = ''; \/\/ Clear the form\n                \/\/ }\n                \/\/ this.isFormInitialized = false; \/\/ Allow re-initialization next time\n                \/\/ Or, if HubSpot handles subsequent `create` calls to the same target well,\n                \/\/ you might not need to clear\/reset `isFormInitialized`.\n                \/\/ Testing is key here.\n            },\n            initializeHubspotForm() {\n                if (this.isFormInitialized) return; \/\/ Already done for this S1 modal instance\n\n                const targetEl = document.getElementById(this.formTargetId);\n                if (!targetEl) {\n                    console.error(`Section 1: Target container #${this.formTargetId} not found.`);\n                    return;\n                }\n                \/\/ Ensure it's empty if we are re-initializing (though `isFormInitialized` should prevent this unless modal is fully reset)\n                \/\/ targetEl.innerHTML = '';\n\n                var cid = getCID(); \/\/ Make sure getCID() is globally available or defined here\n                if (cid == null) {\n                    cid = \"701PZ00000IlEYNYA3\";\n                }\n\n                hbspt.forms.create({\n                    region: \"na1\",\n                    portalId: \"20500227\",\n                    formId: \"\", \/\/ The form_id for Section 1\n                    target: `#${this.formTargetId}`,      \/\/ Target S1's specific div\n                    css: \"\",\n                    locale: \"es\",\n                    translations: {\n                        en: {submitText: \"Download Now\"},\n                        de: {submitText: \"Descargar ahora\"},\n                        fr: {submitText: \"Descargar ahora\"},\n                        es: {submitText: \"Descargar ahora\"},\n                        pt: {submitText: \"Descargar ahora\"},\n                        ar: {submitText: \"Descargar ahora\"},\n                    },\n                    \/\/ ... (rest of your S1 form config: customizations, sfdcCampaignId, onFormReady, onFormSubmitted)\n                    sfdcCampaignId: cid,\n                    onFormReady: ($form) => {\n                        this.isFormInitialized = true; \/\/ Mark as initialized for S1\n                        console.log(\"Section 1 HubSpot form ready.\");\n                        if (cid) {\n                            $form.find('input[name=\"cid\"]').val(cid);\n                        }\n                    },\n                    onFormSubmitted: (jqueryFormObject, data) => {\n\n\n                        console.log(\"Section 1 Form Submitted:\", data);\n\n                        const formEl = jqueryFormObject.get(0);\n                        if (!formEl) return;\n\n                        const parentContainer = formEl.closest('#form-copy');\n                        if (!parentContainer) return;\n\n                        parentContainer.innerHTML = messages[lang] || messages['en'];\n\n                        const submittedValues = data.submissionValues;\n                        if (submittedValues && submittedValues.sap_version) {\n                            const sapVersionSelected = submittedValues.sap_version;\n                            let redirectUrl = 'https:\/\/pathlock.com\/es\/default-thank-you\/'; \/\/ Default thank you page\n\n                            if (sapVersionSelected === 'sap_basis_release_7.4x-7.52') {\n                                redirectUrl = 'https:\/\/pathlock.com\/es\/thank-you-sap-basis\/';\n                            } else if (sapVersionSelected === 's4hana_1909_and_above') {\n                                redirectUrl = 'https:\/\/pathlock.com\/es\/thank-you-s4hana\/';\n                            }\n                            \/\/ Add more else if blocks for other sap_version values if needed\n\n                            \/\/ Perform the redirect\n                            \/\/ HubSpot often handles its own \"thank you\" message display or inline redirect.\n                            \/\/ If you want to override HubSpot's default \"thank you\" behavior and *always* redirect:\n                            console.log('Redirecting to:', redirectUrl, 'for SAP version:', sapVersionSelected);\n                            window.location.href = redirectUrl;\n\n                        } else {\n                            console.warn('sap_version field not found in submission data for form 9f1c5339...');\n                            let redirectUrl = 'https:\/\/pathlock.com\/es\/thank-you-cac\/'; \/\/ Default thank you page if no sap_version is selected\n                            window.location.href = redirectUrl;\n                        }\n                    }\n                });\n            }\n        }\n    }\n<\/script>\n<!-- Hero -->\n<section class=\"w-full pt-12 lg:pt-24 z-50 bg-[#0F1556]\" x-data=\"modalFormHero()\">\n    <div class=\"relative flex flex-col lg:flex-row mx-auto gap-10 px-4 lg:px-8 container items-center justify-between\">\n        <div class=\"hidden rtl:rotate-180 xl:flex absolute bottom-0 left-0 w-full h-full\"\n             style=\"background-image:url('https:\/\/pathlock.com\/wp-content\/uploads\/2025\/02\/demo-page-hero-bg-1.svg'); background-size:contain; background-position:right; background-repeat:no-repeat;\"><\/div>\n        <div class=\"z-10 flex flex-col w-full lg:w-1\/2\">\n            <div class=\"pt-[90px] lg:pt-24 gap-4 lg:gap-5 mb-8 lg:mb-[90px]\">\n                <div class=\"flex flex-col gap-8 lg:gap-12\">\n                    <div class=\"flex flex-col gap-4 lg:gap-5\">\n                        <div class=\"flex flex-col text-center lg:rtl:text-right lg:text-left gap-2 lg:gap-4 max-w-[720px]\">\n                                                            <div class=\"hidden lg:flex flex-row items-center\">\n                                                                                                                                                                <div class=\"justify-center items-center flex\">\n                                                <a href=\"https:\/\/pathlock.com\/es\/\"\n                                                   target=\"\"\n                                                   class=\"text-[#ced5ee] hover:text-[#24B770] text-xs font-normal leading-[18px]\">\n                                                    Inicio                                                <\/a>\n                                            <\/div>\n                                            <div class=\"relative\">\n                                                <svg class=\"rtl:rotate-180\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\n                                                     xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                    <path d=\"M6 12L10 8L6 4\" stroke=\"#96A1C8\" stroke-width=\"1.33333\"\n                                                          stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                                <\/svg>\n                                            <\/div>\n                                                                                                                                                                                                        <div class=\"justify-center items-center flex\">\n                                                <a href=\"\/es\/pathlock-cloud\/\"\n                                                   target=\"\"\n                                                   class=\"text-[#ced5ee] hover:text-[#24B770] text-xs font-normal leading-[18px]\">\n                                                    Plataforma                                                <\/a>\n                                            <\/div>\n                                            <div class=\"relative\">\n                                                <svg class=\"rtl:rotate-180\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"\n                                                     xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                    <path d=\"M6 12L10 8L6 4\" stroke=\"#96A1C8\" stroke-width=\"1.33333\"\n                                                          stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                                <\/svg>\n                                            <\/div>\n                                                                                                                                                                                                        <div class=\"justify-center items-center flex gap-1\">\n                                                <div class=\"text-[#24B770] text-xs font-semibold leading-[18px]\">Dynamic Access Control<\/div>\n                                            <\/div>\n                                                                                                            <\/div>\n                                                        <h1 class=\"hero-title text-white font-semibold text-[28px] lg:text-6xl leading-[30px] lg:leading-[72px] lg:tracking-[-1.2px] \">\n                                Identificar y proteger los datos sensibles de SAP                            <\/h1>\n                            <p class=\"hero-description text-sm lg:text-xl text-[#f2f9ff] leading-[20px] lg:leading-[30px] font-normal lg:max-w-[480px]\">\n                                Aplique pol\u00edticas basadas en atributos en tiempo real para enmascarar, codificar y restringir los datos sensibles, lo que reduce el riesgo, elimina la complejidad de roles y optimiza el cumplimiento.                            <\/p>\n                        <\/div>\n                    <\/div>\n                    <div class=\"w-full flex gap-3 flex-col lg:flex-row justify-start\">\n                                                                            <a class=\"h-12 px-[18px] py-3 bg-[#24b770] hover:bg-[#148752] rounded-lg shadow-[0px_1px_2px_0px_rgba(16,24,40,0.05)] justify-center items-center gap-1.5 inline-flex overflow-hidden\"\n                               href=\"\/es\/contact\/?tab=request-a-demo\"\n                               target=\"\">\n                                <div class=\"px-0.5 justify-center items-center flex\">\n                                    <div class=\"text-white text-base font-semibold leading-normal\">Reservar demo personalizada<\/div>\n                                <\/div>\n                            <\/a>\n                        \n                        <a class=\"h-12 px-[18px] py-3 bg-white hover:bg-[#E3E7F6] rounded-lg shadow-[0px_1px_2px_0px_rgba(16,24,40,0.05)] border border-[#e3e7f6] justify-center items-center gap-1.5 inline-flex overflow-hidden\" href=\"\/es\/browser-tours\/pathlock-dynamic-access-controls\/\">\n                                <div class=\"px-0.5 justify-center items-center flex\">\n                                    <div class=\"text-[#0f1556] text-base font-semibold leading-normal\">Iniciar recorrido autoguiado<\/div>\n                                <\/div>\n                            <\/a>                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        <div class=\"hidden lg:flex lg:w-1\/2 max-w-[570px] flex-1 items-center justify-center z-10\">\n                            <img decoding=\"async\" class=\"no-override max-w-full\" src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/09\/image-79.webp\"\n                     alt=\"\"\/>\n                    <\/div>\n    <\/div>\n            <div class=\"mt-0 lg:mt-16 pb-24 container mx-auto px-4 lg:px-8\">\n            <div class=\"grid grid-cols-3 lg:grid-cols-6 xl:flex xl:flex-row xl:justify-between items-center justify-items-center gap-y-6 gap-x-4\">\n                                                            <img decoding=\"async\" class=\"no-override h-[36px] lg:h-[48px] max-w-full\"\n                             src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2024\/06\/jabildarkbg.svg\" width=\"auto\" height=\"48\"\n                             alt=\"jabildarkbg\"\/>\n                                                                                <img decoding=\"async\" class=\"no-override h-[36px] lg:h-[48px] max-w-full\"\n                             src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2023\/08\/geico.svg\" width=\"auto\" height=\"48\"\n                             alt=\"geico\"\/>\n                                                                                <img decoding=\"async\" class=\"no-override h-[36px] lg:h-[48px] max-w-full\"\n                             src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2023\/08\/ms-1-1.svg\" width=\"auto\" height=\"48\"\n                             alt=\"ms-1\"\/>\n                                                                                <img decoding=\"async\" class=\"no-override h-[36px] lg:h-[48px] max-w-full\"\n                             src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2024\/06\/pgdarkbg.svg\" width=\"auto\" height=\"48\"\n                             alt=\"pgdarkbg\"\/>\n                                                                                <img decoding=\"async\" class=\"no-override h-[36px] lg:h-[48px] max-w-full\"\n                             src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2024\/06\/siemensdarkbg.svg\" width=\"auto\" height=\"48\"\n                             alt=\"siemensdarkbg\"\/>\n                                                                                <img decoding=\"async\" class=\"no-override h-[36px] lg:h-[48px] max-w-full\"\n                             src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2023\/08\/Chevron-2.svg\" width=\"auto\" height=\"48\"\n                             alt=\"Chevron-2\"\/>\n                                                <\/div>\n        <\/div>\n    \n    <div x-show=\"activeModal !== null\" x-cloak class=\"fixed inset-0 z-50\"\n         x-effect=\"document.body.style.overflow = activeModal ? 'hidden' : ''\">\n        <!-- Modal Backdrop -->\n        <div\n                class=\"fixed inset-0 bg-[#0f1556] bg-opacity-60\"\n                x-transition:enter=\"transition ease-out duration-300\"\n                x-transition:enter-start=\"opacity-0\"\n                x-transition:enter-end=\"opacity-100\"\n                x-transition:leave=\"transition ease-in duration-300\"\n                x-transition:leave-start=\"opacity-100\"\n                x-transition:leave-end=\"opacity-0\"\n        ><\/div>\n\n        <!-- Modal Wrapper for Centering -->\n        <div class=\"fixed inset-0 flex items-center justify-center z-50 p-4\">\n            <div class=\"relative bg-white max-w-md w-full rounded-lg shadow-lg\"\n                 @click.away=\"closeModal('')\">\n                <!-- Close Button -->\n                <div class=\"flex justify-end p-2\">\n                    <button\n                            @click=\"closeModal('')\"\n                            class=\"text-gray-800 hover:bg-gray-100 p-2 rounded-full focus:outline-none\"\n                    >\n                        <svg\n                                class=\"h-6 w-6\"\n                                fill=\"none\"\n                                stroke=\"currentColor\"\n                                viewBox=\"0 0 24 24\"\n                                xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n                        >\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\n                                  d=\"M6 18L18 6M6 6l12 12\"\/>\n                        <\/svg>\n                    <\/button>\n                <\/div>\n\n                <!-- Modal Content -->\n                <div class=\"p-8 pt-0 lg:px-10 lg:pb-12 bg-white rounded-lg\">\n                    <script charset=\"utf-8\" type=\"text\/javascript\" src=\"\/\/js.hsforms.net\/forms\/embed\/v2.js\"><\/script>\n                    <div id=\"form-copy\" class=\"form-container\">\n                        <div class=\"flex-col justify-start items-start gap-3 mb-5 inline-flex text-center w-full\">\n                            <div id=\"form-title\"\n                                 class=\"self-stretch text-center text-[#0f1556] text-xl lg:text-2xl font-bold leading-[30px]\">Descargar esc\u00e1ner gratuito<\/div>\n                            <div id=\"form-subtitle\"\n                                 class=\"text-center text-[#667084] text-xs lg:text-sm font-normal leading-normal w-full\">Obtenga una visi\u00f3n instant\u00e1nea de la seguridad de su SAP sin costo alguno<\/div>\n                        <\/div>\n                        <div id=\"hero-header-form-container\" ><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n\n<\/section>\n\n\n\n\n\n\n<style>\n    .active {\n    @apply border-[#148752] text-[#148752];\n    }\n<\/style>\n\n    <div id=\"sticky-sub-nav\" class=\"hidden lg:flex w-full shadow-[0px_12px_16px_-4px_rgba(15,21,86,0.03)] border-b-2 border-[#CED5EE] sticky top-[80px] bg-white item-center z-30 justify-center\">\n        <div class=\"container mx-auto px-4 lg:px-8 flex flex-row gap-3 -mb-[2px]\">\n                            \n                        <a href=\"#valor-empresarial\" \n                           class=\"border-b-2 transition-colors duration-300 border-[#CED5EE] hover:border-[#148752] py-4 px-6 leading-normal text-base font-normal  text-[#2A3274] hover:text-[#148752]\">\n                            Valor empresarial                        <\/a>\n\n                                            \n                        <a href=\"#casos-de-uso\" \n                           class=\"border-b-2 transition-colors duration-300 border-[#CED5EE] hover:border-[#148752] py-4 px-6 leading-normal text-base font-normal  text-[#2A3274] hover:text-[#148752]\">\n                            Casos de uso                        <\/a>\n\n                                            \n                        <a href=\"#centro-de-demostraciones\" \n                           class=\"border-b-2 transition-colors duration-300 border-[#CED5EE] hover:border-[#148752] py-4 px-6 leading-normal text-base font-normal  text-[#2A3274] hover:text-[#148752]\">\n                            Centro de demostraciones                        <\/a>\n\n                                    <\/div>\n    <\/div>\n\n    <div class=\"flex lg:hidden w-full shadow-[0px_12px_16px_-4px_rgba(15,21,86,0.03)] border-b-2 border-[#CED5EE] sticky top-[80px] bg-white item-center z-30 justify-center\">\n        <div class=\"container mx-auto p-4 lg:px-8 flex flex-row gap-3 -mb-[2px]\">\n            <select id=\"mobile-toc\" class=\"w-full bg-[#f5f6fc] p-3 border-none rounded-md text-[#0f1556] text-sm font-semibold leading-tight\">\n                            \n                        <option value=\"#valor-empresarial\" \n                           class=\"border-b-2 transition-colors duration-300 border-[#CED5EE] hover:border-[#148752] py-4 px-6 leading-normal text-base font-normal  text-[#2A3274] hover:text-[#148752]\">\n                            Valor empresarial                        <\/option>\n\n                                            \n                        <option value=\"#casos-de-uso\" \n                           class=\"border-b-2 transition-colors duration-300 border-[#CED5EE] hover:border-[#148752] py-4 px-6 leading-normal text-base font-normal  text-[#2A3274] hover:text-[#148752]\">\n                            Casos de uso                        <\/option>\n\n                                            \n                        <option value=\"#centro-de-demostraciones\" \n                           class=\"border-b-2 transition-colors duration-300 border-[#CED5EE] hover:border-[#148752] py-4 px-6 leading-normal text-base font-normal  text-[#2A3274] hover:text-[#148752]\">\n                            Centro de demostraciones                        <\/option>\n\n                                        <\/select>\n        <\/div>\n    <\/div>\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n    const sections = document.querySelectorAll(\"section[id]\");\n    const navLinks = document.querySelectorAll(\".sticky a\");\n    const mobileSelect = document.getElementById(\"mobile-toc\");\n\n    function onScroll() {\n        let scrollPosition = window.scrollY + 120;\n        let currentSectionId = \"\";\n\n        sections.forEach((section) => {\n            const top = section.offsetTop;\n            const bottom = top + section.offsetHeight;\n            const id = section.getAttribute(\"id\");\n\n            if (scrollPosition >= top && scrollPosition < bottom) {\n                currentSectionId = id;\n\n                navLinks.forEach((link) => {\n                    link.classList.remove(\"border-[#148752]\", \"text-[#148752]\");\n                    link.classList.add(\"border-[#CED5EE]\", \"text-[#2A3274]\");\n\n                    if (link.getAttribute(\"href\") === \"#\" + id) {\n                        link.classList.add(\"border-[#148752]\", \"text-[#148752]\");\n                        link.classList.remove(\"border-[#CED5EE]\", \"text-[#2A3274]\");\n                    }\n                });\n            }\n        });\n\n        \/\/ Update the mobile select dropdown\n        if (mobileSelect && currentSectionId) {\n            mobileSelect.value = \"#\" + currentSectionId;\n        }\n    }\n\n    \/\/ Scroll to section when mobile dropdown changes\n    if (mobileSelect) {\n        mobileSelect.addEventListener(\"change\", function () {\n            const value = this.value;\n            if (value) {\n                const target = document.querySelector(value);\n                if (target) {\n                    window.scrollTo({\n                        top: target.offsetTop - 100,\n                        behavior: \"smooth\",\n                    });\n                }\n            }\n        });\n    }\n\n    \/\/ Highlight active link right after clicking on desktop nav\n    navLinks.forEach((link) => {\n        link.addEventListener(\"click\", function () {\n            setTimeout(onScroll, 10);\n        });\n    });\n\n    window.addEventListener(\"scroll\", onScroll);\n    onScroll(); \/\/ Initial highlight on page load\n});\n<\/script>\n\n\n\n<section id=\"valor-empresarial\" class=\"bg-white py-8 lg:pb-12 lg:pt-24 scroll-mt-28\">\n  <div class=\"container mx-auto px-4 lg:px-8 \">\n    <div class=\"relative flex flex-col items-center lg:flex-row lg:items-stretch gap-12 lg:gap-16\">\n      <div class=\"text-center lg:rtl:text-right lg:text-left flex flex-col justify-center items-center lg:items-start py-4\">\n        <span class=\"text-[#148752] text-sm font-bold uppercase leading-[30px] tracking-wider mb-3\">VALOR EMPRESARIAL<\/span>\n        \n                <h2 class=\"tracking-tight text-3xl leading-[38px] lg:text-5xl font-semibold mb-4 lg:mb-5 max-w-[720px] lg:!leading-[60px]\">Protecci\u00f3n basada <br>en atributos en tiempo real<\/h2>\n        \n                <div class=\"text-lg lg:text-xl font-normal text-[#2A3274] max-w-[576px] prose prose-strong:text-[#2A3274]\">\n            <p class=\"p1\">La protecci\u00f3n de los datos de SAP no deber\u00eda depender de herramientas de enmascaramiento est\u00e1ticas ni de pol\u00edticas fragmentadas. Pathlock va m\u00e1s all\u00e1 del enmascaramiento de la interfaz de usuario de SAP con <b>controles unificados basados en atributos <\/b>que enmascaran, codifican y restringen din\u00e1micamente los datos en las aplicaciones SAP.<\/p>\n<p>Con gesti\u00f3n de pol\u00edticas centralizada, sin c\u00f3digo personalizado y registros de auditor\u00eda completos, Pathlock aplica el m\u00ednimo privilegio a gran escala, lo que brinda mayor seguridad, cumplimiento m\u00e1s r\u00e1pido y menor costo de propiedad.<\/p>\n        <\/div>\n                 \n    <\/div>\n      <div class=\"bg-[#F5F6FC] flex flex-col w-full flex-1 items-center justify-center rounded-lg py-[22px]\">\n        <img decoding=\"async\" src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/09\/datasheet-cover-src-1.webp\" alt=\"\" class=\"no-override max-w-80 max-h-96 rounded-lg flex items-center justify-center\" \/>\n        <a class=\"mt-[10px] flex justify-center items-center font-semibold py-3 px-[18px] bg-[white] hover:bg-[#E3E7F6] group leading-7  rounded-lg text-[#344054] transition-colors duration-300\" href=\"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/09\/Dynamic-Access-Controls-Datasheet.pdf\">Descargar hoja de datos (.PDF)<\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n  <\/section>\n\n\n\n\n<style>\n    @media (min-width: 1024px) {\n        .active-tab {\n            box-shadow: 0 4px 38px #1018590d;\n        }\n    }\n<\/style>\n\n<section class=\"py-8 lg:py-12 scroll-mt-28\" id=\"casos-de-uso\">\n    <div class=\"container mx-auto max-w-[1024px] px-4 lg:px-8\">\n        <div class=\"relative\">\n            <div class=\"text-center flex flex-col justify-center items-center mb-12 lg:mb-16\">\n                                    <span class=\"text-[#148752] text-sm font-bold uppercase leading-[30px] tracking-wider mb-3\">CASOS DE USO<\/span>\n                                                    <h2 class=\"tracking-tight text-3xl leading-[38px] lg:text-5xl font-semibold max-w-[804px] lg:!leading-[60px]\">Explorar las capacidades principales de Dynamic Access Control de Pathlock<\/h2>\n                \n                                    <div class=\"text-lg lg:text-xl font-normal text-[#2A3274] max-w-[720px] mt-4 lg:mt-5\">\n                        Pathlock <b>protege los datos de SAP de extremo a extremo<\/b> con descubrimiento automatizado, enmascaramiento y codificaci\u00f3n en tiempo real, autorizaciones basadas en atributos y registro continuo. Estos controles din\u00e1micos reducen el riesgo, simplifican el cumplimiento y mantienen protegida la informaci\u00f3n sensible.                    <\/div>\n                            <\/div>\n\n            \n            <div class=\"rounded-lg bg-white\" x-data=\"tabComponent('5')\" x-init=\"init()\">\n                <div class=\"flex mx-auto justify-center\">\n                    <div>\n                        <!-- Mobile Dropdown -->\n                        <div class=\"block lg:hidden bg-white rounded-lg\">\n                            <select x-on:change=\"setActiveTab(parseInt($el.value))\" class=\"rounded-lg mb-6 py-3 rtl:pr-8 px-4 pe-9 block w-full border-[#F5F6FC] font-medium bg-[#F5F6FC] text-sm focus:border-blue-500 focus:ring-blue-50\">\n                                                                    <option value=\"1\">Discovery <br>and Classification<\/option>\n                                                                    <option value=\"2\">Dynamic Data <br>Masking<\/option>\n                                                                    <option value=\"3\">Data <br>Scrambling<\/option>\n                                                                    <option value=\"4\">Dynamic <br>Authorizations<\/option>\n                                                                    <option value=\"5\">Logging and <br>Alerts<\/option>\n                                                            <\/select>\n                        <\/div>\n\n                        <!-- Desktop Tabs -->\n                        <div style=\"box-shadow: 0px 12px 16px -4px rgba(15, 21, 86, 0.03);\" class=\"hidden lg:flex max-w-[1216px] min-w-[1216px] p-1.5 bg-white rounded-lg justify-around outline outline-1 outline-offset-[-1px] outline-[#E3E7F6] justify-start items-center gap-1.5\">\n                                                            <div\n                                        class=\"relative min-h-[66px] group flex-1 self-stretch rounded-md flex justify-center items-center gap-2 overflow-hidden\"\n                                        :class=\"selectedTab == 1 ? 'z-20 outline outline-1 outline-[#CED5EE]' : 'hover:outline hover:outline-1 hover:outline-[#CED5EE] hover:bg-[#FAFBFD]'\"\n                                        @mouseenter=\"selectedTab == 1 ? pauseOnHover() : null\"\n                                        @mouseleave=\"selectedTab == 1 ? resumeOnHover() : null\">\n\n                                    <!-- Background Progress Layer -->\n                                    <div\n                                            class=\"absolute inset-0 rounded-md transition-all duration-200 ease-linear z-0\"\n                                            :class=\"selectedTab == 1 ? '' : 'group-hover:bg-[#FAFBFD]'\"\n                                            :style=\"selectedTab == 1 &#038;&#038; isDesktop ? getProgressBackground(progress) : selectedTab == 1 ? 'background: #E3E7F6;' : 'background: #ffffff;'\">\n                                    <\/div>\n\n                                    <!-- Button -->\n                                    <button\n                                            class=\"px-3 py-2 relative z-10 h-full w-full flex justify-center items-center\"\n                                            :class=\"selectedTab == 1 ? '' : 'group-hover:bg-[#FAFBFD]'\"\n                                            @click.prevent=\"setActiveTab(1)\">\n\n                    <span\n                            class=\"block text-center justify-start text-[#2A3274] text-base leading-normal lg:max-w-[162px]\"\n                            :class=\"selectedTab == 1 ? 'font-semibold' : 'font-medium'\">\n                      Discovery <br>and Classification                    <\/span>\n                                    <\/button>\n                                <\/div>\n                                                            <div\n                                        class=\"relative min-h-[66px] group flex-1 self-stretch rounded-md flex justify-center items-center gap-2 overflow-hidden\"\n                                        :class=\"selectedTab == 2 ? 'z-20 outline outline-1 outline-[#CED5EE]' : 'hover:outline hover:outline-1 hover:outline-[#CED5EE] hover:bg-[#FAFBFD]'\"\n                                        @mouseenter=\"selectedTab == 2 ? pauseOnHover() : null\"\n                                        @mouseleave=\"selectedTab == 2 ? resumeOnHover() : null\">\n\n                                    <!-- Background Progress Layer -->\n                                    <div\n                                            class=\"absolute inset-0 rounded-md transition-all duration-200 ease-linear z-0\"\n                                            :class=\"selectedTab == 2 ? '' : 'group-hover:bg-[#FAFBFD]'\"\n                                            :style=\"selectedTab == 2 &#038;&#038; isDesktop ? getProgressBackground(progress) : selectedTab == 2 ? 'background: #E3E7F6;' : 'background: #ffffff;'\">\n                                    <\/div>\n\n                                    <!-- Button -->\n                                    <button\n                                            class=\"px-3 py-2 relative z-10 h-full w-full flex justify-center items-center\"\n                                            :class=\"selectedTab == 2 ? '' : 'group-hover:bg-[#FAFBFD]'\"\n                                            @click.prevent=\"setActiveTab(2)\">\n\n                    <span\n                            class=\"block text-center justify-start text-[#2A3274] text-base leading-normal lg:max-w-[162px]\"\n                            :class=\"selectedTab == 2 ? 'font-semibold' : 'font-medium'\">\n                      Dynamic Data <br>Masking                    <\/span>\n                                    <\/button>\n                                <\/div>\n                                                            <div\n                                        class=\"relative min-h-[66px] group flex-1 self-stretch rounded-md flex justify-center items-center gap-2 overflow-hidden\"\n                                        :class=\"selectedTab == 3 ? 'z-20 outline outline-1 outline-[#CED5EE]' : 'hover:outline hover:outline-1 hover:outline-[#CED5EE] hover:bg-[#FAFBFD]'\"\n                                        @mouseenter=\"selectedTab == 3 ? pauseOnHover() : null\"\n                                        @mouseleave=\"selectedTab == 3 ? resumeOnHover() : null\">\n\n                                    <!-- Background Progress Layer -->\n                                    <div\n                                            class=\"absolute inset-0 rounded-md transition-all duration-200 ease-linear z-0\"\n                                            :class=\"selectedTab == 3 ? '' : 'group-hover:bg-[#FAFBFD]'\"\n                                            :style=\"selectedTab == 3 &#038;&#038; isDesktop ? getProgressBackground(progress) : selectedTab == 3 ? 'background: #E3E7F6;' : 'background: #ffffff;'\">\n                                    <\/div>\n\n                                    <!-- Button -->\n                                    <button\n                                            class=\"px-3 py-2 relative z-10 h-full w-full flex justify-center items-center\"\n                                            :class=\"selectedTab == 3 ? '' : 'group-hover:bg-[#FAFBFD]'\"\n                                            @click.prevent=\"setActiveTab(3)\">\n\n                    <span\n                            class=\"block text-center justify-start text-[#2A3274] text-base leading-normal lg:max-w-[162px]\"\n                            :class=\"selectedTab == 3 ? 'font-semibold' : 'font-medium'\">\n                      Data <br>Scrambling                    <\/span>\n                                    <\/button>\n                                <\/div>\n                                                            <div\n                                        class=\"relative min-h-[66px] group flex-1 self-stretch rounded-md flex justify-center items-center gap-2 overflow-hidden\"\n                                        :class=\"selectedTab == 4 ? 'z-20 outline outline-1 outline-[#CED5EE]' : 'hover:outline hover:outline-1 hover:outline-[#CED5EE] hover:bg-[#FAFBFD]'\"\n                                        @mouseenter=\"selectedTab == 4 ? pauseOnHover() : null\"\n                                        @mouseleave=\"selectedTab == 4 ? resumeOnHover() : null\">\n\n                                    <!-- Background Progress Layer -->\n                                    <div\n                                            class=\"absolute inset-0 rounded-md transition-all duration-200 ease-linear z-0\"\n                                            :class=\"selectedTab == 4 ? '' : 'group-hover:bg-[#FAFBFD]'\"\n                                            :style=\"selectedTab == 4 &#038;&#038; isDesktop ? getProgressBackground(progress) : selectedTab == 4 ? 'background: #E3E7F6;' : 'background: #ffffff;'\">\n                                    <\/div>\n\n                                    <!-- Button -->\n                                    <button\n                                            class=\"px-3 py-2 relative z-10 h-full w-full flex justify-center items-center\"\n                                            :class=\"selectedTab == 4 ? '' : 'group-hover:bg-[#FAFBFD]'\"\n                                            @click.prevent=\"setActiveTab(4)\">\n\n                    <span\n                            class=\"block text-center justify-start text-[#2A3274] text-base leading-normal lg:max-w-[162px]\"\n                            :class=\"selectedTab == 4 ? 'font-semibold' : 'font-medium'\">\n                      Dynamic <br>Authorizations                    <\/span>\n                                    <\/button>\n                                <\/div>\n                                                            <div\n                                        class=\"relative min-h-[66px] group flex-1 self-stretch rounded-md flex justify-center items-center gap-2 overflow-hidden\"\n                                        :class=\"selectedTab == 5 ? 'z-20 outline outline-1 outline-[#CED5EE]' : 'hover:outline hover:outline-1 hover:outline-[#CED5EE] hover:bg-[#FAFBFD]'\"\n                                        @mouseenter=\"selectedTab == 5 ? pauseOnHover() : null\"\n                                        @mouseleave=\"selectedTab == 5 ? resumeOnHover() : null\">\n\n                                    <!-- Background Progress Layer -->\n                                    <div\n                                            class=\"absolute inset-0 rounded-md transition-all duration-200 ease-linear z-0\"\n                                            :class=\"selectedTab == 5 ? '' : 'group-hover:bg-[#FAFBFD]'\"\n                                            :style=\"selectedTab == 5 &#038;&#038; isDesktop ? getProgressBackground(progress) : selectedTab == 5 ? 'background: #E3E7F6;' : 'background: #ffffff;'\">\n                                    <\/div>\n\n                                    <!-- Button -->\n                                    <button\n                                            class=\"px-3 py-2 relative z-10 h-full w-full flex justify-center items-center\"\n                                            :class=\"selectedTab == 5 ? '' : 'group-hover:bg-[#FAFBFD]'\"\n                                            @click.prevent=\"setActiveTab(5)\">\n\n                    <span\n                            class=\"block text-center justify-start text-[#2A3274] text-base leading-normal lg:max-w-[162px]\"\n                            :class=\"selectedTab == 5 ? 'font-semibold' : 'font-medium'\">\n                      Logging and <br>Alerts                    <\/span>\n                                    <\/button>\n                                <\/div>\n                                                    <\/div>\n\n                        <!-- Tab Content -->\n                                                    <div x-ref=\"containerA\"\n                                 x-show=\"selectedTab === 1\"\n                                 @mouseenter=\"isDesktop ? pauseOnHover() : null\"\n                                 @mouseleave=\"isDesktop ? resumeOnHover() : null\"\n                                 class=\"flex flex-col-reverse lg:flex-row lg:justify-self-center lg:justify-between lg:mt-12 relative bg-white z-10 lg:-mx-8 max-w-[1216px] lg:min-h-[512px] xl:max-w-[1216px] rounded-lg mx-auto\">\n\n                                <!-- Left Column: Content -->\n                                <div class=\"w-full lg:w-1\/2\">\n                                    <div class=\"flex flex-col mb-5 mt-12\">\n                        <span class=\"hidden lg:flex text-3xl font-semibold mb-5\">\n                          Discovery and Classification                        <\/span>\n                                        <span class=\"text-lg leading-7 text-[#2A3274]\">Pathlock <b>automatiza la identificaci\u00f3n y clasificaci\u00f3n de datos sensibles,<\/b> lo que simplifica la creaci\u00f3n de pol\u00edticas y la alineaci\u00f3n con el cumplimiento.<\/span>\n                                    <\/div>\n\n                                    <ul class=\"flex flex-col gap-3 mb-12 text-[#2A3274]\">\n                                                                                    <li class=\"flex gap-3 items-start ps-4 text-lg leading-7\">\n                                                <svg class=\"rounded-full min-w-[28px] min-h-[28px] flex-shrink-0\" width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                    <g clip-path=\"url(#clip0_954_404)\">\n                                                        <rect width=\"28\" height=\"28\" transform=\"translate(0.5 0.799988)\" fill=\"#D5F6E0\"\/>\n                                                        <path d=\"M9.25 14.8L12.75 18.3L19.75 11.3\" stroke=\"#24B770\" stroke-width=\"2.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                                    <\/g>\n                                                    <defs>\n                                                        <clipPath id=\"clip0_954_404\">\n                                                            <path d=\"M0.5 14.8C0.5 7.068 6.76801 0.799988 14.5 0.799988C22.232 0.799988 28.5 7.068 28.5 14.8C28.5 22.532 22.232 28.8 14.5 28.8C6.76801 28.8 0.5 22.532 0.5 14.8Z\" fill=\"white\"\/>\n                                                        <\/clipPath>\n                                                    <\/defs>\n                                                <\/svg>\n                                                Clasifique por regulaci\u00f3n, sensibilidad o reglas empresariales.                                            <\/li>\n                                                                                    <li class=\"flex gap-3 items-start ps-4 text-lg leading-7\">\n                                                <svg class=\"rounded-full min-w-[28px] min-h-[28px] flex-shrink-0\" width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                    <g clip-path=\"url(#clip0_954_404)\">\n                                                        <rect width=\"28\" height=\"28\" transform=\"translate(0.5 0.799988)\" fill=\"#D5F6E0\"\/>\n                                                        <path d=\"M9.25 14.8L12.75 18.3L19.75 11.3\" stroke=\"#24B770\" stroke-width=\"2.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                                    <\/g>\n                                                    <defs>\n                                                        <clipPath id=\"clip0_954_404\">\n                                                            <path d=\"M0.5 14.8C0.5 7.068 6.76801 0.799988 14.5 0.799988C22.232 0.799988 28.5 7.068 28.5 14.8C28.5 22.532 22.232 28.8 14.5 28.8C6.76801 28.8 0.5 22.532 0.5 14.8Z\" fill=\"white\"\/>\n                                                        <\/clipPath>\n                                                    <\/defs>\n                                                <\/svg>\n                                                L\u00f3gica de clasificaci\u00f3n reutilizable en todas las pol\u00edticas.                                            <\/li>\n                                                                                    <li class=\"flex gap-3 items-start ps-4 text-lg leading-7\">\n                                                <svg class=\"rounded-full min-w-[28px] min-h-[28px] flex-shrink-0\" width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                    <g clip-path=\"url(#clip0_954_404)\">\n                                                        <rect width=\"28\" height=\"28\" transform=\"translate(0.5 0.799988)\" fill=\"#D5F6E0\"\/>\n                                                        <path d=\"M9.25 14.8L12.75 18.3L19.75 11.3\" stroke=\"#24B770\" stroke-width=\"2.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                                    <\/g>\n                                                    <defs>\n                                                        <clipPath id=\"clip0_954_404\">\n                                                            <path d=\"M0.5 14.8C0.5 7.068 6.76801 0.799988 14.5 0.799988C22.232 0.799988 28.5 7.068 28.5 14.8C28.5 22.532 22.232 28.8 14.5 28.8C6.76801 28.8 0.5 22.532 0.5 14.8Z\" fill=\"white\"\/>\n                                                        <\/clipPath>\n                                                    <\/defs>\n                                                <\/svg>\n                                                Marco centralizado para la coherencia y la escala                                            <\/li>\n                                                                            <\/ul>\n\n                                    <div class=\"flex items-center gap-12\">\n                                        \n                                                                            <\/div>\n\n                                                                    <\/div>\n\n                                <!-- Right Column: Image\/Animation -->\n                                <div class=\"lg:ps-8 w-full flex lg:w-1\/2 lg:flex-end lg:justify-end\">\n                                    <div class=\"bg-[#F5F6FC] w-full h-full lg:max-w-[512px] lg:max-h-[512px] flex rounded-xl lg:flex-end lg:items-center\">\n                                                                                    <canvas class=\"w-full h-full lg:max-w-[512px] lg:max-h-[512px]\" x-ref=\"riveCanvas1\" data-src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/09\/discovery_and_classification.riv\" width=\"512\" height=\"512\"><\/canvas>\n                                                                            <\/div>\n                                <\/div>\n                            <\/div>\n                                                    <div x-ref=\"containerA\"\n                                 x-show=\"selectedTab === 2\"\n                                 @mouseenter=\"isDesktop ? pauseOnHover() : null\"\n                                 @mouseleave=\"isDesktop ? resumeOnHover() : null\"\n                                 class=\"flex flex-col-reverse lg:flex-row lg:justify-self-center lg:justify-between lg:mt-12 relative bg-white z-10 lg:-mx-8 max-w-[1216px] lg:min-h-[512px] xl:max-w-[1216px] rounded-lg mx-auto\">\n\n                                <!-- Left Column: Content -->\n                                <div class=\"w-full lg:w-1\/2\">\n                                    <div class=\"flex flex-col mb-5 mt-12\">\n                        <span class=\"hidden lg:flex text-3xl font-semibold mb-5\">\n                          Dynamic Data Masking                        <\/span>\n                                        <span class=\"text-lg leading-7 text-[#2A3274]\">Pathlock aplica <b>enmascaramiento basado en atributos en tiempo real<\/b> a campos sensibles de SAP, lo que evita la visibilidad no autorizada sin redise\u00f1os de roles.<\/span>\n                                    <\/div>\n\n                                    <ul class=\"flex flex-col gap-3 mb-12 text-[#2A3274]\">\n                                                                                    <li class=\"flex gap-3 items-start ps-4 text-lg leading-7\">\n                                                <svg class=\"rounded-full min-w-[28px] min-h-[28px] flex-shrink-0\" width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                    <g clip-path=\"url(#clip0_954_404)\">\n                                                        <rect width=\"28\" height=\"28\" transform=\"translate(0.5 0.799988)\" fill=\"#D5F6E0\"\/>\n                                                        <path d=\"M9.25 14.8L12.75 18.3L19.75 11.3\" stroke=\"#24B770\" stroke-width=\"2.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                                    <\/g>\n                                                    <defs>\n                                                        <clipPath id=\"clip0_954_404\">\n                                                            <path d=\"M0.5 14.8C0.5 7.068 6.76801 0.799988 14.5 0.799988C22.232 0.799988 28.5 7.068 28.5 14.8C28.5 22.532 22.232 28.8 14.5 28.8C6.76801 28.8 0.5 22.532 0.5 14.8Z\" fill=\"white\"\/>\n                                                        <\/clipPath>\n                                                    <\/defs>\n                                                <\/svg>\n                                                Enmascaramiento detallado en transacciones, informes e interfaces de usuario                                            <\/li>\n                                                                                    <li class=\"flex gap-3 items-start ps-4 text-lg leading-7\">\n                                                <svg class=\"rounded-full min-w-[28px] min-h-[28px] flex-shrink-0\" width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                    <g clip-path=\"url(#clip0_954_404)\">\n                                                        <rect width=\"28\" height=\"28\" transform=\"translate(0.5 0.799988)\" fill=\"#D5F6E0\"\/>\n                                                        <path d=\"M9.25 14.8L12.75 18.3L19.75 11.3\" stroke=\"#24B770\" stroke-width=\"2.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                                    <\/g>\n                                                    <defs>\n                                                        <clipPath id=\"clip0_954_404\">\n                                                            <path d=\"M0.5 14.8C0.5 7.068 6.76801 0.799988 14.5 0.799988C22.232 0.799988 28.5 7.068 28.5 14.8C28.5 22.532 22.232 28.8 14.5 28.8C6.76801 28.8 0.5 22.532 0.5 14.8Z\" fill=\"white\"\/>\n                                                        <\/clipPath>\n                                                    <\/defs>\n                                                <\/svg>\n                                                Aplicaci\u00f3n consciente del contexto basada en atributos del usuario                                            <\/li>\n                                                                                    <li class=\"flex gap-3 items-start ps-4 text-lg leading-7\">\n                                                <svg class=\"rounded-full min-w-[28px] min-h-[28px] flex-shrink-0\" width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                    <g clip-path=\"url(#clip0_954_404)\">\n                                                        <rect width=\"28\" height=\"28\" transform=\"translate(0.5 0.799988)\" fill=\"#D5F6E0\"\/>\n                                                        <path d=\"M9.25 14.8L12.75 18.3L19.75 11.3\" stroke=\"#24B770\" stroke-width=\"2.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                                    <\/g>\n                                                    <defs>\n                                                        <clipPath id=\"clip0_954_404\">\n                                                            <path d=\"M0.5 14.8C0.5 7.068 6.76801 0.799988 14.5 0.799988C22.232 0.799988 28.5 7.068 28.5 14.8C28.5 22.532 22.232 28.8 14.5 28.8C6.76801 28.8 0.5 22.532 0.5 14.8Z\" fill=\"white\"\/>\n                                                        <\/clipPath>\n                                                    <\/defs>\n                                                <\/svg>\n                                                Registros de auditor\u00eda integrados para informes de cumplimiento                                            <\/li>\n                                                                            <\/ul>\n\n                                    <div class=\"flex items-center gap-12\">\n                                        \n                                                                            <\/div>\n\n                                                                    <\/div>\n\n                                <!-- Right Column: Image\/Animation -->\n                                <div class=\"lg:ps-8 w-full flex lg:w-1\/2 lg:flex-end lg:justify-end\">\n                                    <div class=\"bg-[#F5F6FC] w-full h-full lg:max-w-[512px] lg:max-h-[512px] flex rounded-xl lg:flex-end lg:items-center\">\n                                                                                    <canvas class=\"w-full h-full lg:max-w-[512px] lg:max-h-[512px]\" x-ref=\"riveCanvas2\" data-src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2023\/08\/cac_dac.riv\" width=\"512\" height=\"512\"><\/canvas>\n                                                                            <\/div>\n                                <\/div>\n                            <\/div>\n                                                    <div x-ref=\"containerA\"\n                                 x-show=\"selectedTab === 3\"\n                                 @mouseenter=\"isDesktop ? pauseOnHover() : null\"\n                                 @mouseleave=\"isDesktop ? resumeOnHover() : null\"\n                                 class=\"flex flex-col-reverse lg:flex-row lg:justify-self-center lg:justify-between lg:mt-12 relative bg-white z-10 lg:-mx-8 max-w-[1216px] lg:min-h-[512px] xl:max-w-[1216px] rounded-lg mx-auto\">\n\n                                <!-- Left Column: Content -->\n                                <div class=\"w-full lg:w-1\/2\">\n                                    <div class=\"flex flex-col mb-5 mt-12\">\n                        <span class=\"hidden lg:flex text-3xl font-semibold mb-5\">\n                          Data Scrambling                        <\/span>\n                                        <span class=\"text-lg leading-7 text-[#2A3274]\">Pathlock protege los datos sensibles de producci\u00f3n en entornos que no son de producci\u00f3n con <b>codificaci\u00f3n que mantiene los datos realistas y funcionales.<\/b><\/span>\n                                    <\/div>\n\n                                    <ul class=\"flex flex-col gap-3 mb-12 text-[#2A3274]\">\n                                                                                    <li class=\"flex gap-3 items-start ps-4 text-lg leading-7\">\n                                                <svg class=\"rounded-full min-w-[28px] min-h-[28px] flex-shrink-0\" width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                    <g clip-path=\"url(#clip0_954_404)\">\n                                                        <rect width=\"28\" height=\"28\" transform=\"translate(0.5 0.799988)\" fill=\"#D5F6E0\"\/>\n                                                        <path d=\"M9.25 14.8L12.75 18.3L19.75 11.3\" stroke=\"#24B770\" stroke-width=\"2.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                                    <\/g>\n                                                    <defs>\n                                                        <clipPath id=\"clip0_954_404\">\n                                                            <path d=\"M0.5 14.8C0.5 7.068 6.76801 0.799988 14.5 0.799988C22.232 0.799988 28.5 7.068 28.5 14.8C28.5 22.532 22.232 28.8 14.5 28.8C6.76801 28.8 0.5 22.532 0.5 14.8Z\" fill=\"white\"\/>\n                                                        <\/clipPath>\n                                                    <\/defs>\n                                                <\/svg>\n                                                Conserva el formato de los datos y la integridad referencial.                                            <\/li>\n                                                                                    <li class=\"flex gap-3 items-start ps-4 text-lg leading-7\">\n                                                <svg class=\"rounded-full min-w-[28px] min-h-[28px] flex-shrink-0\" width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                    <g clip-path=\"url(#clip0_954_404)\">\n                                                        <rect width=\"28\" height=\"28\" transform=\"translate(0.5 0.799988)\" fill=\"#D5F6E0\"\/>\n                                                        <path d=\"M9.25 14.8L12.75 18.3L19.75 11.3\" stroke=\"#24B770\" stroke-width=\"2.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                                    <\/g>\n                                                    <defs>\n                                                        <clipPath id=\"clip0_954_404\">\n                                                            <path d=\"M0.5 14.8C0.5 7.068 6.76801 0.799988 14.5 0.799988C22.232 0.799988 28.5 7.068 28.5 14.8C28.5 22.532 22.232 28.8 14.5 28.8C6.76801 28.8 0.5 22.532 0.5 14.8Z\" fill=\"white\"\/>\n                                                        <\/clipPath>\n                                                    <\/defs>\n                                                <\/svg>\n                                                Reglas granulares para apuntar a campos o grupos espec\u00edficos.                                            <\/li>\n                                                                                    <li class=\"flex gap-3 items-start ps-4 text-lg leading-7\">\n                                                <svg class=\"rounded-full min-w-[28px] min-h-[28px] flex-shrink-0\" width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                    <g clip-path=\"url(#clip0_954_404)\">\n                                                        <rect width=\"28\" height=\"28\" transform=\"translate(0.5 0.799988)\" fill=\"#D5F6E0\"\/>\n                                                        <path d=\"M9.25 14.8L12.75 18.3L19.75 11.3\" stroke=\"#24B770\" stroke-width=\"2.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                                    <\/g>\n                                                    <defs>\n                                                        <clipPath id=\"clip0_954_404\">\n                                                            <path d=\"M0.5 14.8C0.5 7.068 6.76801 0.799988 14.5 0.799988C22.232 0.799988 28.5 7.068 28.5 14.8C28.5 22.532 22.232 28.8 14.5 28.8C6.76801 28.8 0.5 22.532 0.5 14.8Z\" fill=\"white\"\/>\n                                                        <\/clipPath>\n                                                    <\/defs>\n                                                <\/svg>\n                                                Garantiza el cumplimiento de RGPD, SOX e ITAR en control de calidad y capacitaci\u00f3n.                                            <\/li>\n                                                                            <\/ul>\n\n                                    <div class=\"flex items-center gap-12\">\n                                        \n                                                                            <\/div>\n\n                                                                    <\/div>\n\n                                <!-- Right Column: Image\/Animation -->\n                                <div class=\"lg:ps-8 w-full flex lg:w-1\/2 lg:flex-end lg:justify-end\">\n                                    <div class=\"bg-[#F5F6FC] w-full h-full lg:max-w-[512px] lg:max-h-[512px] flex rounded-xl lg:flex-end lg:items-center\">\n                                                                                    <canvas class=\"w-full h-full lg:max-w-[512px] lg:max-h-[512px]\" x-ref=\"riveCanvas3\" data-src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/09\/data_scrambling.riv\" width=\"512\" height=\"512\"><\/canvas>\n                                                                            <\/div>\n                                <\/div>\n                            <\/div>\n                                                    <div x-ref=\"containerA\"\n                                 x-show=\"selectedTab === 4\"\n                                 @mouseenter=\"isDesktop ? pauseOnHover() : null\"\n                                 @mouseleave=\"isDesktop ? resumeOnHover() : null\"\n                                 class=\"flex flex-col-reverse lg:flex-row lg:justify-self-center lg:justify-between lg:mt-12 relative bg-white z-10 lg:-mx-8 max-w-[1216px] lg:min-h-[512px] xl:max-w-[1216px] rounded-lg mx-auto\">\n\n                                <!-- Left Column: Content -->\n                                <div class=\"w-full lg:w-1\/2\">\n                                    <div class=\"flex flex-col mb-5 mt-12\">\n                        <span class=\"hidden lg:flex text-3xl font-semibold mb-5\">\n                          Dynamic Authorizations                        <\/span>\n                                        <span class=\"text-lg leading-7 text-[#2A3274]\">Pathlock <b>reemplaza la complejidad de roles est\u00e1ticos<\/b> con autorizaciones basadas en atributos, otorgando o restringiendo el acceso en tiempo real.<\/span>\n                                    <\/div>\n\n                                    <ul class=\"flex flex-col gap-3 mb-12 text-[#2A3274]\">\n                                                                                    <li class=\"flex gap-3 items-start ps-4 text-lg leading-7\">\n                                                <svg class=\"rounded-full min-w-[28px] min-h-[28px] flex-shrink-0\" width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                    <g clip-path=\"url(#clip0_954_404)\">\n                                                        <rect width=\"28\" height=\"28\" transform=\"translate(0.5 0.799988)\" fill=\"#D5F6E0\"\/>\n                                                        <path d=\"M9.25 14.8L12.75 18.3L19.75 11.3\" stroke=\"#24B770\" stroke-width=\"2.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                                    <\/g>\n                                                    <defs>\n                                                        <clipPath id=\"clip0_954_404\">\n                                                            <path d=\"M0.5 14.8C0.5 7.068 6.76801 0.799988 14.5 0.799988C22.232 0.799988 28.5 7.068 28.5 14.8C28.5 22.532 22.232 28.8 14.5 28.8C6.76801 28.8 0.5 22.532 0.5 14.8Z\" fill=\"white\"\/>\n                                                        <\/clipPath>\n                                                    <\/defs>\n                                                <\/svg>\n                                                Elimine los roles derivados y el redise\u00f1o manual.                                            <\/li>\n                                                                                    <li class=\"flex gap-3 items-start ps-4 text-lg leading-7\">\n                                                <svg class=\"rounded-full min-w-[28px] min-h-[28px] flex-shrink-0\" width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                    <g clip-path=\"url(#clip0_954_404)\">\n                                                        <rect width=\"28\" height=\"28\" transform=\"translate(0.5 0.799988)\" fill=\"#D5F6E0\"\/>\n                                                        <path d=\"M9.25 14.8L12.75 18.3L19.75 11.3\" stroke=\"#24B770\" stroke-width=\"2.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                                    <\/g>\n                                                    <defs>\n                                                        <clipPath id=\"clip0_954_404\">\n                                                            <path d=\"M0.5 14.8C0.5 7.068 6.76801 0.799988 14.5 0.799988C22.232 0.799988 28.5 7.068 28.5 14.8C28.5 22.532 22.232 28.8 14.5 28.8C6.76801 28.8 0.5 22.532 0.5 14.8Z\" fill=\"white\"\/>\n                                                        <\/clipPath>\n                                                    <\/defs>\n                                                <\/svg>\n                                                Aplique pol\u00edticas a todos los c\u00f3digos T y aplicaciones de SAP.                                            <\/li>\n                                                                                    <li class=\"flex gap-3 items-start ps-4 text-lg leading-7\">\n                                                <svg class=\"rounded-full min-w-[28px] min-h-[28px] flex-shrink-0\" width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                    <g clip-path=\"url(#clip0_954_404)\">\n                                                        <rect width=\"28\" height=\"28\" transform=\"translate(0.5 0.799988)\" fill=\"#D5F6E0\"\/>\n                                                        <path d=\"M9.25 14.8L12.75 18.3L19.75 11.3\" stroke=\"#24B770\" stroke-width=\"2.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                                    <\/g>\n                                                    <defs>\n                                                        <clipPath id=\"clip0_954_404\">\n                                                            <path d=\"M0.5 14.8C0.5 7.068 6.76801 0.799988 14.5 0.799988C22.232 0.799988 28.5 7.068 28.5 14.8C28.5 22.532 22.232 28.8 14.5 28.8C6.76801 28.8 0.5 22.532 0.5 14.8Z\" fill=\"white\"\/>\n                                                        <\/clipPath>\n                                                    <\/defs>\n                                                <\/svg>\n                                                Ad\u00e1ptese f\u00e1cilmente a los cambios empresariales y normativos.                                            <\/li>\n                                                                            <\/ul>\n\n                                    <div class=\"flex items-center gap-12\">\n                                        \n                                                                            <\/div>\n\n                                                                    <\/div>\n\n                                <!-- Right Column: Image\/Animation -->\n                                <div class=\"lg:ps-8 w-full flex lg:w-1\/2 lg:flex-end lg:justify-end\">\n                                    <div class=\"bg-[#F5F6FC] w-full h-full lg:max-w-[512px] lg:max-h-[512px] flex rounded-xl lg:flex-end lg:items-center\">\n                                                                                    <canvas class=\"w-full h-full lg:max-w-[512px] lg:max-h-[512px]\" x-ref=\"riveCanvas4\" data-src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/09\/dynamic_authorizations.riv\" width=\"512\" height=\"512\"><\/canvas>\n                                                                            <\/div>\n                                <\/div>\n                            <\/div>\n                                                    <div x-ref=\"containerA\"\n                                 x-show=\"selectedTab === 5\"\n                                 @mouseenter=\"isDesktop ? pauseOnHover() : null\"\n                                 @mouseleave=\"isDesktop ? resumeOnHover() : null\"\n                                 class=\"flex flex-col-reverse lg:flex-row lg:justify-self-center lg:justify-between lg:mt-12 relative bg-white z-10 lg:-mx-8 max-w-[1216px] lg:min-h-[512px] xl:max-w-[1216px] rounded-lg mx-auto\">\n\n                                <!-- Left Column: Content -->\n                                <div class=\"w-full lg:w-1\/2\">\n                                    <div class=\"flex flex-col mb-5 mt-12\">\n                        <span class=\"hidden lg:flex text-3xl font-semibold mb-5\">\n                          Logging and Alerts                        <\/span>\n                                        <span class=\"text-lg leading-7 text-[#2A3274]\">Pathlock <b>ofrece visibilidad continua del acceso a los datos de SAP<\/b> con registro, monitoreo y alertas en tiempo real.<\/span>\n                                    <\/div>\n\n                                    <ul class=\"flex flex-col gap-3 mb-12 text-[#2A3274]\">\n                                                                                    <li class=\"flex gap-3 items-start ps-4 text-lg leading-7\">\n                                                <svg class=\"rounded-full min-w-[28px] min-h-[28px] flex-shrink-0\" width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                    <g clip-path=\"url(#clip0_954_404)\">\n                                                        <rect width=\"28\" height=\"28\" transform=\"translate(0.5 0.799988)\" fill=\"#D5F6E0\"\/>\n                                                        <path d=\"M9.25 14.8L12.75 18.3L19.75 11.3\" stroke=\"#24B770\" stroke-width=\"2.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                                    <\/g>\n                                                    <defs>\n                                                        <clipPath id=\"clip0_954_404\">\n                                                            <path d=\"M0.5 14.8C0.5 7.068 6.76801 0.799988 14.5 0.799988C22.232 0.799988 28.5 7.068 28.5 14.8C28.5 22.532 22.232 28.8 14.5 28.8C6.76801 28.8 0.5 22.532 0.5 14.8Z\" fill=\"white\"\/>\n                                                        <\/clipPath>\n                                                    <\/defs>\n                                                <\/svg>\n                                                Paneles centralizados con registros de ejecuci\u00f3n                                            <\/li>\n                                                                                    <li class=\"flex gap-3 items-start ps-4 text-lg leading-7\">\n                                                <svg class=\"rounded-full min-w-[28px] min-h-[28px] flex-shrink-0\" width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                    <g clip-path=\"url(#clip0_954_404)\">\n                                                        <rect width=\"28\" height=\"28\" transform=\"translate(0.5 0.799988)\" fill=\"#D5F6E0\"\/>\n                                                        <path d=\"M9.25 14.8L12.75 18.3L19.75 11.3\" stroke=\"#24B770\" stroke-width=\"2.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                                    <\/g>\n                                                    <defs>\n                                                        <clipPath id=\"clip0_954_404\">\n                                                            <path d=\"M0.5 14.8C0.5 7.068 6.76801 0.799988 14.5 0.799988C22.232 0.799988 28.5 7.068 28.5 14.8C28.5 22.532 22.232 28.8 14.5 28.8C6.76801 28.8 0.5 22.532 0.5 14.8Z\" fill=\"white\"\/>\n                                                        <\/clipPath>\n                                                    <\/defs>\n                                                <\/svg>\n                                                Alertas configurables para actividades riesgosas o no compatibles                                            <\/li>\n                                                                                    <li class=\"flex gap-3 items-start ps-4 text-lg leading-7\">\n                                                <svg class=\"rounded-full min-w-[28px] min-h-[28px] flex-shrink-0\" width=\"29\" height=\"29\" viewBox=\"0 0 29 29\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                                    <g clip-path=\"url(#clip0_954_404)\">\n                                                        <rect width=\"28\" height=\"28\" transform=\"translate(0.5 0.799988)\" fill=\"#D5F6E0\"\/>\n                                                        <path d=\"M9.25 14.8L12.75 18.3L19.75 11.3\" stroke=\"#24B770\" stroke-width=\"2.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                                                    <\/g>\n                                                    <defs>\n                                                        <clipPath id=\"clip0_954_404\">\n                                                            <path d=\"M0.5 14.8C0.5 7.068 6.76801 0.799988 14.5 0.799988C22.232 0.799988 28.5 7.068 28.5 14.8C28.5 22.532 22.232 28.8 14.5 28.8C6.76801 28.8 0.5 22.532 0.5 14.8Z\" fill=\"white\"\/>\n                                                        <\/clipPath>\n                                                    <\/defs>\n                                                <\/svg>\n                                                Evidencia lista para auditor\u00eda de qui\u00e9n accedi\u00f3 a qu\u00e9 y cu\u00e1ndo                                            <\/li>\n                                                                            <\/ul>\n\n                                    <div class=\"flex items-center gap-12\">\n                                        \n                                                                            <\/div>\n\n                                                                    <\/div>\n\n                                <!-- Right Column: Image\/Animation -->\n                                <div class=\"lg:ps-8 w-full flex lg:w-1\/2 lg:flex-end lg:justify-end\">\n                                    <div class=\"bg-[#F5F6FC] w-full h-full lg:max-w-[512px] lg:max-h-[512px] flex rounded-xl lg:flex-end lg:items-center\">\n                                                                                    <canvas class=\"w-full h-full lg:max-w-[512px] lg:max-h-[512px]\" x-ref=\"riveCanvas5\" data-src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/09\/logging__alerts.riv\" width=\"512\" height=\"512\"><\/canvas>\n                                                                            <\/div>\n                                <\/div>\n                            <\/div>\n                                            <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n\n<script>\n    function tabComponent() {\n        return {\n            selectedTab: 1,\n            progress: 0,\n            riveInstances: {},\n            interval: null,\n            progressInterval: null,\n            intervalDuration: 12000,\n            lastAutoChangeTab: 1,\n            isHoverPaused: false,\n            elapsedTime: 0,\n            isDesktop: false,\n            totalTabs: 0,\n            isRTL: document.dir === 'rtl' || document.documentElement.dir === 'rtl',\n\n            checkScreenSize() {\n                this.isDesktop = window.innerWidth >= 1024;\n            },\n\n            getProgressBackground(progress) {\n                \/\/ RTL-aware progress bar background\n                if (this.isRTL) {\n                    return `background: linear-gradient(to left, #E3E7F6 ${progress}%, #F5F6FC ${progress}%);`;\n                }\n                return `background: linear-gradient(to right, #E3E7F6 ${progress}%, #F5F6FC ${progress}%);`;\n            },\n\n            setActiveTab(tabId) {\n                this.selectedTab = tabId;\n                this.lastAutoChangeTab = tabId;\n                this.resetProgressBar();\n\n                if (this.isDesktop) {\n                    this.pauseOnHover();\n                }\n\n                this.$nextTick(() => {\n                    this.initializeRiveForTab(tabId);\n                    this.resizeRiveCanvas();\n                });\n            },\n\n            updateProgress(value) {\n                this.progress = value;\n            },\n\n            pauseOnHover() {\n                if (!this.isDesktop) return;\n\n                if (!this.isHoverPaused) {\n                    this.isHoverPaused = true;\n                    if (this.progressInterval) {\n                        clearInterval(this.progressInterval);\n                        this.progressInterval = null;\n                    }\n                    if (this.interval) {\n                        clearInterval(this.interval);\n                        this.interval = null;\n                    }\n                }\n            },\n\n            resumeOnHover() {\n                if (!this.isDesktop) return;\n\n                if (this.isHoverPaused) {\n                    this.isHoverPaused = false;\n                    this.startProgressUpdate(this.elapsedTime);\n                    this.startAutoChange();\n                }\n            },\n\n            resetInterval() {\n                if (!this.isDesktop) return;\n\n                clearInterval(this.interval);\n                clearInterval(this.progressInterval);\n                this.progress = 0;\n                this.elapsedTime = 0;\n                this.startAutoChange();\n                this.startProgressUpdate();\n            },\n\n            startAutoChange() {\n                if (!this.isDesktop) return;\n\n                if (this.interval) {\n                    clearInterval(this.interval);\n                }\n\n                const remainingTime = this.intervalDuration - this.elapsedTime;\n\n                this.interval = setTimeout(() => {\n                    const nextTab = this.lastAutoChangeTab < this.totalTabs ? this.lastAutoChangeTab + 1 : 1;\n                    this.lastAutoChangeTab = nextTab;\n                    this.selectedTab = nextTab;\n                    this.resetProgressBar();\n                    this.initializeRiveForTab(nextTab);\n                    this.resizeRiveCanvas();\n\n                    this.startRegularAutoChange();\n                }, remainingTime);\n            },\n\n            startRegularAutoChange() {\n                if (!this.isDesktop) return;\n\n                if (this.interval) {\n                    clearInterval(this.interval);\n                }\n                this.interval = setInterval(() => {\n                    const nextTab = this.lastAutoChangeTab < this.totalTabs ? this.lastAutoChangeTab + 1 : 1;\n                    this.lastAutoChangeTab = nextTab;\n                    this.selectedTab = nextTab;\n                    this.resetProgressBar();\n                    this.initializeRiveForTab(nextTab);\n                    this.resizeRiveCanvas();\n                }, this.intervalDuration);\n            },\n\n            startProgressUpdate(startTime = 0) {\n                if (!this.isDesktop) return;\n\n                this.elapsedTime = startTime;\n                const step = 50;\n\n                if (this.progressInterval) {\n                    clearInterval(this.progressInterval);\n                }\n\n                this.progressInterval = setInterval(() => {\n                    this.elapsedTime += step;\n                    this.updateProgress((this.elapsedTime \/ this.intervalDuration) * 100);\n\n                    if (this.elapsedTime >= this.intervalDuration) {\n                        this.elapsedTime = 0;\n                        this.updateProgress(0);\n                    }\n                }, step);\n            },\n\n            pauseActiveRiveAnimation() {\n                if (this.riveInstances[this.selectedTab]) {\n                    try {\n                        this.riveInstances[this.selectedTab].pause();\n                    } catch(e) {\n                        console.log('Pause not available for this Rive instance');\n                    }\n                }\n            },\n\n            resumeActiveRiveAnimation() {\n                if (this.riveInstances[this.selectedTab]) {\n                    try {\n                        this.riveInstances[this.selectedTab].play();\n                    } catch(e) {\n                        console.log('Play not available for this Rive instance');\n                    }\n                }\n            },\n\n            initializeRiveForTab(tabId) {\n                const canvas = this.$refs[`riveCanvas${tabId}`];\n                if (!canvas) return;\n\n                if (this.riveInstances[tabId]) {\n                    try {\n                        this.riveInstances[tabId].stop();\n                        this.riveInstances[tabId].cleanup();\n                    } catch(e) {}\n                }\n\n                const src = canvas.dataset.src;\n                if (!src) return;\n\n                if (canvas.parentElement) {\n                    const container = canvas.parentElement;\n                    canvas.width = container.clientWidth;\n                    canvas.height = container.clientHeight;\n                }\n\n                \/\/  ArrayBuffer insted src to fix console error loading file; may be corrupted\n                fetch(src)\n                    .then(res => {\n                        if (!res.ok) throw new Error(`Failed to fetch .riv: ${res.status}`);\n                        return res.arrayBuffer();\n                    })\n                    .then(buffer => {\n                        this.riveInstances[tabId] = new rive.Rive({\n                            buffer: buffer,\n                            canvas: canvas,\n                            autoplay: true,\n                            onLoad: () => {\n                                this.riveInstances[tabId].resizeDrawingSurfaceToCanvas();\n                            },\n                            onError: (error) => {\n                                console.error(`Rive error for tab ${tabId}:`, error);\n                            },\n                        });\n                    })\n                    .catch(err => {\n                        console.error(`Error loading .riv for tab ${tabId}:`, err);\n                    });\n            },\n\n            resizeRiveCanvas() {\n                setTimeout(() => {\n                    const activeCanvas = this.$refs[`riveCanvas${this.selectedTab}`];\n                    if (activeCanvas && this.riveInstances[this.selectedTab]) {\n                        const container = activeCanvas.parentElement;\n                        const containerWidth = container.clientWidth;\n                        const containerHeight = container.clientHeight;\n\n                        activeCanvas.width = containerWidth;\n                        activeCanvas.height = containerHeight;\n\n                        try {\n                            this.riveInstances[this.selectedTab].resizeDrawingSurfaceToCanvas();\n                        } catch(e) {\n                            console.log('Error resizing Rive canvas:', e);\n                        }\n                    }\n                }, 10);\n            },\n\n            countTotalTabs() {\n                let count = 0;\n                for (let i = 1; ; i++) {\n                    const canvas = this.$refs[`riveCanvas${i}`];\n                    if (!canvas) break;\n                    count++;\n                }\n                this.totalTabs = count;\n                return count;\n            },\n\n            initPlayers() {\n                setTimeout(() => {\n                    this.countTotalTabs();\n\n                    if (this.totalTabs > 0) {\n                        this.selectedTab = 1;\n                        this.lastAutoChangeTab = 1;\n\n                        this.initializeRiveForTab(1);\n\n                        if (this.isDesktop) {\n                            this.startRegularAutoChange();\n                            this.startProgressUpdate();\n                        }\n                    } else {\n                        console.warn(\"No Rive animations found.\");\n                    }\n                }, 50);\n            },\n\n            resetProgressBar() {\n                if (!this.isDesktop) {\n                    this.progress = 0;\n                    return;\n                }\n\n                this.elapsedTime = 0;\n                this.updateProgress(0);\n                if (this.progressInterval) {\n                    clearInterval(this.progressInterval);\n                }\n                this.startProgressUpdate();\n            },\n\n            handleResize() {\n                const wasDesktop = this.isDesktop;\n                this.checkScreenSize();\n\n                if (!wasDesktop && this.isDesktop) {\n                    this.startRegularAutoChange();\n                    this.startProgressUpdate();\n                } else if (wasDesktop && !this.isDesktop) {\n                    if (this.interval) {\n                        clearInterval(this.interval);\n                        this.interval = null;\n                    }\n                    if (this.progressInterval) {\n                        clearInterval(this.progressInterval);\n                        this.progressInterval = null;\n                    }\n                    this.progress = 0;\n                    this.elapsedTime = 0;\n                    this.isHoverPaused = false;\n                }\n\n                this.resizeRiveCanvas();\n            },\n\n            init() {\n                this.$nextTick(() => {\n                    this.checkScreenSize();\n                    this.initPlayers();\n\n                    window.addEventListener('resize', () => {\n                        this.handleResize();\n                    });\n                });\n            }\n        };\n    }\n<\/script>\n\n\n\n\n<script type=\"module\" src=\"https:\/\/fast.wistia.com\/embed\/api.js\" async><\/script>\n<script src=\"https:\/\/fast.wistia.com\/assets\/external\/E-v1.js\" async><\/script>\n\n<section id=\"centro-de-demostraciones\"\n         class=\"bg-white py-8 lg:py-12 scroll-mt-28 mb-4 lg:mb-12\">\n    <div class=\"container mx-auto px-4 lg:px-8\">\n        <div class=\"relative\">\n            <div class=\"text-center flex flex-col justify-center items-center\">\n                <span class=\"text-[#148752] text-sm font-bold uppercase leading-[30px] tracking-wider mb-3\">CENTRO DE DEMOSTRACIONES<\/span>\n\n                                    <h2 class=\"tracking-tight text-3xl leading-[38px] lg:text-5xl font-semibold mb-4 lg:mb-5 max-w-[720px] lg:!leading-[60px]\">Ver Pathlock en acci\u00f3n<\/h2>\n                \n                                    <div class=\"text-lg lg:text-xl font-normal text-[#2A3274] max-w-[720px]\">\n                        Realice un recorrido autoguiado del producto en el navegador, sin necesidad de implementaci\u00f3n. O elija una demostraci\u00f3n en video para ver la soluci\u00f3n en acci\u00f3n.                    <\/div>\n                \n\n                                    <div class=\"flex w-full flex-wrap md:gap-x-8 gap-y-[48px] mt-12 lg:mt-16 justify-center items-stretch\"\n                         id=\"demo-cards-container\">\n\n                                                    \n                            <div class=\"relative w-full sm:w-[calc(50%-16px)] lg:w-[calc(33.333%-22px)] md:max-w-[384px] rounded-lg group\/item flex flex-col justify-start items-center hover:scale-110 transition-transform ease-in-out duration-300 h-full demo-card\">\n                                                                    <div class=\"rounded-lg px-4 lg:px-6 z-10\">\n                                        <img decoding=\"async\" src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/09\/Image-11.webp\"\n                                             alt=\"\"\n                                             class=\"rounded-lg no-override w-full flex items-center justify-center max-h-[180px]\"\/>\n                                    <\/div>\n                                                                <div class=\"relative rounded-lg pt-[93px] -mt-[77px] outline outline-1 outline-offset-[-1px] outline-[#E3E7F6] group-hover\/item:[box-shadow:0px_12px_16px_0px_rgba(15,21,86,0.05),_0px_4px_6px_-2px_rgba(15,21,86,0)] flex flex-col h-full\">\n                                    <div class=\"px-6 flex flex-col w-full justify-start items-start mb-6 flex-grow\">\n                                        <h3 class=\"self-stretch text-left justify-start text-[#0F1556] text-xl font-semibold leading-[30px] mb-3\">Control din\u00e1mico y acceso seguro a los datos de SAP<\/h3>\n                                        <p class=\"text-left justify-start text-[#2A3274] text-base font-normal leading-normal flex-grow mb-4\">Enmascare, codifique y evite el acceso no autorizado a los datos para minimizar la explosi\u00f3n de roles y reducir el riesgo de vulneraciones en sus sistemas SAP.<\/p>\n                                    <\/div>\n                                    <div class=\"flex flex-col lg:flex-row border-t border-[#E3E7F6] p-6 w-full justify-between items-center gap-y-4 mt-auto\">\n                                                                                    <div class=\"flex grow w-full lg:w-auto\">\n                                                <a class=\"h-12 w-full lg:w-auto px-[18px] py-3 bg-white hover:bg-[#E3E7F6] transition-colors duration-300 rounded-lg shadow-[0px_1px_2px_0px_rgba(16,24,40,0.05)] border border-[#e3e7f6] justify-center items-center gap-1.5 inline-flex overflow-hidden\"\n                                                   href=\"\/es\/browser-tours\/pathlock-dynamic-access-controls\/\"\n                                                   target=\"\">\n                                                    <div class=\"px-0.5 justify-center items-center flex\">\n                                                        <span class=\"text-[#0f1556] text-base font-semibold leading-normal\">Recorrido en l\u00ednea<\/span>\n                                                    <\/div>\n                                                <\/a>\n                                            <\/div>\n                                                                                                                    <\/div>\n                                <\/div>\n                            <\/div>\n                                                    \n                            <div class=\"relative w-full sm:w-[calc(50%-16px)] lg:w-[calc(33.333%-22px)] md:max-w-[384px] rounded-lg group\/item flex flex-col justify-start items-center hover:scale-110 transition-transform ease-in-out duration-300 h-full demo-card\">\n                                                                    <div class=\"rounded-lg px-4 lg:px-6 z-10\">\n                                        <img decoding=\"async\" src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/09\/Image-12.webp\"\n                                             alt=\"\"\n                                             class=\"rounded-lg no-override w-full flex items-center justify-center max-h-[180px]\"\/>\n                                    <\/div>\n                                                                <div class=\"relative rounded-lg pt-[93px] -mt-[77px] outline outline-1 outline-offset-[-1px] outline-[#E3E7F6] group-hover\/item:[box-shadow:0px_12px_16px_0px_rgba(15,21,86,0.05),_0px_4px_6px_-2px_rgba(15,21,86,0)] flex flex-col h-full\">\n                                    <div class=\"px-6 flex flex-col w-full justify-start items-start mb-6 flex-grow\">\n                                        <h3 class=\"self-stretch text-left justify-start text-[#0F1556] text-xl font-semibold leading-[30px] mb-3\">Enmascarar PII y otra informaci\u00f3n sensible en SAP<\/h3>\n                                        <p class=\"text-left justify-start text-[#2A3274] text-base font-normal leading-normal flex-grow mb-4\">Vea c\u00f3mo se crean y aplican pol\u00edticas de acceso din\u00e1micas para enmascarar PII y proteger datos sensibles de las vulneraciones seg\u00fan los roles y las ubicaciones de los usuarios.<\/p>\n                                    <\/div>\n                                    <div class=\"flex flex-col lg:flex-row border-t border-[#E3E7F6] p-6 w-full justify-between items-center gap-y-4 mt-auto\">\n                                                                                                                            <button dir=\"ltr\" id=\"demo2\"\n                                                    data-videoId=\"bi3urlvj3x\"\n                                                    onclick=\"openModal('bi3urlvj3x')\"\n                                                    class=\"video_btn flex flex-row  w-full justify-center lg:w-auto group\/link pr-[12px] py-3 items-center\">\n                        <span class=\"mr-2  rtl:rotate-180\">\n                          <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\"\n                               xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <g clip-path=\"url(#clip0_63_31)\">\n                            <path d=\"M9.99999 18.3334C14.6024 18.3334 18.3333 14.6024 18.3333 10C18.3333 5.39765 14.6024 1.66669 9.99999 1.66669C5.39762 1.66669 1.66666 5.39765 1.66666 10C1.66666 14.6024 5.39762 18.3334 9.99999 18.3334Z\"\n                                  class=\"stroke-[#0F1556] group-hover\/link:stroke-[#24b770] transition-colors duration-300\"\n                                  stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                            <path d=\"M7.91666 7.47113C7.91666 7.07339 7.91666 6.87452 7.99978 6.7635C8.07221 6.66675 8.18308 6.60622 8.30364 6.59761C8.44198 6.58773 8.60926 6.69527 8.94383 6.91035L12.8777 9.43923C13.168 9.62587 13.3131 9.71919 13.3633 9.83785C13.4071 9.94152 13.4071 10.0585 13.3633 10.1622C13.3131 10.2809 13.168 10.3742 12.8777 10.5608L8.94383 13.0897C8.60926 13.3048 8.44198 13.4123 8.30364 13.4024C8.18308 13.3938 8.07221 13.3333 7.99978 13.2365C7.91666 13.1255 7.91666 12.9266 7.91666 12.5289V7.47113Z\"\n                                  class=\"stroke-[#0F1556] group-hover\/link:stroke-[#24b770] transition-colors duration-300\"\n                                  stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                            <\/g>\n                            <defs>\n                            <clipPath id=\"clip0_63_31\">\n                            <rect width=\"20\" height=\"20\" fill=\"white\"\/>\n                            <\/clipPath>\n                            <\/defs>\n                          <\/svg>\n                        <\/span>\n                                                <span class=\"text-[#0f1556] text-base font-semibold leading-normal group-hover\/link:text-[#24b770] transition-colors duration-300\">Demo video<\/span>\n                                            <\/button>\n                                                                            <\/div>\n                                <\/div>\n                            <\/div>\n                        \n                    <\/div>\n                            <\/div>\n        <\/div>\n    <\/div>\n    <div id=\"modal\" class=\"fixed inset-0 z-50 hidden\">\n        <div\n                id=\"modal-backdrop\"\n                class=\"fixed  z-10 inset-0 bg-[#0f1556] bg-opacity-60 transition-opacity duration-300 opacity-0\"><\/div>\n\n        <div class=\"fixed inset-0 max-w-[1000px] mx-auto z-20 flex items-center justify-center p-4\">\n            <div\n                    id=\"modal-content\"\n                    class=\"rounded-lg max-w-5xl overflow-hidden w-full mx-4 relative transform scale-90 opacity-0 transition-all duration-300\">\n\n                <div class=\"flex justify-end items-center p-4 absolute z-10 right-4\">\n                    <button\n                            id=\"close-modal\"\n                            onclick=\"closeModal()\"\n                            aria-label=\"Close modal\"\n                            class=\"bg-white hover:bg-gray-100 text-gray-800 p-2 rounded-full focus:outline-none\">\n                        <svg\n                                class=\"h-4 w-4\"\n                                fill=\"none\"\n                                stroke=\"currentColor\"\n                                viewBox=\"0 0 24 24\"\n                                xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path\n                                    stroke-linecap=\"round\"\n                                    stroke-linejoin=\"round\"\n                                    stroke-width=\"2\"\n                                    d=\"M6 18L18 6M6 6l12 12\"><\/path>\n                        <\/svg>\n                    <\/button>\n                <\/div>\n                <div class=\"p-4 pt-0\">\n                    <div id=\"wistia-video-container\" class=\"w-full aspect-video\" style=\"aspect-ratio: 16 \/ 9;\"><\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n<script>\n    const modalOverlay = document.getElementById('modal-backdrop');\n\n    modalOverlay.addEventListener('click', function (event) {\n\n        closeModal();\n    });\n\n    function animateModalOpen(modalBackdrop, modalContent) {\n        modalBackdrop.style.opacity = '1';\n        modalContent.style.opacity = '1';\n        modalContent.style.transform = 'scale(1)';\n    }\n\n    function openModal(mediaId) {\n        document.body.classList.add('modal-open');\n        const modal = document.getElementById('modal');\n        const modalBackdrop = document.getElementById('modal-backdrop');\n        const modalContent = document.getElementById('modal-content');\n\n        modal.classList.remove('hidden');\n        createWistiaVideo(mediaId);\n\n\n        setTimeout(() => animateModalOpen(modalBackdrop, modalContent), 300);\n    }\n\n    function closeModal() {\n        const modal = document.getElementById('modal');\n        const modalBackdrop = document.getElementById('modal-backdrop');\n        const modalContent = document.getElementById('modal-content');\n\n        modalBackdrop.style.opacity = '0';\n        modalContent.style.opacity = '0';\n        modalContent.style.transform = 'scale(0.9)';\n\n        setTimeout(() => {\n            modal.classList.add('hidden');\n        }, 300);\n        document.body.classList.remove('modal-open');\n    }\n\n    document.addEventListener('keydown', function (event) {\n        if (event.key === 'Escape') {\n            closeModal();\n        }\n    });\n\n    function createWistiaVideo(mediaId) {\n\n        const container = document.getElementById('wistia-video-container');\n        if (container) {\n            container.innerHTML = '';\n\n\n            const videoDiv = document.createElement('div');\n            videoDiv.className = 'wistia_embed wistia_async_' + mediaId;\n            videoDiv.style.height = '100%';\n            videoDiv.style.width = '100%';\n            container.appendChild(videoDiv);\n\n            \/\/ Initialize Wistia\n            window._wq = window._wq || [];\n            window._wq.push({\n                id: mediaId,\n                onReady: (video) => {\n                    this.wistiaEmbed = video;\n                    video.play();\n                }\n            });\n\n\n        }\n    }\n\n    document.addEventListener('DOMContentLoaded', function () {\n        const hash = window.location.hash.substring(1);\n        \n        if (!hash) return;\n\n        const anchor = document.getElementById(hash);\n\n        if (anchor) {\n            const videoId = anchor.getAttribute('data-videoId');\n\n            setTimeout(() => {\n                anchor.scrollIntoView({\n                    behavior: 'smooth',\n                    block: 'center'\n                });\n            }, 100);\n\n            if (videoId) {\n                setTimeout(() => {\n                    openModal(videoId);\n                }, 500);\n            }\n\n        }\n    });\n\n    \/\/ Function to equalize card heights\n    function equalizeCardHeights() {\n        const container = document.getElementById('demo-cards-container');\n        if (!container) return;\n\n        const cards = container.querySelectorAll('.demo-card');\n        if (cards.length === 0) return;\n\n        \/\/ Reset heights first\n        cards.forEach(card => {\n            card.style.height = 'auto';\n        });\n\n        \/\/ Group cards by rows\n        const rows = [];\n        let currentRow = [];\n        let currentTop = null;\n\n        cards.forEach((card, index) => {\n            const rect = card.getBoundingClientRect();\n            const cardTop = rect.top;\n\n            if (currentTop === null || Math.abs(cardTop - currentTop) < 10) {\n                \/\/ Same row\n                currentRow.push(card);\n                currentTop = cardTop;\n            } else {\n                \/\/ New row\n                if (currentRow.length > 0) {\n                    rows.push(currentRow);\n                }\n                currentRow = [card];\n                currentTop = cardTop;\n            }\n\n            \/\/ Add last row\n            if (index === cards.length - 1) {\n                rows.push(currentRow);\n            }\n        });\n\n        \/\/ Equalize heights within each row\n        rows.forEach(row => {\n            let maxHeight = 0;\n            row.forEach(card => {\n                const height = card.offsetHeight;\n                if (height > maxHeight) {\n                    maxHeight = height;\n                }\n            });\n\n            row.forEach(card => {\n                card.style.height = maxHeight + 'px';\n            });\n        });\n    }\n\n    \/\/ Run on load and resize\n    document.addEventListener('DOMContentLoaded', function () {\n        \/\/ Equalize card heights\n        equalizeCardHeights();\n\n        \/\/ Run again after images load\n        const images = document.querySelectorAll('.demo-card img');\n        let loadedImages = 0;\n        images.forEach(img => {\n            if (img.complete) {\n                loadedImages++;\n            } else {\n                img.addEventListener('load', () => {\n                    loadedImages++;\n                    if (loadedImages === images.length) {\n                        equalizeCardHeights();\n                    }\n                });\n            }\n        });\n\n        if (loadedImages === images.length) {\n            equalizeCardHeights();\n        }\n\n        \/\/ Handle window resize\n        let resizeTimeout;\n        window.addEventListener('resize', () => {\n            clearTimeout(resizeTimeout);\n            resizeTimeout = setTimeout(() => {\n                equalizeCardHeights();\n            }, 250);\n        });\n\n        \/\/ Existing toggle functionality\n        const toggleButtons = document.querySelectorAll('.button__toggle, .card__title');\n\n        toggleButtons.forEach(button => {\n            button.addEventListener('click', function () {\n\n                if (window.innerWidth >= 864) {\n                    return;\n                }\n\n                const cardInnerContainer = button.closest('.card__inner-container');\n                const textContainer = cardInnerContainer?.querySelector('.card-vgt__text-container');\n                const cardVgt = button.closest('.card-vgt');\n                const currentHeight = cardInnerContainer.offsetHeight;\n\n\n                const closeIcon = button.querySelector('.icon_toggle.close');\n                const openIcon = button.querySelector('.icon_toggle.open');\n\n                if (closeIcon && openIcon) {\n                    closeIcon.classList.toggle('hidden');\n                    openIcon.classList.toggle('hidden');\n                }\n\n                if (cardInnerContainer) {\n                    if (cardInnerContainer.style.maxHeight === '600px') {\n                        cardInnerContainer.style.maxHeight = '';\n                    } else {\n                        cardInnerContainer.style.maxHeight = '600px';\n                    }\n                }\n\n                const newHeight = cardInnerContainer.offsetHeight;\n                const heightDifference = newHeight - currentHeight;\n                const currentMarginBottom = parseFloat(window.getComputedStyle(cardVgt).marginBottom);\n                const newMarginBottom = currentMarginBottom + heightDifference;\n\n                if (textContainer) {\n                    textContainer.classList.toggle('desktop');\n                }\n                if (cardVgt) {\n                    if (newMarginBottom > currentMarginBottom) {\n                        cardVgt.style.marginBottom = `${newMarginBottom}px`;\n\n                    } else {\n                        cardVgt.style.marginBottom = '100px';\n                    }\n                }\n            });\n        });\n    });\n<\/script>\n\n\n\n  <section class=\"relative container mx-auto px-4 lg:px-8  my-8 lg:mt-12 mb-24\">\n  <div class=\"relative overflow-hidden  rounded-xl mx-auto inset-0 flex items-center justify-center container  text-white bg-gradient-to-b from-[#0e1b7a] to-[#0f1556]\">\n    <div id=\"bg-image\" class=\"hidden lg:block absolute top-0 right-0 w-full h-full z-0\">\n      <img decoding=\"async\" class=\"no-override absolute inset-0 w-full h-full object-cover object-right\" src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2023\/08\/bg-svg-source.webp\" alt=\"\" \/>\n    <\/div>\n    <div class=\"z-10 w-full lg:w-[65%] flex flex-col items-center lg:items-start px-4 py-12 lg:p-16 h-full text-center lg:text-left lg:rtl:text-right\">\n      <div class=\"mb-8 h-6\">\n                    <img decoding=\"async\" class=\"no-override\" src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2024\/11\/Auto-Layout-Horizontal.svg\" alt=\"\"\/>\n                <\/div>\n      <h2 class=\"text-[24px] leading-[32px] lg:text-[30px] lg:leading-[38px] font-medium mb-8 max-w-[615px]\">\u201cDAC es un m\u00f3dulo que rara vez se encuentra en este tipo de soluci\u00f3n. Permite a las organizaciones definir que la informaci\u00f3n sensible se enmascare de forma din\u00e1mica, seg\u00fan pol\u00edticas personalizables\u201d.\t<\/h2>\n      <div class=\"text-base font-semibold leading-normal\">Vista ejecutiva del informe Cybersecurity Application Controls de Pathlock\t<\/div>\n      <div class=\"w-full lg:w-auto mt-6 lg:mt-12\">\n        <a class=\"flex justify-center items-center font-semibold py-3 px-[18px] bg-[white] hover:bg-[#E3E7F6] group leading-7  rounded-lg text-[#344054] transition-colors duration-300\" href=\"https:\/\/pathlock.com\/es\/resource\/kuppinger-cole-executive-view-pathlock-cybersecurity-application-controls\/\" rel=\"noopener\" target=\"_blank\">Descargar informe completo (.PDF)        <\/a>\n      <\/div>  \n    <\/div>\n    <div class=\"z-10 hidden lg:flex justify-center align-center lg:w-[40%] px-4 py-12 lg:p-16 \">\n      <img decoding=\"async\" class=\"no-override z-10\" src=\"https:\/\/pathlock.com\/wp-content\/uploads\/2023\/08\/KC-report-image.png\"  alt=\"\"\/>\n    <\/div>\n  <\/div>\n<\/section> \n         ","protected":false},"featured_media":0,"parent":0,"template":"","categories":[],"products_type":[],"class_list":["post-43591","products","type-products","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Dynamic Access Control m\u00e1s inteligente para SAP | DAC de Pathlock<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/pathlock.com\/es\/products\/dynamic-access-control\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dynamic Access Control m\u00e1s inteligente para SAP | DAC de Pathlock\" \/>\n<meta property=\"og:description\" content=\"Proteja los datos sensibles de SAP con Dynamic Access Control (DAC) de Pathlock. Aplique seguridad, enmascaramiento, codificaci\u00f3n y bloqueo basados en atributos en tiempo real para garantizar el cumplimiento, reducir los riesgos y eliminar la complejidad de roles.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/pathlock.com\/es\/products\/dynamic-access-control\/\" \/>\n<meta property=\"og:site_name\" content=\"Pathlock\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-13T11:15:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/OpenGraph-Pathlock-Logo.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Dynamic Access Control m\u00e1s inteligente para SAP | DAC de Pathlock\" \/>\n<meta name=\"twitter:description\" content=\"Proteja los datos sensibles de SAP con Dynamic Access Control (DAC) de Pathlock. Aplique seguridad, enmascaramiento, codificaci\u00f3n y bloqueo basados en atributos en tiempo real para garantizar el cumplimiento, reducir los riesgos y eliminar la complejidad de roles.\" \/>\n<meta name=\"twitter:site\" content=\"@pathlock\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/products\\\/dynamic-access-control\\\/\",\"url\":\"https:\\\/\\\/pathlock.com\\\/es\\\/products\\\/dynamic-access-control\\\/\",\"name\":\"Dynamic Access Control m\u00e1s inteligente para SAP | DAC de Pathlock\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/#website\"},\"datePublished\":\"2025-09-19T09:27:52+00:00\",\"dateModified\":\"2025-11-13T11:15:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/products\\\/dynamic-access-control\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/pathlock.com\\\/es\\\/products\\\/dynamic-access-control\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/products\\\/dynamic-access-control\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/pathlock.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dynamic Access Control\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/pathlock.com\\\/es\\\/\",\"name\":\"Pathlock\",\"description\":\"The Leader in Application Security and Controls Automation\",\"publisher\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/pathlock.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/#organization\",\"name\":\"Pathlock, Inc\",\"url\":\"https:\\\/\\\/pathlock.com\\\/es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/pathlock.com\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/Zrzut-ekranu-2021-11-17-o-10.56.42.png\",\"contentUrl\":\"https:\\\/\\\/pathlock.com\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/Zrzut-ekranu-2021-11-17-o-10.56.42.png\",\"width\":460,\"height\":148,\"caption\":\"Pathlock, Inc\"},\"image\":{\"@id\":\"https:\\\/\\\/pathlock.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/pathlock\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/pathlock\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCgo4izMJ70K4gnyWQ_mP-OA\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Dynamic Access Control m\u00e1s inteligente para SAP | DAC de Pathlock","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/pathlock.com\/es\/products\/dynamic-access-control\/","og_locale":"es_ES","og_type":"article","og_title":"Dynamic Access Control m\u00e1s inteligente para SAP | DAC de Pathlock","og_description":"Proteja los datos sensibles de SAP con Dynamic Access Control (DAC) de Pathlock. Aplique seguridad, enmascaramiento, codificaci\u00f3n y bloqueo basados en atributos en tiempo real para garantizar el cumplimiento, reducir los riesgos y eliminar la complejidad de roles.","og_url":"https:\/\/pathlock.com\/es\/products\/dynamic-access-control\/","og_site_name":"Pathlock","article_modified_time":"2025-11-13T11:15:32+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/pathlock.com\/wp-content\/uploads\/2025\/06\/OpenGraph-Pathlock-Logo.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_title":"Dynamic Access Control m\u00e1s inteligente para SAP | DAC de Pathlock","twitter_description":"Proteja los datos sensibles de SAP con Dynamic Access Control (DAC) de Pathlock. Aplique seguridad, enmascaramiento, codificaci\u00f3n y bloqueo basados en atributos en tiempo real para garantizar el cumplimiento, reducir los riesgos y eliminar la complejidad de roles.","twitter_site":"@pathlock","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/pathlock.com\/es\/products\/dynamic-access-control\/","url":"https:\/\/pathlock.com\/es\/products\/dynamic-access-control\/","name":"Dynamic Access Control m\u00e1s inteligente para SAP | DAC de Pathlock","isPartOf":{"@id":"https:\/\/pathlock.com\/es\/#website"},"datePublished":"2025-09-19T09:27:52+00:00","dateModified":"2025-11-13T11:15:32+00:00","breadcrumb":{"@id":"https:\/\/pathlock.com\/es\/products\/dynamic-access-control\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/pathlock.com\/es\/products\/dynamic-access-control\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/pathlock.com\/es\/products\/dynamic-access-control\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/pathlock.com\/es\/"},{"@type":"ListItem","position":2,"name":"Dynamic Access Control"}]},{"@type":"WebSite","@id":"https:\/\/pathlock.com\/es\/#website","url":"https:\/\/pathlock.com\/es\/","name":"Pathlock","description":"The Leader in Application Security and Controls Automation","publisher":{"@id":"https:\/\/pathlock.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pathlock.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/pathlock.com\/es\/#organization","name":"Pathlock, Inc","url":"https:\/\/pathlock.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/pathlock.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/pathlock.com\/wp-content\/uploads\/2021\/11\/Zrzut-ekranu-2021-11-17-o-10.56.42.png","contentUrl":"https:\/\/pathlock.com\/wp-content\/uploads\/2021\/11\/Zrzut-ekranu-2021-11-17-o-10.56.42.png","width":460,"height":148,"caption":"Pathlock, Inc"},"image":{"@id":"https:\/\/pathlock.com\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/pathlock","https:\/\/www.linkedin.com\/company\/pathlock","https:\/\/www.youtube.com\/channel\/UCgo4izMJ70K4gnyWQ_mP-OA"]}]}},"ACF":false,"_links":{"self":[{"href":"https:\/\/pathlock.com\/es\/wp-json\/wp\/v2\/products\/43591","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pathlock.com\/es\/wp-json\/wp\/v2\/products"}],"about":[{"href":"https:\/\/pathlock.com\/es\/wp-json\/wp\/v2\/types\/products"}],"wp:attachment":[{"href":"https:\/\/pathlock.com\/es\/wp-json\/wp\/v2\/media?parent=43591"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pathlock.com\/es\/wp-json\/wp\/v2\/categories?post=43591"},{"taxonomy":"products_type","embeddable":true,"href":"https:\/\/pathlock.com\/es\/wp-json\/wp\/v2\/products_type?post=43591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}