{"id":36990,"date":"2026-06-05T11:50:42","date_gmt":"2026-06-05T08:50:42","guid":{"rendered":"https:\/\/leovoid.com\/nube-e-infraestructura\/"},"modified":"2026-07-08T11:46:44","modified_gmt":"2026-07-08T08:46:44","slug":"nube-e-infraestructura","status":"publish","type":"page","link":"https:\/\/leovoid.com\/es\/nube-e-infraestructura\/","title":{"rendered":"Nube e Infraestructura"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"36990\" class=\"elementor elementor-36990 elementor-33032\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-80d2c65 e-con-full e-flex e-con e-parent \" data-id=\"80d2c65\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\"><div class=\"elementor-element elementor-element-fe772fb e-con-full e-flex e-con e-child \" data-id=\"fe772fb\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;none&quot;}\">\t\t<div class=\"elementor-element elementor-element-871a77f elementor-widget elementor-widget-heading\" data-id=\"871a77f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Infraestructura Dise\u00f1ada para la <br>Fiabilidad, la Seguridad y la Escalabilidad.<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e1fe9d elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"8e1fe9d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>La mayor\u00eda de las infraestructuras se improvisan bajo presi\u00f3n. La nuestra se dise\u00f1a con intenci\u00f3n. Construida para las cargas de trabajo que tienes hoy, y arquitectada para las que a\u00fan no has planificado.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4c90a67 explore-services-btn slx-open-trigger elementor-hidden-mobile_extra elementor-hidden-mobile elementor-widget elementor-widget-pxl_button\" data-id=\"4c90a67\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation_mobile&quot;:&quot;none&quot;,&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"pxl_button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_button-4c90a67-3739\"\r\n     class=\"pxl-button pxl-button--btn-default btn__link \"\r\n     data-wow-delay=\"ms\"\r\n     data-onepage-offset=\"\">\r\n                     <a href=\"#\"  class=\"btn  btn-glossy btn__icon-active  btn-default btn__icon-right  btn-hv-default\">\r\n                    <span class=\"btn-icon\">\r\n                <i aria-hidden=\"true\" class=\"fal fa-long-arrow-right\"><\/i>            <\/span>\r\n                            <span class=\"btn-text\" data-text=\"Deja de Adaptarte, Empieza a Construir\">\r\n                Deja de Adaptarte, Empieza a Construir            <\/span>\r\n            <\/a>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aecf47d explore-services-btn slx-open-trigger elementor-hidden-desktop elementor-hidden-laptop elementor-hidden-tablet_extra elementor-hidden-tablet elementor-widget elementor-widget-pxl_button\" data-id=\"aecf47d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation_mobile&quot;:&quot;none&quot;,&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"pxl_button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_button-aecf47d-8506\"\r\n     class=\"pxl-button pxl-button--btn-default btn__link \"\r\n     data-wow-delay=\"ms\"\r\n     data-onepage-offset=\"\">\r\n                     <a href=\"#\"  class=\"btn  btn-glossy btn__icon-active  btn-default btn__icon-right  btn-hv-default\">\r\n                    <span class=\"btn-icon\">\r\n                <i aria-hidden=\"true\" class=\"fal fa-long-arrow-right\"><\/i>            <\/span>\r\n                            <span class=\"btn-text\" data-text=\"Empieza a Construir\">\r\n                Empieza a Construir            <\/span>\r\n            <\/a>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-a5b3e7d e-con-full e-flex e-con e-child \" data-id=\"a5b3e7d\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-bfa5fa5 elementor-widget elementor-widget-image\" data-id=\"bfa5fa5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"851\" height=\"851\" src=\"https:\/\/leovoid.com\/wp-content\/uploads\/2026\/06\/Cloud-Infrastructure-v1-final-svg.svg\" class=\"attachment-full size-full wp-image-33921\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-41621ff e-con-full e-flex e-con e-parent \" data-id=\"41621ff\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-a1bc3a3 elementor-invisible elementor-widget elementor-widget-pxl_heading\" data-id=\"a1bc3a3\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:100}\" data-widget_type=\"pxl_heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_heading-a1bc3a3-5425\" class=\"pxl-heading \" data-animation-type=\"df\">\r\n\t<div class=\"pxl-heading__inner\">\r\n\t\t\t\r\n\t\t<h1 class=\"pxl-heading__title pxl-heading__style-scroll-bg pxl-heading__highlight-line-bottom  df\" data-wow-delay=\"500ms\" >\r\n\t\t<span class=\"pxl-heading__text  \">\r\n\t\t\t\r\n\t\t\t\t\t\t\tIngenier\u00eda de Nube e Infraestructura \t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t<\/span>\r\n\t\t<\/h1>\r\n\t<\/div>\r\n\t\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-658b4be elementor-invisible elementor-widget elementor-widget-pxl_heading\" data-id=\"658b4be\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:170}\" data-widget_type=\"pxl_heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_heading-658b4be-9846\" class=\"pxl-heading \" data-animation-type=\"type\">\r\n\t<div class=\"pxl-heading__inner\">\r\n\t\t\t\r\n\t\t<h3 class=\"pxl-heading__title pxl-heading__style-gradient pxl-heading__highlight-default  type\" data-wow-delay=\"ms\" >\r\n\t\t<span class=\"pxl-heading__text  \">\r\n\t\t\t\r\n\t\t\t\t\t\t\tPara Operaciones de Misi\u00f3n Cr\u00edtica\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t<\/span>\r\n\t\t<\/h3>\r\n\t<\/div>\r\n\t\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6fafaf8 e-grid e-con-full e-con e-child \" data-id=\"6fafaf8\" data-element_type=\"container\" data-e-type=\"container\"><div class=\"elementor-element elementor-element-ae6ebeb e-con-full sub-service-card e-flex e-con e-child \" data-id=\"ae6ebeb\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;slideshow&quot;,&quot;background_slideshow_gallery&quot;:[{&quot;id&quot;:33531,&quot;url&quot;:&quot;https:\\\/\\\/leovoid.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/DevOps.jpg&quot;}],&quot;background_slideshow_slide_duration&quot;:5000,&quot;background_slideshow_slide_transition&quot;:&quot;fade&quot;,&quot;background_slideshow_transition_duration&quot;:500}\">\t\t<div class=\"elementor-element elementor-element-372d67f sub-service-title elementor-widget elementor-widget-pxl_icon_box\" data-id=\"372d67f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pxl_icon_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"pxl-icon-box pxl-icon-box__layout-1  pxl-icon-box__df pxl-icon-box__left pxl-icon-box__icon- \" data-wow-delay=\"ms\" >\r\n    \r\n            <div class=\"pxl-icon-box__icon \">\r\n            <i aria-hidden=\"true\" class=\"phosphor-icons ph ph-git-branch\"><\/i>        <\/div>\r\n            <div class=\"pxl-icon-box__content\">\r\n        <h4 class=\"pxl-icon-box__title el-empty\">Ingenier\u00eda DevOps & CI\/CD <\/h4>\r\n        <p class=\"pxl-icon-box__desc el-empty\"><\/p>\r\n    <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-adf58ac elementor-widget__width-initial sub-service-card-text elementor-widget elementor-widget-text-editor\" data-id=\"adf58ac\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Dise\u00f1amos e implementamos pipelines automatizados que llevan tu c\u00f3digo desde el commit hasta producci\u00f3n con velocidad, fiabilidad y cero incertidumbre. Tu equipo entrega m\u00e1s r\u00e1pido. Tus usuarios notan la diferencia.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c839a0e elementor-widget__width-initial sub-service-card-text slx-open-trigger elementor-widget elementor-widget-text-editor\" data-id=\"c839a0e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<a href=\"#\">Habla con un Experto \u2192<\/a>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-f91a5c6 e-con-full sub-service-card sub-service-card-small e-flex e-con e-child \" data-id=\"f91a5c6\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-10dc1e4 sub-service-title elementor-widget elementor-widget-pxl_icon_box\" data-id=\"10dc1e4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pxl_icon_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"pxl-icon-box pxl-icon-box__layout-1  pxl-icon-box__df pxl-icon-box__left pxl-icon-box__icon- \" data-wow-delay=\"ms\" >\r\n    \r\n            <div class=\"pxl-icon-box__icon \">\r\n            <i aria-hidden=\"true\" class=\"fal fa-server\"><\/i>        <\/div>\r\n            <div class=\"pxl-icon-box__content\">\r\n        <h4 class=\"pxl-icon-box__title el-empty\">Ingenier\u00eda en la Nube <\/h4>\r\n        <p class=\"pxl-icon-box__desc el-empty\"><\/p>\r\n    <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-521e528 elementor-widget__width-initial sub-service-card-text elementor-widget elementor-widget-text-editor\" data-id=\"521e528\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Arquitectamos entornos en la nube desde cero, escalables, seguros y construidos en torno a tus cargas de trabajo reales. Sin sobreaprovisionamiento. Sin planificaci\u00f3n insuficiente. Solo infraestructura s\u00f3lida que funciona.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4569de0 elementor-widget__width-initial sub-service-card-text slx-open-trigger elementor-widget elementor-widget-text-editor\" data-id=\"4569de0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<a href=\"#\">Habla con un Experto \u2192<\/a>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-13c6b8c e-con-full sub-service-card sub-service-card-small e-flex e-con e-child \" data-id=\"13c6b8c\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-bc93166 sub-service-title elementor-widget elementor-widget-pxl_icon_box\" data-id=\"bc93166\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pxl_icon_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"pxl-icon-box pxl-icon-box__layout-1  pxl-icon-box__df pxl-icon-box__left pxl-icon-box__icon- \" data-wow-delay=\"ms\" >\r\n    \r\n            <div class=\"pxl-icon-box__icon \">\r\n            <i aria-hidden=\"true\" class=\"phosphor-icons ph ph-shield-check\"><\/i>        <\/div>\r\n            <div class=\"pxl-icon-box__content\">\r\n        <h4 class=\"pxl-icon-box__title el-empty\">Aseguramiento de Calidad <\/h4>\r\n        <p class=\"pxl-icon-box__desc el-empty\"><\/p>\r\n    <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5ff7556 elementor-widget__width-initial sub-service-card-text elementor-widget elementor-widget-text-editor\" data-id=\"5ff7556\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Realizamos pruebas a nivel de infraestructura: carga, rendimiento, failover y seguridad. Tus sistemas no solo superan las verificaciones de despliegue; aguantan bajo presi\u00f3n real.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-17bd769 elementor-widget__width-initial sub-service-card-text slx-open-trigger elementor-widget elementor-widget-text-editor\" data-id=\"17bd769\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<a href=\"#\">Habla con un Experto \u2192<\/a>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-e1fb8a4 e-con-full sub-service-card sub-service-card-small e-flex e-con e-child \" data-id=\"e1fb8a4\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-d1c1776 sub-service-title elementor-widget elementor-widget-pxl_icon_box\" data-id=\"d1c1776\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pxl_icon_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"pxl-icon-box pxl-icon-box__layout-1  pxl-icon-box__df pxl-icon-box__left pxl-icon-box__icon- \" data-wow-delay=\"ms\" >\r\n    \r\n            <div class=\"pxl-icon-box__icon \">\r\n            <i aria-hidden=\"true\" class=\"phosphor-icons ph ph-cloud-arrow-up\"><\/i>        <\/div>\r\n            <div class=\"pxl-icon-box__content\">\r\n        <h4 class=\"pxl-icon-box__title el-empty\">Migraci\u00f3n y Optimizaci\u00f3n en la Nube <\/h4>\r\n        <p class=\"pxl-icon-box__desc el-empty\"><\/p>\r\n    <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-44fae5a elementor-widget__width-initial sub-service-card-text elementor-widget elementor-widget-text-editor\" data-id=\"44fae5a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Migrar a la nube no deber\u00eda significar hacerlo a ciegas. Planificamos, ejecutamos y validamos cada migraci\u00f3n para que llegues con tus datos intactos, tus costos bajo control y tu equipo tranquilo.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e31b152 elementor-widget__width-initial sub-service-card-text slx-open-trigger elementor-widget elementor-widget-text-editor\" data-id=\"e31b152\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<a href=\"#\">Habla con un Experto \u2192<\/a>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-b3f7106 e-con-full sub-service-card sub-service-card-small e-flex e-con e-child \" data-id=\"b3f7106\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-91c846b sub-service-title elementor-widget elementor-widget-pxl_icon_box\" data-id=\"91c846b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pxl_icon_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"pxl-icon-box pxl-icon-box__layout-1  pxl-icon-box__df pxl-icon-box__left pxl-icon-box__icon- \" data-wow-delay=\"ms\" >\r\n    \r\n            <div class=\"pxl-icon-box__icon \">\r\n            <i aria-hidden=\"true\" class=\"phosphor-icons ph ph-lock-key\"><\/i>        <\/div>\r\n            <div class=\"pxl-icon-box__content\">\r\n        <h4 class=\"pxl-icon-box__title el-empty\">Servicios de API Gateway e Integraci\u00f3n <\/h4>\r\n        <p class=\"pxl-icon-box__desc el-empty\"><\/p>\r\n    <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7906a84 elementor-widget__width-initial sub-service-card-text elementor-widget elementor-widget-text-editor\" data-id=\"7906a84\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Conectamos tus sistemas a trav\u00e9s de API gateways de alto rendimiento y bien gobernados. Ya sea que integres herramientas de terceros o unifiques servicios internos, nos aseguramos de que los datos fluyan de forma limpia y confiable.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3a96036 elementor-widget__width-initial sub-service-card-text slx-open-trigger elementor-widget elementor-widget-text-editor\" data-id=\"3a96036\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"#\">Habla con un Experto \u2192<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-0604bb3 e-con-full sub-service-card e-flex e-con e-child \" data-id=\"0604bb3\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;slideshow&quot;,&quot;background_slideshow_gallery&quot;:[{&quot;id&quot;:33525,&quot;url&quot;:&quot;https:\\\/\\\/leovoid.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Security-Engineering-scaled.jpg&quot;}],&quot;background_slideshow_slide_duration&quot;:5000,&quot;background_slideshow_slide_transition&quot;:&quot;fade&quot;,&quot;background_slideshow_transition_duration&quot;:500}\">\t\t<div class=\"elementor-element elementor-element-3c93c03 sub-service-title elementor-widget elementor-widget-pxl_icon_box\" data-id=\"3c93c03\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pxl_icon_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"pxl-icon-box pxl-icon-box__layout-1  pxl-icon-box__df pxl-icon-box__left pxl-icon-box__icon- \" data-wow-delay=\"ms\" >\r\n    \r\n            <div class=\"pxl-icon-box__icon \">\r\n            <i aria-hidden=\"true\" class=\"phosphor-icons ph ph-plugs-connected\"><\/i>        <\/div>\r\n            <div class=\"pxl-icon-box__content\">\r\n        <h4 class=\"pxl-icon-box__title el-empty\">Ingenier\u00eda de Seguridad <\/h4>\r\n        <p class=\"pxl-icon-box__desc el-empty\"><\/p>\r\n    <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-55cdd1b elementor-widget__width-initial sub-service-card-text elementor-widget elementor-widget-text-editor\" data-id=\"55cdd1b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Incorporamos la seguridad en cada capa de tu stack, no como algo secundario, sino como un principio de dise\u00f1o. Cumplimiento normativo, controles de acceso, modelado de amenazas y configuraciones reforzadas incluidas desde el primer d\u00eda.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bfccd75 elementor-widget__width-initial sub-service-card-text slx-open-trigger elementor-widget elementor-widget-text-editor\" data-id=\"bfccd75\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<a href=\"#\">Habla con un Experto \u2192<\/a>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-c5e0815 e-con-full e-flex e-con e-parent \" data-id=\"c5e0815\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-510a259 elementor-invisible elementor-widget elementor-widget-pxl_heading\" data-id=\"510a259\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:170}\" data-widget_type=\"pxl_heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_heading-510a259-9732\" class=\"pxl-heading \" data-animation-type=\"type\">\r\n\t<div class=\"pxl-heading__inner\">\r\n\t\t\t\r\n\t\t<h3 class=\"pxl-heading__title pxl-heading__style-gradient pxl-heading__highlight-default  type\" data-wow-delay=\"ms\" >\r\n\t\t<span class=\"pxl-heading__text  \">\r\n\t\t\t\r\n\t\t\t\t\t\t\t\u00c1mbito de Experiencia\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t<\/span>\r\n\t\t<\/h3>\r\n\t<\/div>\r\n\t\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-64aebd0 elementor-invisible elementor-widget elementor-widget-pxl_heading\" data-id=\"64aebd0\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:100}\" data-widget_type=\"pxl_heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_heading-64aebd0-7051\" class=\"pxl-heading \" data-animation-type=\"df\">\r\n\t<div class=\"pxl-heading__inner\">\r\n\t\t\t\r\n\t\t<h1 class=\"pxl-heading__title pxl-heading__style-scroll-bg pxl-heading__highlight-line-bottom  df\" data-wow-delay=\"500ms\" >\r\n\t\t<span class=\"pxl-heading__text  \">\r\n\t\t\t\r\n\t\t\t\t\t\t\tLo Que Arquitectamos y Optimizamos\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t<\/span>\r\n\t\t<\/h1>\r\n\t<\/div>\r\n\t\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cd01cd7 elementor-widget elementor-widget-html\" data-id=\"cd01cd7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t\r\n<style>\r\n  .mq-shell {\r\n    width: 100%;\r\n    overflow: hidden;\r\n    position: relative;\r\n    padding: 8px 0;\r\n  }\r\n  .mq-shell::before,\r\n  .mq-shell::after {\r\n    content: '';\r\n    position: absolute;\r\n    top: 0;\r\n    bottom: 0;\r\n    width: 100px;\r\n    z-index: 2;\r\n    pointer-events: none;\r\n  }\r\n  .mq-shell::before {\r\n    left: 0;\r\n    background: linear-gradient(to right, #161616 30%, transparent);\r\n  }\r\n  .mq-shell::after {\r\n    right: 0;\r\n    background: linear-gradient(to left, #161616 30%, transparent);\r\n  }\r\n  .mq-track {\r\n    display: flex;\r\n    align-items: center;\r\n    width: max-content;\r\n    gap: 10px;\r\n    padding: 0 5px;\r\n    animation: mq-go-left 90s linear infinite;\r\n  }\r\n  .mq-track--r2 {\r\n    animation: mq-go-right 100s linear infinite;\r\n  }\r\n  .mq-track--r3 {\r\n    animation: mq-go-left 65s linear infinite;\r\n  }\r\n  .mq-track {\r\n    animation-play-state: paused;\r\n  }\r\n  @keyframes mq-go-left {\r\n    from { transform: translateX(0); }\r\n    to   { transform: translateX(-50%); }\r\n  }\r\n  @keyframes mq-go-right {\r\n    from { transform: translateX(-50%); }\r\n    to   { transform: translateX(0); }\r\n  }\r\n  .mq-pill {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 10px;\r\n    padding: 9px 16px 10px 10px;\r\n    background: #242424;\r\n    border-radius: 999px;\r\n    white-space: nowrap;\r\n    flex-shrink: 0;\r\n    cursor: default;\r\n    transition: border-color 0.2s, background 0.2s;\r\n  }\r\n  .mq-pill:hover {\r\n    background: #2c2c2c;\r\n  }\r\n  .mq-pill__icon-svg {\r\n    flex-shrink: 0;\r\n    display: block;\r\n  }\r\n  .mq-pill__label {\r\n    font-size: 15px;\r\n    font-weight: 500;\r\n    color: #c8c5be;\r\n    letter-spacing: 0.01em;\r\n  }\r\n  @media screen and (max-width: 768px) {\r\n    .mq-shell::before {\r\n      background: linear-gradient(to right, #161616 5%, transparent);\r\n    }\r\n    .mq-shell::after {\r\n      background: linear-gradient(to left, #161616 5%, transparent);\r\n    }\r\n  }\r\n  @media screen and (max-width: 425px) {\r\n    .mq-pill {\r\n      padding: 8px 13px 8px 8px;\r\n    }\r\n    .mq-pill__label {\r\n      font-size: 13px;\r\n    }\r\n  }\r\n  .mq-ic--indigo  { --ic-bg: #773DD0; }\r\n  .mq-ic--violet  { --ic-bg: #B282F0; }\r\n  .mq-ic--rose    { --ic-bg: #D35C70; }\r\n  .mq-ic--amber   { --ic-bg: #F29A68; }\r\n  .mq-ic--green   { --ic-bg: #3ABB90; }\r\n  .mq-ic--fuchsia { --ic-bg: #FFBE2E; }\r\n  .mq-ic--orange  { --ic-bg: #EC6C21; }\r\n  .mq-ic--slate   { --ic-bg: #475569; }\r\n  .mq-ic--cyan    { --ic-bg: #59B5F8; }\r\n<\/style>\r\n\r\n<div class=\"mq-shell\"><div class=\"mq-track\" id=\"mq-r1\"><\/div><\/div>\r\n<div class=\"mq-shell\"><div class=\"mq-track mq-track--r2\" id=\"mq-r2\"><\/div><\/div>\r\n<div class=\"mq-shell\"><div class=\"mq-track mq-track--r3\" id=\"mq-r3\"><\/div><\/div>\r\n\r\n<script>\r\n  const ALL_ITEMS = [\r\n    { label: 'Dise\u00f1o de Pipeline CI\/CD',                    icon: 'fal fa-code-branch',          color: 'mq-ic--indigo'  },\r\n    { label: 'Build y Pruebas Automatizadas',                   icon: 'fal fa-cogs',                 color: 'mq-ic--cyan'    },\r\n    { label: 'Automatizaci\u00f3n del Despliegue',                    icon: 'fal fa-rocket',               color: 'mq-ic--violet'  },\r\n    { label: 'Pipeline Multi-Entorno',               icon: 'fal fa-layer-group',          color: 'mq-ic--amber'   },\r\n    { label: 'Dise\u00f1o de Arquitectura en la Nube',                icon: 'fal fa-cloud',                color: 'mq-ic--cyan'    },\r\n    { label: 'Infraestructura AWS',                       icon: 'fal fa-server',               color: 'mq-ic--orange'  },\r\n    { label: 'Google Cloud Platform',                    icon: 'fal fa-cloud-upload-alt',     color: 'mq-ic--indigo'  },\r\n    { label: 'Microsoft Azure',                          icon: 'fal fa-cloud-download-alt',   color: 'mq-ic--cyan'    },\r\n    { label: 'Estrategia Multi-Nube',                     icon: 'fal fa-network-wired',        color: 'mq-ic--violet'  },\r\n    { label: 'Infraestructura como C\u00f3digo (IaC)',             icon: 'fal fa-file-code',            color: 'mq-ic--green'   },\r\n    { label: 'Terraform & Pulumi',                       icon: 'fal fa-cubes',                color: 'mq-ic--indigo'  },\r\n    { label: 'Orquestaci\u00f3n con Kubernetes',                 icon: 'fal fa-sitemap',              color: 'mq-ic--cyan'    },\r\n    { label: 'Contenedorizaci\u00f3n con Docker',                  icon: 'fal fa-box-open',             color: 'mq-ic--amber'   },\r\n    { label: 'Planificaci\u00f3n de Migraci\u00f3n a la Nube',                 icon: 'fal fa-exchange-alt',         color: 'mq-ic--violet'  },\r\n    { label: 'Migraci\u00f3n Lift & Shift',                   icon: 'fal fa-arrow-alt-circle-up',  color: 'mq-ic--rose'    },\r\n    { label: 'Optimizaci\u00f3n de Costos en la Nube',                  icon: 'fal fa-chart-line',           color: 'mq-ic--green'   },\r\n    { label: 'Estrategia de Instancias Reservadas y Spot',        icon: 'fal fa-tags',                 color: 'mq-ic--fuchsia' },\r\n    { label: 'Evaluaci\u00f3n del Rendimiento',                 icon: 'fal fa-tachometer-alt',       color: 'mq-ic--orange'  },\r\n    { label: 'Pruebas de Carga y Estr\u00e9s',            icon: 'fal fa-weight-hanging',       color: 'mq-ic--rose'    },\r\n    { label: 'Pipelines de QA Automatizados',                   icon: 'fal fa-clipboard-check',      color: 'mq-ic--cyan'    },\r\n    { label: 'Pruebas de Regresi\u00f3n',                       icon: 'fal fa-redo-alt',             color: 'mq-ic--slate'   },\r\n    { label: 'Monitoreo de Uptime y SLA',                  icon: 'fal fa-heartbeat',            color: 'mq-ic--rose'    },\r\n    { label: 'Arquitectura de Seguridad Zero-Trust',         icon: 'fal fa-shield-alt',           color: 'mq-ic--indigo'  },\r\n    { label: 'IAM y Control de Acceso',                     icon: 'fal fa-user-lock',            color: 'mq-ic--violet'  },\r\n    { label: 'Gesti\u00f3n de Secretos y Vault',               icon: 'fal fa-key',                  color: 'mq-ic--amber'   },\r\n    { label: 'Cumplimiento y Registro de Auditor\u00eda',               icon: 'fal fa-lock',          color: 'mq-ic--slate'   },\r\n    { label: 'Seguridad de Red y Firewalls',             icon: 'fal fa-shield-check',         color: 'mq-ic--rose'    },\r\n    { label: 'Protecci\u00f3n DDoS',                          icon: 'fal fa-ban',                  color: 'mq-ic--orange'  },\r\n    { label: 'Dise\u00f1o de API Gateway',                       icon: 'fal fa-exchange-alt',         color: 'mq-ic--cyan'    },\r\n    { label: 'Limitaci\u00f3n de Tasa y Throttling',               icon: 'fal fa-traffic-cone',         color: 'mq-ic--amber'   },\r\n    { label: 'Service Mesh (Istio \/ Linkerd)',            icon: 'fal fa-project-diagram',      color: 'mq-ic--indigo'  },\r\n    { label: 'Observabilidad y Logging',                  icon: 'fal fa-binoculars',           color: 'mq-ic--green'   },\r\n    { label: 'Alertas y Respuesta a Incidentes',             icon: 'fal fa-bell',                 color: 'mq-ic--fuchsia' },\r\n    { label: 'Planificaci\u00f3n de Recuperaci\u00f3n ante Desastres',               icon: 'fal fa-life-ring',            color: 'mq-ic--rose'    },\r\n    { label: 'Autoescalado y Alta Disponibilidad',         icon: 'fal fa-expand-arrows-alt',    color: 'mq-ic--violet'  },\r\n    { label: 'CDN y Entrega en el Edge',                      icon: 'fal fa-globe',                color: 'mq-ic--cyan'    },\r\n    { label: 'Infraestructura de Base de Datos',                  icon: 'fal fa-database',             color: 'mq-ic--slate'   },\r\n    { label: 'Automatizaci\u00f3n de Copias de Seguridad y Recuperaci\u00f3n',             icon: 'fal fa-hdd',                  color: 'mq-ic--green'   },\r\n  ];\r\n\r\n  function makePill({ label, icon, color }) {\r\n    const pill = document.createElement('div');\r\n    pill.className = 'mq-pill ' + color;\r\n    const ns = 'http:\/\/www.w3.org\/2000\/svg';\r\n    const svg = document.createElementNS(ns, 'svg');\r\n    svg.setAttribute('width', '32');\r\n    svg.setAttribute('height', '32');\r\n    svg.setAttribute('viewBox', '0 0 32 32');\r\n    svg.setAttribute('xmlns', 'http:\/\/www.w3.org\/2000\/svg');\r\n    svg.classList.add('mq-pill__icon-svg');\r\n    svg.setAttribute('aria-hidden', 'true');\r\n    const defs = document.createElementNS(ns, 'defs');\r\n    const clipPath = document.createElementNS(ns, 'clipPath');\r\n    const clipId = 'clip-' + Math.random().toString(36).slice(2, 8);\r\n    clipPath.setAttribute('id', clipId);\r\n    const clipCircle = document.createElementNS(ns, 'circle');\r\n    clipCircle.setAttribute('cx', '16');\r\n    clipCircle.setAttribute('cy', '16');\r\n    clipCircle.setAttribute('r', '16');\r\n    clipPath.appendChild(clipCircle);\r\n    defs.appendChild(clipPath);\r\n    svg.appendChild(defs);\r\n    const circle = document.createElementNS(ns, 'circle');\r\n    circle.setAttribute('cx', '16');\r\n    circle.setAttribute('cy', '16');\r\n    circle.setAttribute('r', '16');\r\n    circle.setAttribute('fill', 'var(--ic-bg)');\r\n    svg.appendChild(circle);\r\n    const fo = document.createElementNS(ns, 'foreignObject');\r\n    fo.setAttribute('x', '0');\r\n    fo.setAttribute('y', '0');\r\n    fo.setAttribute('width', '32');\r\n    fo.setAttribute('height', '32');\r\n    fo.setAttribute('clip-path', `url(#${clipId})`);\r\n    const foDiv = document.createElement('div');\r\n    foDiv.setAttribute('xmlns', 'http:\/\/www.w3.org\/1999\/xhtml');\r\n    foDiv.style.cssText = 'width:32px;height:32px;display:flex;align-items:center;justify-content:center;';\r\n    const ic = document.createElement('i');\r\n    ic.className = icon;\r\n    ic.style.cssText = 'font-size:13px;color:#fff;line-height:1;display:block;';\r\n    foDiv.appendChild(ic);\r\n    fo.appendChild(foDiv);\r\n    svg.appendChild(fo);\r\n    pill.appendChild(svg);\r\n    const lbl = document.createElement('span');\r\n    lbl.className = 'mq-pill__label';\r\n    lbl.textContent = label;\r\n    pill.appendChild(lbl);\r\n    return pill;\r\n  }\r\n\r\n  function fillRow(id, items) {\r\n    const track = document.getElementById(id);\r\n    [...items, ...items].forEach(item => track.appendChild(makePill(item)));\r\n  }\r\n\r\n  fillRow('mq-r1', ALL_ITEMS.slice(0, 13));\r\n  fillRow('mq-r2', ALL_ITEMS.slice(13, 26));\r\n  fillRow('mq-r3', ALL_ITEMS.slice(26));\r\n\r\n  const shells = document.querySelectorAll('.mq-shell');\r\n\r\n  shells.forEach(shell => {\r\n    shell.addEventListener('mouseenter', () => {\r\n      shell.querySelectorAll('.mq-track').forEach(t => t.style.animationPlayState = 'paused');\r\n    });\r\n    shell.addEventListener('mouseleave', () => {\r\n      if (isVisible(shell)) {\r\n        shell.querySelectorAll('.mq-track').forEach(t => t.style.animationPlayState = 'running');\r\n      }\r\n    });\r\n  });\r\n\r\n  function isVisible(el) {\r\n    const rect = el.getBoundingClientRect();\r\n    return rect.bottom > 0 && rect.top < window.innerHeight;\r\n  }\r\n\r\n  const observer = new IntersectionObserver(\r\n    (entries) => {\r\n      entries.forEach(entry => {\r\n        const hovered = entry.target.matches(':hover');\r\n        entry.target.querySelectorAll('.mq-track').forEach(track => {\r\n          track.style.animationPlayState = entry.isIntersecting && !hovered ? 'running' : 'paused';\r\n        });\r\n      });\r\n    },\r\n    { threshold: 0.1 }\r\n  );\r\n  shells.forEach(shell => observer.observe(shell));\r\n<\/script>\r\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-8d9127b e-con-full e-flex e-con e-parent \" data-id=\"8d9127b\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-b870293 elementor-invisible elementor-widget elementor-widget-pxl_heading\" data-id=\"b870293\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:100}\" data-widget_type=\"pxl_heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_heading-b870293-5742\" class=\"pxl-heading \" data-animation-type=\"df\">\r\n\t<div class=\"pxl-heading__inner\">\r\n\t\t\t\r\n\t\t<h1 class=\"pxl-heading__title pxl-heading__style-scroll-bg pxl-heading__highlight-line-bottom  df\" data-wow-delay=\"500ms\" >\r\n\t\t<span class=\"pxl-heading__text  \">\r\n\t\t\t\r\n\t\t\t\t\t\t\tIngenier\u00eda de Infraestructura de Ciclo Completo \t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t<\/span>\r\n\t\t<\/h1>\r\n\t<\/div>\r\n\t\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d594594 elementor-widget-mobile__width-initial elementor-invisible elementor-widget elementor-widget-pxl_heading\" data-id=\"d594594\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:170}\" data-widget_type=\"pxl_heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_heading-d594594-7073\" class=\"pxl-heading \" data-animation-type=\"type\">\r\n\t<div class=\"pxl-heading__inner\">\r\n\t\t\t\r\n\t\t<h3 class=\"pxl-heading__title pxl-heading__style-gradient pxl-heading__highlight-default  type\" data-wow-delay=\"ms\" >\r\n\t\t<span class=\"pxl-heading__text  \">\r\n\t\t\t\r\n\t\t\t\t\t\t\tOperaciones en la Nube Integrales, Desde la Arquitectura hasta la Fiabilidad Continua.\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t<\/span>\r\n\t\t<\/h3>\r\n\t<\/div>\r\n\t\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-605aaa6 e-con-full e-flex e-con e-child \" data-id=\"605aaa6\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-afbdce3 elementor-widget elementor-widget-shortcode\" data-id=\"afbdce3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><style>\r\n\r\n  \/* LAYOUT *\/\r\n  .dw-wrapper {\r\n      --clr-blue-light: #59B5F8;\r\n      --clr-blue-pale: #87D9FD;\r\n      --clr-orange: #EC6C21;\r\n      --clr-orange-light: #F29A68;\r\n      --clr-orange-dark: #C95918;\r\n      --clr-teal: #3ABB90;\r\n      --clr-teal-light: #74DDBF;\r\n      --clr-purple: #773DD0;\r\n      --clr-purple-light: #B282F0;\r\n      --clr-pink-light: #FCA4B7;\r\n      --clr-pink: #F97289;\r\n      --clr-pink-dark: #D35C70;\r\n      --clr-blue-mid: #4DA3E2;\r\n      --clr-dark: #2D2D2D;\r\n      --clr-white: #FFFFFF;\r\n      --clr-yellow: #FFBE2E;\r\n      --font-display: \"Space Grotesk\", sans-serif;\r\n      --font-mono:  \"Space Grotesk\", sans-serif;\r\n      --card-bg: rgba(45,45,45,0.45);\r\n      --card-border: rgba(255,255,255,0.07);\r\n      --clr-bg: #161616;\r\n      \r\n      position: relative;\r\n      display: grid;\r\n      grid-template-columns:72px 150px 150px 1fr;\r\n      align-items: center;\r\n      width: min(980px, 80vw);\r\n      height: 500px;\r\n      z-index: 1;\r\n\r\n    \r\n      font-family: \"Space Grotesk\", sans-serif;\r\n      \r\n       \r\n    }\r\n    \r\n    \r\n  \/* MARQUEE *\/\r\n  .dw-marquee-track {\r\n    grid-column: 1;\r\n    height: 360px;\r\n    background: rgba(255,255,255,0.03);\r\n    border: 1px solid var(--card-border);\r\n    border-radius: 28px;\r\n    overflow: hidden;\r\n    position: relative;\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n  }\r\n\r\n  .dw-marquee-track::before,\r\n  .dw-marquee-track::after {\r\n    content: '';\r\n    position: absolute;\r\n    left: 0; right: 0;\r\n    height: 60px;\r\n    z-index: 2;\r\n    pointer-events: none;\r\n  }\r\n  .dw-marquee-track::before { top: 0;    background: linear-gradient(to bottom, var(--clr-bg) 0%, transparent 100%); }\r\n  .dw-marquee-track::after  { bottom: 0; background: linear-gradient(to top,   var(--clr-bg) 0%, transparent 100%); }\r\n\r\n\r\n  .dw-marquee-inner {\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    will-change: transform;\r\n  }\r\n\r\n  @keyframes dw-marquee-up {\r\n    0%   { transform: translateY(0); }\r\n    100% { transform: translateY(-50%); }\r\n  }\r\n\r\n@keyframes dw-marquee-left {\r\n  0%   { transform: translateX(0); }\r\n  100% { transform: translateX(-50%); }\r\n}\r\n\r\n  .dw-marquee-strip {\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    gap: 18px;\r\n    padding: 9px 0;\r\n  }\r\n\r\n  .dw-tech-icon {\r\n    width: 36px;\r\n    height: 36px;\r\n    border-radius: 10px;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    flex-shrink: 0;\r\n  }\r\n  .dw-tech-icon svg { width: 22px; height: 22px; }\r\n\r\n  \/* CENTER LOGO *\/\r\n  .dw-center-col {\r\n    grid-column: 3;\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n  }\r\n\r\n  .dw-logo-box {\r\n    width: 76px;\r\n    height: 76px;\r\n    background: var(--clr-dark);\r\n    border: 1.5px solid rgba(255,255,255,0.13);\r\n    border-radius: 10px;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    position: relative;\r\n    box-shadow: 0 0 0 1px rgba(255,255,255,0.04), 0 8px 32px rgba(0,0,0,0.6);\r\n    flex-shrink: 0;\r\n  }\r\n  .dw-logo-box::after {\r\n    content: '';\r\n    position: absolute;\r\n    inset: -1px;\r\n    border-radius: 11px;\r\n    background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, transparent 60%);\r\n    pointer-events: none;\r\n  }\r\n  .dw-logo-inner { width: 55px; height: 55px; }\r\n  .dw-logo-inner svg { width: 100%; height: 100%; }\r\n\r\n  \/* SVG LINES OVERLAY *\/\r\n  .dw-lines-svg {\r\n    position: absolute;\r\n    inset: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n    pointer-events: none;\r\n    overflow: visible;\r\n    z-index: 0;\r\n  }\r\n\r\n  .dw-hline {\r\n    fill: none;\r\n    stroke: rgba(255,255,255,0.12);\r\n    stroke-width: 1.2;\r\n    stroke-linecap: round;\r\n  }\r\n\r\n  .dw-cline {\r\n    fill: none;\r\n    stroke-width: 1.5;\r\n    stroke-linecap: round;\r\n    transition: stroke 0.5s, stroke-width 0.5s, filter 0.5s;\r\n  }\r\n  .dw-cline--off { stroke: rgba(255,255,255,0.07); }\r\n  .dw-cline--on  {\r\n    stroke-width: 2;\r\n    stroke-dasharray: 8 5;\r\n    animation: dw-flow 2s linear infinite;\r\n\r\n  }\r\n  @keyframes dw-flow { to { stroke-dashoffset: -26; } }\r\n\r\n  \/* RIGHT CARDS *\/\r\n  .dw-cards-col {\r\n    \/* grid-column: 4; *\/\r\n    grid-column:5;\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: center;\r\n    gap: 20px;\r\n    padding-left: 32px;\r\n  }\r\n\r\n  .dw-card {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 13px;\r\n    padding: 11px 16px;\r\n    background: var(--card-bg);\r\n    border: 1px solid var(--card-border);\r\n    border-radius: 14px;\r\n    position: relative;\r\n    overflow: hidden;\r\n    backdrop-filter: blur(5px);\r\n    transition: border-color 0.4s, background 0.4s;\r\n  }\r\n  .dw-card::before {\r\n    content: '';\r\n    position: absolute;\r\n    inset: 0;\r\n    opacity: 0;\r\n    border-radius: 14px;\r\n    \/* background: radial-gradient(ellipse at left center, var(--card-glow, rgba(89,181,248,0.15)) 0%, transparent 70%); *\/\r\n    transition: opacity 0.4s;\r\n  }\r\n  .dw-card.dw-card--active              { border-color: var(--card-accent); background: rgba(45,45,45,0.65); }\r\n  .dw-card.dw-card--active::before      { opacity: 1; }\r\n\r\n  .dw-card-icon {\r\n    width: 38px;\r\n    height: 38px;\r\n    border-radius: 10px;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    flex-shrink: 0;\r\n    border: 1px solid rgba(255,255,255,0.08);\r\n    background: rgba(255,255,255,0.04);\r\n    position: relative;\r\n    z-index: 1;\r\n    transition: background 0.4s, border-color 0.4s, box-shadow 0.4s;\r\n  }\r\n  .dw-card-icon svg { width: 22px; height: 22px; transition: filter 0.4s; }\r\n  .dw-card.dw-card--active .dw-card-icon {\r\n    background: rgba(255,255,255,0.08);\r\n    border-color: var(--card-accent);\r\n    animation: dw-icon-pulse 3s ease-in-out infinite;\r\n  }\r\n  .dw-card.dw-card--active .dw-card-icon svg { filter: drop-shadow(0 0 5px var(--card-accent)); }\r\n\r\n  @keyframes dw-icon-pulse {\r\n    0% { box-shadow: 0 0 5px var(--card-accent); }\r\n    100%      { box-shadow: 0 0 30px var(--card-accent); }\r\n  }\r\n\r\n  .dw-card-text { position: relative; z-index: 1; }\r\n  .dw-card-label {\r\n    font-family: var(--font-display);\r\n    font-size: 14.5px;\r\n    font-weight: 700;\r\n    color: rgba(255,255,255,0.8);\r\n    line-height: 1.25;\r\n    transition: color 0.4s;\r\n  }\r\n  .dw-card.dw-card--active .dw-card-label { color: #fff; }\r\n  .dw-card-sub {\r\n    font-family: var(--font-mono);\r\n    font-size: 10.5px;\r\n    font-weight: 300;\r\n    color: rgba(255,255,255,0.28);\r\n    letter-spacing: 0.06em;\r\n    text-transform: uppercase;\r\n    margin-top: 2px;\r\n    transition: color 0.4s;\r\n  }\r\n  .dw-card.dw-card--active .dw-card-sub { color: rgba(255,255,255,0.5); }\r\n\r\n  @media (max-width: 768px) {\r\n\r\n      .dw-wrapper {\r\n      --card-bg: rgba(45,45,45,0.1);\r\n    }\r\n\r\n  .dw-wrapper {\r\n    grid-template-columns: 1fr;\r\n    grid-template-rows: auto auto auto;\r\n    height: auto;\r\n    gap: 40px;\r\n    padding: 24px 16px;\r\n  }\r\n\r\n  .dw-marquee-track {\r\n    grid-column: 1;\r\n    grid-row: 1;\r\n    width: 100%;\r\n    height: 72px;\r\n    flex-direction: row;\r\n    border-radius: 18px;\r\n  }\r\n\r\n  .dw-marquee-track::before {\r\n    top: 0; bottom: 0; right: auto;\r\n    width: 48px; height: 100%;\r\n    background: linear-gradient(to right, var(--clr-bg), transparent);\r\n  }\r\n\r\n  .dw-marquee-track::after {\r\n    top: 0; bottom: 0; left: auto;\r\n    width: 48px; height: 100%;\r\n    background: linear-gradient(to left, var(--clr-bg), transparent);\r\n  }\r\n\r\n  .dw-marquee-inner {\r\n    flex-direction: row;\r\n  }\r\n\r\n  .dw-marquee-strip {\r\n    flex-direction: row;\r\n    padding: 0 9px;\r\n    gap: 16px;\r\n  }\r\n\r\n  .dw-center-col {\r\n    grid-column: 1;\r\n    grid-row: 2;\r\n    justify-content: center;\r\n  }\r\n\r\n\r\n    .dw-cards-col {\r\n        grid-column: 1;\r\n        grid-row: 4;\r\n        flex-direction: row;\r\n        justify-content: space-around;\r\n        padding-left: 0;\r\n        gap: 40px 1px;\r\n        flex-wrap: wrap;\r\n        align-items: center;\r\n    }\r\n\r\n  .dw-card {\r\n    flex-direction: column;\r\n    align-items: center;\r\n    text-align: center;\r\n    justify-content: space-around;\r\n    width: calc(50% - 10px);\r\n    min-width: 130px;\r\n    max-width: 130px;\r\n    min-height: 100px;\r\n    padding: 14px 8px;\r\n  }\r\n\r\n  .dw-card.dw-card--active {\r\n     background: rgba(45,45,45,0.35);\r\n    }\r\n  .dw-card-text {\r\n    text-align: center;\r\n  }\r\n\r\n}\r\n\r\n<\/style>\r\n\r\n<div class=\"dw-wrapper\" id=\"dwWrapper\">\r\n\r\n  <!-- COL 1: Marquee -->\r\n  <div class=\"dw-marquee-track\" id=\"dwMarquee\">\r\n    <div class=\"dw-marquee-inner\" id=\"dwMarqueeInner\">\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- COL 2: gap (left line drawn by SVG overlay) -->\r\n\r\n  <!-- COL 3: Logo -->\r\n<div class=\"dw-center-col\">\r\n    <div class=\"dw-logo-box\" id=\"dwLogoBox\">\r\n      <div class=\"dw-logo-inner\">\r\n        <svg id=\"uuid-0d62985d-057b-4225-b2aa-81ed2b01f4e9\" data-name=\"Layer 1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 500 500\">\r\n          <defs><style>.uuid-61862a33-eaa0-45db-9fb0-d80331c18311{fill:#212121;stroke:#fff;stroke-miterlimit:10;stroke-width:4px}.uuid-614cb9d7-dad3-4cc5-ad86-37d7aae32100{fill:#fff}<\/style><\/defs>\r\n          <path class=\"uuid-61862a33-eaa0-45db-9fb0-d80331c18311\" d=\"M453.57,161.43c-6.02-4.74-13.79-6.43-21.31-4.62l-17.78,4.27v-44.37c0-20.73-16.8-37.53-37.53-37.53h-136.45l-43.17-36.44c-4.54-3.83-10.26-5.94-16.11-5.94h0c-7.64,0-15.04,3.6-19.79,9.63-4.74,6.02-6.43,13.79-4.62,21.31l2.75,11.44h-49.19c-20.73,0-37.53,16.8-37.53,37.53v150.3l-30.1,35.66c-3.83,4.54-5.94,10.26-5.94,16.11h0c0,7.64,3.6,15.04,9.63,19.79,6.02,4.74,13.79,6.43,21.31,4.62l5.1-1.23v41.32c0,20.73,16.8,37.53,37.53,37.53h149.13l43.17,36.44c4.54,3.83,10.26,5.94,16.11,5.94h0c7.64,0,15.04-3.6,19.79-9.63,4.74-6.02,6.43-13.79,4.62-21.31l-2.75-11.44h36.51c20.73,0,37.53-16.8,37.53-37.53v-135.28l42.78-50.68c3.83-4.54,5.94-10.26,5.94-16.11h0c0-7.64-3.6-15.04-9.63-19.79Z\"\/>\r\n          <path class=\"uuid-614cb9d7-dad3-4cc5-ad86-37d7aae32100\" d=\"M318.78,445.91c-1.69,0-3.42-.57-4.96-1.86l-117.62-99.29c-2.11-1.78-3.11-4.54-2.64-7.25l9.82-56.89c.75-4.32,4.19-6.44,7.63-6.44,3.62,0,7.24,2.34,7.74,6.93l5.22,48.41c.32,2.97,2.32,5.5,5.14,6.49l75.96,26.77c2.48.88,4.35,2.95,4.97,5.51l16.35,68.01c1.28,5.34-2.98,9.61-7.6,9.61\"\/>\r\n          <path class=\"uuid-614cb9d7-dad3-4cc5-ad86-37d7aae32100\" d=\"M54.09,318.78c0-1.69.57-3.42,1.86-4.96l99.29-117.62c1.78-2.11,4.54-3.11,7.25-2.64l56.89,9.82c4.32.75,6.44,4.19,6.44,7.63,0,3.62-2.34,7.24-6.93,7.74l-48.41,5.22c-2.97.32-5.5,2.32-6.49,5.14l-26.77,75.96c-.88,2.48-2.95,4.35-5.51,4.97l-68.01,16.35c-5.34,1.28-9.61-2.98-9.61-7.6\"\/>\r\n          <path class=\"uuid-614cb9d7-dad3-4cc5-ad86-37d7aae32100\" d=\"M181.22,54.09c1.69,0,3.42.57,4.96,1.86l117.62,99.29c2.11,1.78,3.11,4.54,2.64,7.25l-9.82,56.89c-.75,4.32-4.19,6.44-7.63,6.44-3.62,0-7.24-2.34-7.74-6.93l-5.22-48.41c-.32-2.97-2.32-5.5-5.14-6.49l-75.96-26.77c-2.48-.88-4.35-2.95-4.97-5.51l-16.35-68.01c-1.28-5.34,2.98-9.61,7.6-9.61\"\/>\r\n          <path class=\"uuid-614cb9d7-dad3-4cc5-ad86-37d7aae32100\" d=\"M445.91,181.22c0,1.69-.57,3.42-1.86,4.96l-99.29,117.62c-1.78,2.11-4.54,3.11-7.25,2.64l-56.89-9.82c-4.32-.75-6.44-4.19-6.44-7.63,0-3.62,2.34-7.24,6.93-7.74l48.41-5.22c2.97-.32,5.5-2.32,6.49-5.14l26.77-75.96c.88-2.48,2.95-4.35,5.51-4.97l68.01-16.35c5.34-1.28,9.61,2.98,9.61,7.6\"\/>\r\n        <\/svg>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- SVG overlay -->\r\n  <svg class=\"dw-lines-svg\" id=\"dwLinesSvg\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><\/svg>\r\n\r\n  <!-- COL 4: Cards -->\r\n  <div class=\"dw-cards-col\" id=\"dwCardsCol\"><\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\n\/\/ SVG ICONS\r\n\r\nconst TECH_ICONS = [\r\n  { label: 'AWS',            bg: 'rgba(255,153,0,0.12)',      svg: `<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 640 640\"><path fill=\"rgb(255, 212, 59)\" d=\"M180.4 267C179.7 289.6 191 299.7 191.3 306C191.2 307.3 190.7 308.5 190 309.6C189.3 310.7 188.3 311.6 187.2 312.2L174.4 321.2C172.7 322.4 170.8 323 168.8 323.1C168.4 323.1 160.6 324.9 148.3 297.5C140.8 306.9 131.3 314.4 120.4 319.5C109.5 324.6 97.7 327.2 85.7 327C69.4 327.9 25.3 317.8 27.6 270.8C26 232.5 61.7 208.7 98.5 210.8C105.6 210.8 120.1 211.2 145.5 217.1L145.5 201.5C148.2 175 130.8 154.5 100.7 157.6C98.3 157.6 81.3 157.1 54.9 167.7C47.5 171.1 46.6 170.5 44.1 170.5C36.7 170.5 39.7 149 41.2 146.3C46.4 139.9 77.1 127.9 107.1 128.1C127.2 126.3 147.2 132.5 162.8 145.4C169.1 152.5 174 160.8 177 169.8C180 178.8 181.2 188.3 180.5 197.8L180.5 267.1zM94 299.4C126.4 298.9 140.2 279.4 143.3 268.9C145.8 258.8 145.4 252.5 145.4 241.5C135.7 239.2 121.8 236.6 105.8 236.6C90.6 235.5 63 242.2 64.1 268.9C62.9 285.7 75.2 300.3 94.1 299.4zM264.9 322.5C257 323.2 253.4 317.6 252.2 312.1L202.4 147.4C201.4 144.6 200.8 141.8 200.5 138.8C200.3 137.6 200.6 136.4 201.3 135.4C202 134.4 203.1 133.8 204.3 133.6C204.5 133.6 202.2 133.6 226.5 133.6C235.3 132.7 238.1 139.6 239.1 144L274.9 284.8L308.1 144C308.6 140.8 311 132.9 320.9 133.8L338.1 133.8C340.3 133.6 349.2 133.3 350.8 144.2L384.1 286.7L421 144.1C421.5 141.9 423.7 132.7 433.7 133.7L453.4 133.7C454.3 133.6 459.6 132.9 458.7 142.3C458.3 144.1 462.1 131.6 405.9 312.2C404.8 317.7 401.1 323.3 393.2 322.6L374.5 322.6C363.6 323.8 362 312.9 361.8 311.9L328.6 174.8L295.8 311.8C295.6 312.9 294.1 323.7 283.1 322.5L264.8 322.5L264.8 322.5zM538.4 328.1C532.5 328.1 504.5 327.8 481 315.8C478.7 314.8 476.7 313.2 475.3 311C473.9 308.8 473.2 306.4 473.2 303.9L473.2 293.2C473.2 284.7 479.4 286.3 482 287.3C492 291.4 498.5 294.4 510.8 296.9C547.5 304.4 563.6 294.6 567.5 292.4C580.7 284.6 581.7 266.7 572.8 257.5C562.3 248.7 557.3 248.4 519.7 236.5C515.1 235.2 476 222.9 475.9 184.1C475.3 155.9 500.9 127.9 545.4 128.1C558.1 128.1 591.8 132.2 601 143.7C602.4 145.8 603 148.3 602.9 150.7L602.9 160.8C602.9 165.2 601.3 167.5 598 167.5C590.3 166.6 576.6 156.3 548.8 156.7C541.9 156.3 508.9 157.6 510.4 181.7C510 200.7 537 207.8 540.1 208.6C576.6 219.6 588.7 221.4 603.2 238.2C620.3 260.4 611.1 286.5 607.5 293.6C588.4 331.1 539.1 328 538.2 328zM578.6 433C508.6 484.7 406.9 512.2 320.1 512.2C203 513 89.8 469.9 2.8 391.5C-3.7 385.6 2 377.5 10 382C106.5 437.2 215.7 466.2 326.9 466.1C409.9 465.7 492 448.8 568.5 416.6C580.3 411.6 590.3 424.4 578.6 433zM607.8 399.7C598.8 388.2 548.5 394.3 526 397C519.2 397.8 518.1 391.9 524.2 387.5C564.3 359.3 630.1 367.4 637.6 376.9C645.1 386.4 635.5 452.3 598 483.8C592.2 488.7 586.7 486.1 589.3 479.7C597.7 458.4 616.7 411.2 607.7 399.7z\"\/><\/svg>` },\r\n  { label: 'Docker',         bg: 'rgba(36,150,237,0.1)',      svg: `<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 640 640\"><path fill=\"rgb(50, 144, 161)\" d=\"M349.9 300.3L283.8 300.3L283.8 240.9L349.9 240.9L349.9 300.3zM349.9 96L283.8 96L283.8 156.7L349.9 156.7L349.9 96zM428.1 240.8L362 240.8L362 300.2L428.1 300.2L428.1 240.8zM271.8 168.7L205.7 168.7L205.7 228.8L271.8 228.8L271.8 168.7zM349.9 168.7L283.8 168.7L283.8 228.8L349.9 228.8L349.9 168.7zM626.7 268.7C612.3 259 579.1 255.5 553.6 260.3C550.3 236.3 536.9 215.4 512.5 196.6L498.5 187.3L489.2 201.3C470.8 229.1 465.8 274.9 485.5 305.1C476.8 309.8 459.7 316.2 437.1 315.8L2.4 315.8C-6.3 366.6 8.2 432.6 46.4 477.9C83.5 521.8 139.1 544.1 211.8 544.1C369.2 544.1 485.7 471.6 540.2 339.9C561.6 340.3 607.8 340 631.5 294.7C633 292.2 638.1 281.5 640 277.6L626.7 268.7zM115.6 240.8L49.6 240.8L49.6 300.2L115.7 300.2L115.7 240.8L115.6 240.8zM193.7 240.8L127.6 240.8L127.6 300.2L193.7 300.2L193.7 240.8zM271.8 240.8L205.7 240.8L205.7 300.2L271.8 300.2L271.8 240.8zM193.7 168.7L127.6 168.7L127.6 228.8L193.7 228.8L193.7 168.7z\"\/><\/svg>` },\r\n  { label: 'Digital Ocean',     bg: 'rgba(50,108,229,0.1)',      svg: `<svg viewBox=\"0 0 128 128\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><g fill-rule=\"nonzero\" fill=\"#0080FF\"><path d=\"M63.724 110.725V92.543c19.352 0 34.282-19.008 26.817-39.118-2.765-7.438-8.57-13.499-16.312-16.254-19.905-7.162-38.982 7.714-38.982 26.722H17c0-30.303 29.582-54.27 61.93-44.352 14.1 4.407 25.158 15.427 29.582 29.476 9.953 32.231-14.1 61.708-44.788 61.708z\"\/><path d=\"M64 92.543H45.753V74.637H64v17.906zm-18.247 14.05H31.929v-14.05h13.824v14.05zm-13.824-14.05H20.318v-11.57h11.611v11.57z\"\/><\/g><\/svg>` },\r\n  { label: 'Terraform',      bg: 'rgb(117 94 212 \/ 10%)',     svg: `<svg viewBox=\"0 0 128 128\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill=\"#7B42BC\" d=\"M48.2 14.5v35.8L76.5 66V30.1zm31.7 17.9V68.2L108.2 51.7V15.6zM16.5 33.2V69l28.3 16.6V49.8zm31.7 54.2L76.5 104V68.2L48.2 51.6z\"\/><\/svg>` },\r\n  { label: 'Azure',          bg: 'rgba(0,114,198,0.1)',       svg: `<svg viewBox=\"0 0 128 128\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><defs><linearGradient id=\"az-a\" x1=\"-.584\" x2=\"64.36\" y1=\"5.809\" y2=\"127.567\" gradientUnits=\"userSpaceOnUse\"><stop offset=\"0\" stop-color=\"#114a8b\"\/><stop offset=\"1\" stop-color=\"#0669bc\"\/><\/linearGradient><linearGradient id=\"az-c\" x1=\"14.585\" x2=\"92.953\" y1=\"8.568\" y2=\"125.737\" gradientUnits=\"userSpaceOnUse\"><stop offset=\"0\" stop-color=\"#3ccbf4\"\/><stop offset=\"1\" stop-color=\"#2892df\"\/><\/linearGradient><\/defs><path fill=\"url(#az-a)\" d=\"M46.1 0h40.7L46.7 125.2a6.5 6.5 0 01-6.1 4.4H6.7a6.5 6.5 0 01-6.3-8.1L39.9 4.4A6.5 6.5 0 0146.1 0z\"\/><path fill=\"#0078d4\" d=\"M97.3 81.6H41.1a3 3 0 00-2 5.2l36 33.6a6.5 6.5 0 004.4 1.8h31.7z\"\/><path fill=\"url(#az-c)\" d=\"M88.1 4.4A6.5 6.5 0 0081.9 0H46.5a6.5 6.5 0 016.1 4.4l39.5 117a6.5 6.5 0 01-6.1 8.5h35.4a6.5 6.5 0 006.1-8.5z\"\/><\/svg>` },\r\n  { label: 'GCP',            bg: 'rgb(110 199 197 \/ 10%)',    svg: `<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 128 128\"><path fill=\"#ea4535\" d=\"M80.6 40.3h.4l-.2-.2 14-14v-.3c-11.8-10.4-28.1-14-43.2-9.5C36.5 20.8 24.9 32.8 20.7 48c.2-.1.5-.2.8-.2 5.2-3.4 11.4-5.4 17.9-5.4 2.2 0 4.3.2 6.4.6.1-.1.2-.1.3-.1 9-9.9 24.2-11.1 34.6-2.6h-.1z\"\/><path fill=\"#557ebf\" d=\"M108.1 47.8c-2.3-8.5-7.1-16.2-13.8-22.1L80 39.9c6 4.9 9.5 12.3 9.3 20v2.5c16.9 0 16.9 25.2 0 25.2H63.9v20h-.1l.1.2h25.4c14.6.1 27.5-9.3 31.8-23.1 4.3-13.8-1-28.8-13-36.9z\"\/><path fill=\"#36a852\" d=\"M39 107.9h26.3V87.7H39c-1.9 0-3.7-.4-5.4-1.1l-15.2 14.6v.2c6 4.3 13.2 6.6 20.7 6.6z\"\/><path fill=\"#f9bc15\" d=\"M40.2 41.9c-14.9.1-28.1 9.3-32.9 22.8-4.8 13.6 0 28.5 11.8 37.3l15.6-14.9c-8.6-3.7-10.6-14.5-4-20.8 6.6-6.4 17.8-4.4 21.7 3.8L68 55.2C61.4 46.9 51.1 42 40.2 42.1z\"\/><\/svg>` },\r\n  { label: 'Linux',          bg: 'rgb(208 208 208)',          svg: `<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https:\/\/fontawesome.com License - https:\/\/fontawesome.com\/license\/free Copyright 2026 Fonticons, Inc.--><path fill=\"rgb(0, 0, 0)\" d=\"M316.9 187.3C317.9 187.8 318.7 189 319.9 189C321 189 322.7 188.6 322.8 187.5C323 186.1 320.9 185.2 319.6 184.6C317.9 183.9 315.7 183.6 314.1 184.5C313.7 184.7 313.3 185.2 313.5 185.6C313.8 186.9 315.8 186.7 316.9 187.3zM295 189C296.2 189 297 187.8 298 187.3C299.1 186.7 301.1 186.9 301.5 185.7C301.7 185.3 301.3 184.8 300.9 184.6C299.3 183.7 297.1 184 295.4 184.7C294.1 185.3 292 186.2 292.2 187.6C292.3 188.6 294 189.1 295 189zM516 467.8C512.4 463.8 510.7 456.2 508.8 448.1C507 440 504.9 431.3 498.3 425.7C497 424.6 495.7 423.6 494.3 422.8C493 422 491.6 421.3 490.2 420.8C499.4 393.5 495.8 366.3 486.5 341.7C475.1 311.6 455.2 285.3 440 267.3C422.9 245.8 406.3 225.4 406.6 195.3C407.1 149.4 411.7 64.1 330.8 64C228.4 63.8 254 167.4 252.9 199.2C251.2 222.6 246.5 241 230.4 263.9C211.5 286.4 184.9 322.7 172.3 360.6C166.3 378.5 163.5 396.7 166.1 413.9C159.6 419.7 154.7 428.6 149.5 434.1C145.3 438.4 139.2 440 132.5 442.4C125.8 444.8 118.5 448.4 114 456.9C111.9 460.8 111.2 465 111.2 469.3C111.2 473.2 111.8 477.2 112.4 481.1C113.6 489.2 114.9 496.8 113.2 501.9C108 516.3 107.3 526.3 111 533.6C114.8 540.9 122.4 544.1 131.1 545.9C148.4 549.5 171.9 548.6 190.4 558.4C210.2 568.8 230.3 572.5 246.3 568.8C257.9 566.2 267.4 559.2 272.2 548.6C284.7 548.5 298.5 543.2 320.5 542C335.4 540.8 354.1 547.3 375.6 546.1C376.2 548.4 377 550.7 378.1 552.8L378.1 552.9C386.4 569.6 401.9 577.2 418.4 575.9C435 574.6 452.5 564.9 466.7 548C480.3 531.6 502.7 524.8 517.6 515.8C525 511.3 531 505.7 531.5 497.5C531.9 489.3 527.1 480.2 516 467.8zM319.8 151.3C329.6 129.1 354 129.5 363.8 150.9C370.3 165.1 367.4 181.8 359.5 191.3C357.9 190.5 353.6 188.7 346.9 186.4C348 185.2 350 183.7 350.8 181.8C355.6 170 350.6 154.8 341.7 154.5C334.4 154 327.8 165.3 329.9 177.5C325.8 175.5 320.5 174 316.9 173.1C315.9 166.2 316.6 158.5 319.8 151.3zM279.1 139.8C289.2 139.8 299.9 154 298.2 173.3C294.7 174.3 291.1 175.8 288 177.9C289.2 169 284.7 157.8 278.4 158.3C270 159 268.6 179.5 276.6 186.4C277.6 187.2 278.5 186.2 270.7 191.9C255.1 177.3 260.2 139.8 279.1 139.8zM265.5 200.5C271.7 195.9 279.1 190.5 279.6 190C284.3 185.6 293.1 175.8 307.5 175.8C314.6 175.8 323.1 178.1 333.4 184.7C339.7 188.8 344.7 189.1 356 194C364.4 197.5 369.7 203.7 366.5 212.2C363.9 219.3 355.5 226.6 343.8 230.3C332.7 233.9 324 246.3 305.6 245.2C301.7 245 298.6 244.2 296 243.1C288 239.6 283.8 232.7 276 228.1C267.4 223.3 262.8 217.7 261.3 212.8C259.9 207.9 261.3 203.8 265.5 200.5zM268.8 534.5C266.1 569.6 224.9 568.9 193.5 552.5C163.6 536.7 124.9 546 117 530.6C114.6 525.9 114.6 517.9 119.6 504.2L119.6 504C122 496.4 120.2 488 119 480.1C117.8 472.3 117.2 465.1 119.9 460.1C123.4 453.4 128.4 451 134.7 448.8C145 445.1 146.5 445.4 154.3 438.9C159.8 433.2 163.8 426 168.6 420.9C173.7 415.4 178.6 412.8 186.3 414C194.4 415.2 201.4 420.8 208.2 430L227.8 465.6C237.3 485.5 270.9 514 268.8 534.5zM267.4 508.6C263.3 502 257.8 495 253 489C260.1 489 267.2 486.8 269.7 480.1C272 473.9 269.7 465.2 262.3 455.2C248.8 437 224 422.7 224 422.7C210.5 414.3 202.9 404 199.4 392.8C195.9 381.6 196.4 369.5 199.1 357.6C204.3 334.7 217.7 312.4 226.3 298.4C228.6 296.7 227.1 301.6 217.6 319.2C209.1 335.3 193.2 372.5 215 401.6C215.6 380.9 220.5 359.8 228.8 340.1C240.8 312.7 266.1 265.2 268.1 227.4C269.2 228.2 272.7 230.6 274.3 231.5C278.9 234.2 282.4 238.2 286.9 241.8C299.3 251.8 315.4 251 329.3 243C335.5 239.5 340.5 235.5 345.2 234C355.1 230.9 363 225.4 367.5 219C375.2 249.4 393.2 293.3 404.7 314.7C410.8 326.1 423 350.2 428.3 379.3C431.6 379.2 435.3 379.7 439.2 380.7C453 345 427.5 306.5 415.9 295.8C411.2 291.2 411 289.2 413.3 289.3C425.9 300.5 442.5 323 448.5 348.3C451.3 359.9 451.8 372 448.9 384C465.3 390.8 484.8 401.9 479.6 418.8C477.4 418.7 476.4 418.8 475.4 418.8C478.6 408.7 471.5 401.2 452.6 392.7C433 384.1 416.6 384.1 414.3 405.2C402.2 409.4 396 419.9 392.9 432.5C390.1 443.7 389.3 457.2 388.5 472.4C388 480.1 384.9 490.4 381.7 501.4C349.6 524.3 305 534.3 267.4 508.6zM524.8 497.1C523.9 513.9 483.6 517 461.6 543.6C448.4 559.3 432.2 568 418 569.1C403.8 570.2 391.5 564.3 384.3 549.8C379.6 538.7 381.9 526.7 385.4 513.5C389.1 499.3 394.6 484.7 395.3 472.9C396.1 457.7 397 444.4 399.5 434.2C402.1 423.9 406.1 417 413.2 413.1C413.5 412.9 413.9 412.8 414.2 412.6C415 425.8 421.5 439.2 433 442.1C445.6 445.4 463.7 434.6 471.4 425.8C480.4 425.5 487.1 424.9 494 430.9C503.9 439.4 501.1 461.2 511.1 472.5C521.7 484.1 525.1 492 524.8 497.1zM269.4 212.7C271.4 214.6 274.1 217.2 277.4 219.8C284 225 293.2 230.4 304.7 230.4C316.3 230.4 327.2 224.5 336.5 219.6C341.4 217 347.4 212.6 351.3 209.2C355.2 205.8 357.2 202.9 354.4 202.6C351.6 202.3 351.8 205.2 348.4 207.7C344 210.9 338.7 215.1 334.5 217.5C327.1 221.7 315 227.7 304.6 227.7C294.2 227.7 285.9 222.9 279.7 218C276.6 215.5 274 213 272 211.1C270.5 209.7 270.1 206.5 267.7 206.2C266.3 206.1 265.9 209.9 269.4 212.7z\"><\/path><\/svg>` },\r\n  { label: 'GitHub Actions', bg: 'rgba(255,255,255,0.06)',    svg: `<svg viewBox=\"0 0 128 128\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path fill=\"#fff\" fill-rule=\"evenodd\" d=\"M64 5.1C32 5.1 6 31.1 6 63.1c0 25.6 16.6 47.4 39.7 55.1 2.9.5 4-1.3 4-2.8v-9.8c-16.2 3.5-19.6-7.8-19.6-7.8-2.6-6.7-6.4-8.5-6.4-8.5-5.3-3.6.4-3.5.4-3.5 5.8.4 8.9 6 8.9 6 5.2 8.9 13.6 6.3 16.9 4.8.5-3.8 2-6.3 3.7-7.8-12.9-1.5-26.5-6.4-26.5-28.7 0-6.3 2.3-11.5 6-15.6-.6-1.5-2.6-7.4.6-15.4 0 0 4.9-1.6 16 6 4.6-1.3 9.6-1.9 14.5-1.9 4.9 0 9.9.6 14.5 1.9 11.1-7.6 16-6 16-6 3.2 8 1.2 14 .6 15.4 3.7 4.1 6 9.3 6 15.6 0 22.4-13.6 27.2-26.6 28.6 2.1 1.8 4 5.4 4 10.8v16c0 1.5 1 3.3 4 2.8C105.4 110.5 122 88.7 122 63.1 122 31.1 96 5.1 64 5.1z\"\/><\/svg>` }\r\n];\r\n\r\n\r\n\/\/ \u2500\u2500\u2500 SERVICES JSON \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\r\n\/\/ Each service has: label, sub, accent, glow, and a Lucide icon name\r\n\/\/  Translations \r\nconst TRANSLATIONS = {\r\n  en: {\r\n    services: [\r\n      { label: 'DevOps Engineering & CI\/CD',      sub: 'Automated Pipelines'    },\r\n      { label: 'Cloud Engineering',               sub: 'Scalable Architecture'  },\r\n      { label: 'Cloud Migration & Optimization',  sub: 'Zero-Downtime Moves'    },\r\n      { label: 'Security Engineering',            sub: 'Hardened by Design'     },\r\n      { label: 'API Gateway & Integration',       sub: 'Connected Systems'      },\r\n    ]\r\n  },\r\n  es: {\r\n    services: [\r\n      { label: 'Ingenier\u00eda DevOps y CI\/CD',                sub: 'Pipelines Automatizados'      },\r\n      { label: 'Ingenier\u00eda en la Nube',                    sub: 'Arquitectura Escalable'        },\r\n      { label: 'Migraci\u00f3n y Optimizaci\u00f3n en la Nube',      sub: 'Migraciones sin Tiempo Muerto' },\r\n      { label: 'Ingenier\u00eda de Seguridad',                  sub: 'Seguridad desde el Dise\u00f1o'    },\r\n      { label: 'API Gateway e Integraci\u00f3n',                sub: 'Sistemas Conectados'           },\r\n    ]\r\n  },\r\n  fr: {\r\n    services: [\r\n      { label: 'Ing\u00e9nierie DevOps & CI\/CD',                sub: 'Pipelines Automatis\u00e9s'         },\r\n      { label: 'Ing\u00e9nierie Cloud',                         sub: 'Architecture \u00c9volutive'         },\r\n      { label: 'Migration et Optimisation Cloud',          sub: 'Migrations sans Interruption'   },\r\n      { label: 'Ing\u00e9nierie de la S\u00e9curit\u00e9',                sub: 'S\u00e9curit\u00e9 par Conception'        },\r\n      { label: 'API Gateway et Int\u00e9gration',               sub: 'Syst\u00e8mes Connect\u00e9s'             },\r\n    ]\r\n  }\r\n};\r\n\r\nlet SERVICES = [];\r\n\/\/  Locale detection \r\ntry {\r\n  \/\/const isSpanish = window.location.pathname.includes('\/es') || window.location.href.includes('\/es');\r\n  \/\/const isFrench  = window.location.pathname.includes('\/fr') || window.location.href.includes('\/fr');\r\n\r\n  const locale = isSpanish ? 'es' : isFrench ? 'fr' : 'en';\r\n  const t = TRANSLATIONS[locale].services;\r\n\r\n  \/\/  SERVICES array \r\n  SERVICES = [\r\n    {\r\n      label:  t[0].label,\r\n      sub:    t[0].sub,\r\n      accent: '#59B5F8',\r\n      glow:   'rgba(89,181,248,0.18)',\r\n      icon:   `<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" data-lucide=\"git-branch\" aria-hidden=\"true\" style=\"color: rgb(89, 181, 248); width: 18px; height: 18px;\" class=\"lucide lucide-git-branch\"><path d=\"M15 6a9 9 0 0 0-9 9V3\"><\/path><circle cx=\"18\" cy=\"6\" r=\"3\"><\/circle><circle cx=\"6\" cy=\"18\" r=\"3\"><\/circle><\/svg>`\r\n    },\r\n    {\r\n      label:  t[1].label,\r\n      sub:    t[1].sub,\r\n      accent: '#3ABB90',\r\n      glow:   'rgba(58,187,144,0.18)',\r\n      icon:   `<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" data-lucide=\"cloud\" aria-hidden=\"true\" style=\"color: rgb(58, 187, 144); width: 18px; height: 18px;\" class=\"lucide lucide-cloud\"><path d=\"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z\"><\/path><\/svg>`\r\n    },\r\n    {\r\n      label:  t[2].label,\r\n      sub:    t[2].sub,\r\n      accent: '#B282F0',\r\n      glow:   'rgba(178,130,240,0.18)',\r\n      icon:   `<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" data-lucide=\"arrow-right-left\" aria-hidden=\"true\" style=\"color: rgb(178, 130, 240); width: 18px; height: 18px;\" class=\"lucide lucide-arrow-right-left\"><path d=\"m16 3 4 4-4 4\"><\/path><path d=\"M20 7H4\"><\/path><path d=\"m8 21-4-4 4-4\"><\/path><path d=\"M4 17h16\"><\/path><\/svg>`\r\n    },\r\n    {\r\n      label:  t[3].label,\r\n      sub:    t[3].sub,\r\n      accent: '#FFBE2E',\r\n      glow:   'rgba(255,190,46,0.18)',\r\n      icon:   `<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" data-lucide=\"shield-check\" aria-hidden=\"true\" style=\"color: rgb(255, 190, 46); width: 18px; height: 18px;\" class=\"lucide lucide-shield-check\"><path d=\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"><\/path><path d=\"m9 12 2 2 4-4\"><\/path><\/svg>`\r\n    },\r\n    {\r\n      label:  t[4].label,\r\n      sub:    t[4].sub,\r\n      accent: '#F97289',\r\n      glow:   'rgba(249,114,137,0.18)',\r\n      icon:   `<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" data-lucide=\"network\" aria-hidden=\"true\" style=\"color: rgb(249, 114, 137); width: 18px; height: 18px;\" class=\"lucide lucide-network\"><rect x=\"16\" y=\"16\" width=\"6\" height=\"6\" rx=\"1\"><\/rect><rect x=\"2\" y=\"16\" width=\"6\" height=\"6\" rx=\"1\"><\/rect><rect x=\"9\" y=\"2\" width=\"6\" height=\"6\" rx=\"1\"><\/rect><path d=\"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3\"><\/path><path d=\"M12 12V8\"><\/path><\/svg>`\r\n    },\r\n  ];\r\n} catch (e) {\r\n  console.error('Locale detection failed, falling back to English.', e);\r\n}\r\n\r\n\/\/ BUILD MARQUEE\r\n\r\nfunction buildMarquee() {\r\n  const inner = document.getElementById('dwMarqueeInner');\r\n  inner.innerHTML = '';\r\n\r\n  function makeStrip() {\r\n    const strip = document.createElement('div');\r\n    strip.className = 'dw-marquee-strip';\r\n    TECH_ICONS.forEach(({ label, bg, svg }) => {\r\n      const icon = document.createElement('div');\r\n      icon.className = 'dw-tech-icon';\r\n      icon.title = label;\r\n      icon.style.background = bg;\r\n      icon.innerHTML = svg;\r\n      strip.appendChild(icon);\r\n    });\r\n    return strip;\r\n  }\r\n\r\n  inner.appendChild(makeStrip());\r\n  inner.appendChild(makeStrip());\r\n\r\n  \/\/ Cancel any existing animation first\r\n  inner.style.animation = 'none';\r\n  inner.getBoundingClientRect(); \/\/ force reflow\r\n\r\n  requestAnimationFrame(() => {\r\n    requestAnimationFrame(() => {\r\n      const isMobile = window.innerWidth <= 768;\r\n      if (isMobile) {\r\n        const totalW = inner.scrollWidth;\r\n        const dur = ((totalW \/ 2) * 0.055).toFixed(1);\r\n        inner.style.animation = `dw-marquee-left ${dur}s linear infinite`;\r\n      } else {\r\n        const totalH = inner.scrollHeight;\r\n        const dur = ((totalH \/ 2) * 0.055).toFixed(1);\r\n        inner.style.animation = `dw-marquee-up ${dur}s linear infinite`;\r\n      }\r\n    });\r\n  });\r\n}\r\n\r\n\r\n\/\/ BUILD CARDS \r\nfunction buildCards() {\r\n  const col = document.getElementById('dwCardsCol');\r\n  SERVICES.forEach((svc, i) => {\r\n    const card = document.createElement('div');\r\n    card.className = 'dw-card';\r\n    card.id = `dwCard${i}`;\r\n    card.style.setProperty('--card-accent', svc.accent);\r\n    card.style.setProperty('--card-glow', svc.glow);\r\n    card.innerHTML = `\r\n      <div class=\"dw-card-icon\" style=\"color:${svc.accent}\">${svc.icon}<\/div>\r\n      <div class=\"dw-card-text\">\r\n        <div class=\"dw-card-label\">${svc.label}<\/div>\r\n        <div class=\"dw-card-sub\">${svc.sub}<\/div>\r\n      <\/div>`;\r\n    col.appendChild(card);\r\n  });\r\n}\r\n\r\n\/\/ DRAW LINES\r\nfunction drawLines() {\r\n  const svg     = document.getElementById('dwLinesSvg');\r\n  const wrapper = document.getElementById('dwWrapper');\r\n  const logo    = document.getElementById('dwLogoBox');\r\n  const marquee = document.getElementById('dwMarquee');\r\n  svg.innerHTML = '';\r\n\r\n  const wR = wrapper.getBoundingClientRect();\r\n  const lR = logo.getBoundingClientRect();\r\n  const mR = marquee.getBoundingClientRect();\r\n\r\n  svg.setAttribute('viewBox', `0 0 ${wR.width} ${wR.height}`);\r\n  svg.setAttribute('preserveAspectRatio', 'none');\r\n\r\n  \/\/ Relative to wrapper\r\n  const logoMidY    = lR.top  + lR.height \/ 2 - wR.top;\r\n  const logoLeftX   = lR.left - wR.left;\r\n  const logoRightX  = lR.right - wR.left;\r\n  const marqRightX  = mR.right - wR.left;\r\n  const marqMidY    = mR.top + mR.height \/ 2 - wR.top;\r\n\r\n\r\n\r\n\r\nconst isMobile = window.innerWidth <= 768;\r\n\r\n  \/\/ Horizontal connector: center of marquee right edge -> logo left, centered vertically\r\n\r\n const hline = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'line');\r\n  if (isMobile) {\r\n    const marqCenterX = mR.left + mR.width \/ 2 - wR.left;\r\n    const marqBottomY = mR.bottom - wR.top;\r\n    const logoCenterX = lR.left + lR.width \/ 2 - wR.left;\r\n    const logoTopY    = lR.top - wR.top;\r\n    hline.setAttribute('x1', marqCenterX);\r\n    hline.setAttribute('y1', marqBottomY);\r\n    hline.setAttribute('x2', logoCenterX);\r\n    hline.setAttribute('y2', logoTopY);\r\n  } else {\r\n    hline.setAttribute('x1', marqRightX);\r\n    hline.setAttribute('y1', marqMidY);\r\n    hline.setAttribute('x2', logoLeftX);\r\n    hline.setAttribute('y2', logoMidY);\r\n  }\r\n  hline.setAttribute('class', 'dw-hline');\r\n  svg.appendChild(hline);\r\n\r\n  \/\/ Bezier curves: logo right -> each card left midpoint\r\nif (isMobile) {\r\n  \/\/ Logo bottom center -> top center of each card\r\n  const logoCenterX = lR.left + lR.width \/ 2 - wR.left;\r\n  const logoBottomY = lR.bottom - wR.top;\r\n\r\n  SERVICES.forEach((_, i) => {\r\n    const card = document.getElementById(`dwCard${i}`);\r\n    if (!card) return;\r\n    const cR = card.getBoundingClientRect();\r\n    const endX = cR.left + cR.width \/ 2 - wR.left;\r\n    const endY = cR.top - wR.top;\r\n    const midY = logoBottomY + (endY - logoBottomY) * 0.5;\r\n\r\n    const path = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\r\n    path.setAttribute('d', `M ${logoCenterX} ${logoBottomY} C ${logoCenterX} ${midY}, ${endX} ${midY}, ${endX} ${endY}`);\r\n    path.setAttribute('class', 'dw-cline dw-cline--off');\r\n    path.id = `dwLine${i}`;\r\n    svg.appendChild(path);\r\n  });\r\n\r\n  } else {\r\n    \/\/ desktop logic\r\n\r\n    SERVICES.forEach((_, i) => {\r\n      const card = document.getElementById(`dwCard${i}`);\r\n      if (!card) return;\r\n      const cR = card.getBoundingClientRect();\r\n      const endX = cR.left - wR.left;\r\n      const endY = cR.top + cR.height \/ 2 - wR.top;\r\n      const midX = logoRightX + (endX - logoRightX) * 0.5;\r\n\r\n      const path = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\r\n      path.setAttribute('d', `M ${logoRightX} ${logoMidY} C ${midX} ${logoMidY}, ${midX} ${endY}, ${endX} ${endY}`);\r\n      path.setAttribute('class', 'dw-cline dw-cline--off');\r\n      path.id = `dwLine${i}`;\r\n      svg.appendChild(path);\r\n    });\r\n}\r\n}\r\n\r\n\/\/ ACTIVATE CARD\r\nlet dwActive = -1;\r\n\r\nfunction dwActivate(idx) {\r\n  SERVICES.forEach((_, i) => {\r\n    document.getElementById(`dwCard${i}`)?.classList.remove('dw-card--active');\r\n    const ln = document.getElementById(`dwLine${i}`);\r\n    if (ln) {\r\n      ln.classList.replace('dw-cline--on', 'dw-cline--off');\r\n      ln.style.stroke = '';\r\n      ln.style.filter = '';\r\n    }\r\n  });\r\n\r\n  document.getElementById(`dwCard${idx}`)?.classList.add('dw-card--active');\r\n  const al = document.getElementById(`dwLine${idx}`);\r\n  if (al) {\r\n    al.classList.replace('dw-cline--off', 'dw-cline--on');\r\n    al.style.stroke = SERVICES[idx].accent;\r\n    al.style.filter = `drop-shadow(0 0 4px ${SERVICES[idx].accent})`;\r\n  }\r\n\r\n  dwActive = idx;\r\n}\r\n\r\n\/\/ INIT\r\nbuildMarquee();\r\nbuildCards();\r\n\r\n\/\/ Wait for layout to stabilise before measuring positions\r\nsetTimeout(() => {\r\n  drawLines();\r\n  dwActivate(0);\r\n  let idx = 0;\r\n  setInterval(() => {\r\n    idx = (idx + 1) % SERVICES.length;\r\n    dwActivate(idx);\r\n  }, 2800);\r\n}, window.innerWidth <= 768 ? 600 : 300);\r\n\r\nfunction handleResize() {\r\n  buildMarquee();\r\n  drawLines();\r\n  if (dwActive >= 0) dwActivate(dwActive);\r\n}\r\n\r\nwindow.addEventListener('resize', handleResize);\r\nwindow.addEventListener('orientationchange', handleResize);\r\n\r\nif (window.ResizeObserver) {\r\n  new ResizeObserver(() => {\r\n    handleResize();\r\n  }).observe(document.getElementById('dwWrapper'));\r\n}\r\n\r\n<\/script>\r\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-b38ab03 e-flex e-con-boxed e-con e-child \" data-id=\"b38ab03\" data-element_type=\"container\" data-e-type=\"container\">\t\t\t<div class=\"e-con-inner\">\r\n\t\t<div class=\"elementor-element elementor-element-c9d4bf6 e-con-full e-flex e-con e-child \" data-id=\"c9d4bf6\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-1fab62c elementor-widget__width-initial elementor-absolute half-circle elementor-widget elementor-widget-html\" data-id=\"1fab62c\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t\t\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.2\/css\/all.min.css\">\r\n<style>\r\n  .orb-wrap {\r\n    background: #161616;\r\n    position: relative;\r\n    width: 100%;\r\n    aspect-ratio: 800 \/ 500;\r\n  }\r\n  .orb-wrap svg.orb-bg {\r\n    position: absolute;\r\n    inset: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n  }\r\n  .orb-icons {\r\n    position: absolute;\r\n    inset: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n  }\r\n  .orb-icon {\r\n    position: absolute;\r\n    border-radius: 50%;\r\n    background: #181818;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    width: var(--sz);\r\n    height: var(--sz);\r\n    box-shadow: 0 0 50px var(--glow-color);\r\n    border: 1px solid var(--glow-color);\r\n    transform: translate(-50%, -50%);\r\n    transition: all 0.2s ease-in-out;\r\n  }\r\n  .orb-icon:hover {\r\n    box-shadow: 0 0 20px var(--glow-color);\r\n    transition: all 0.2s ease-in-out;\r\n  }\r\n  .orb-icon svg { width: 52%; height: 52%; }\r\n  .orb-icon i { font-size: calc(var(--sz) * 0.42); line-height: 1; }\r\n\r\n  @keyframes f1 { 0%,100%{margin-top:0} 50%{margin-top:-10px} }\r\n  @keyframes f2 { 0%,100%{margin-top:0} 50%{margin-top:-8px} }\r\n  @keyframes f3 { 0%,100%{margin-top:0} 50%{margin-top:-12px} }\r\n  @keyframes f4 { 0%,100%{margin-top:0} 50%{margin-top:-9px} }\r\n  @keyframes f5 { 0%,100%{margin-top:0} 50%{margin-top:-11px} }\r\n  @keyframes f6 { 0%,100%{margin-top:0} 50%{margin-top:-7px} }\r\n  .fa { animation: f1 4.2s ease-in-out infinite; }\r\n  .fb { animation: f2 3.8s ease-in-out infinite 0.7s; }\r\n  .fc { animation: f3 4.6s ease-in-out infinite 1.2s; }\r\n  .fd { animation: f4 3.6s ease-in-out infinite 0.4s; }\r\n  .fe { animation: f5 4.1s ease-in-out infinite 1.0s; }\r\n  .ff { animation: f6 3.9s ease-in-out infinite 1.6s; }\r\n\r\n  @media (max-width: 425px) {\r\n    .orb-icon svg { width: 42%; height: 42%; }\r\n    .orb-icon { --sz:46px !important; }\r\n    .orb-icon, .orb-icon:hover { box-shadow: 0 0 25px var(--glow-color); }\r\n  }\r\n<\/style>\r\n\r\n<div class=\"orb-wrap\" role=\"img\" aria-label=\"Iconos de plataformas de nube e infraestructura flotando sobre anillos de arco\">\r\n\r\n  <svg class=\"orb-bg\" id=\"Layer_1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" version=\"1.1\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" viewBox=\"0 0 800 500\">\r\n    <defs>\r\n      <style>.orbit-st0{fill:none}.orbit-st1{fill:url(#radial-gradient);filter:url(#drop-shadow-1)}.orbit-st2{fill:url(#radial-gradient2);filter:url(#drop-shadow-3)}.orbit-st3{fill:url(#radial-gradient1);filter:url(#drop-shadow-2)}.orbit-st4{fill:url(#linear-gradient)}.orbit-st5{clip-path:url(#clippath)}<\/style>\r\n      <clipPath id=\"clippath\"><rect class=\"orbit-st0\" x=\"-1.3\" width=\"800\" height=\"500\"\/><\/clipPath>\r\n      <radialGradient id=\"radial-gradient\" cx=\"1589.7\" cy=\"287.3\" fx=\"1589.7\" fy=\"287.3\" r=\"382.9\" gradientUnits=\"userSpaceOnUse\">\r\n        <stop offset=\"0\" stop-color=\"#232323\"\/>\r\n        <stop offset=\"1\" stop-color=\"#1d1c1c\"\/>\r\n      <\/radialGradient>\r\n      <filter id=\"drop-shadow-1\" x=\"-20.3\" y=\"78.7\" width=\"838.1\" height=\"838.1\" filterUnits=\"userSpaceOnUse\">\r\n        <feOffset dx=\"0\" dy=\"0\"\/><feGaussianBlur result=\"blur\" stdDeviation=\"12\"\/>\r\n        <feFlood flood-color=\"#000\" flood-opacity=\".3\"\/>\r\n        <feComposite in2=\"blur\" operator=\"in\"\/><feComposite in=\"SourceGraphic\"\/>\r\n      <\/filter>\r\n      <radialGradient id=\"radial-gradient1\" cx=\"1589.7\" cy=\"287.3\" fx=\"1589.7\" fy=\"287.3\" r=\"260.2\" gradientUnits=\"userSpaceOnUse\">\r\n        <stop offset=\"0\" stop-color=\"#232323\"\/>\r\n        <stop offset=\".4\" stop-color=\"#252525\"\/>\r\n        <stop offset=\"1\" stop-color=\"#222121\"\/>\r\n      <\/radialGradient>\r\n      <filter id=\"drop-shadow-2\" x=\"102.4\" y=\"201.3\" width=\"592.6\" height=\"592.8\" filterUnits=\"userSpaceOnUse\">\r\n        <feOffset dx=\"0\" dy=\"0\"\/><feGaussianBlur result=\"blur1\" stdDeviation=\"12\"\/>\r\n        <feFlood flood-color=\"#000\" flood-opacity=\".3\"\/>\r\n        <feComposite in2=\"blur1\" operator=\"in\"\/><feComposite in=\"SourceGraphic\"\/>\r\n      <\/filter>\r\n      <radialGradient id=\"radial-gradient2\" cx=\"1589.7\" cy=\"287.3\" fx=\"1589.7\" fy=\"287.3\" r=\"155.1\" gradientUnits=\"userSpaceOnUse\">\r\n        <stop offset=\"0\" stop-color=\"#232323\"\/>\r\n        <stop offset=\".4\" stop-color=\"#252525\"\/>\r\n        <stop offset=\"1\" stop-color=\"#2f2e2e\"\/>\r\n      <\/radialGradient>\r\n      <filter id=\"drop-shadow-3\" x=\"207.5\" y=\"306.4\" width=\"382.6\" height=\"382.6\" filterUnits=\"userSpaceOnUse\">\r\n        <feOffset dx=\"0\" dy=\"0\"\/><feGaussianBlur result=\"blur2\" stdDeviation=\"12\"\/>\r\n        <feFlood flood-color=\"#000\" flood-opacity=\".3\"\/>\r\n        <feComposite in2=\"blur2\" operator=\"in\"\/><feComposite in=\"SourceGraphic\"\/>\r\n      <\/filter>\r\n      <linearGradient id=\"linear-gradient\" x1=\"400\" y1=\"500\" x2=\"400\" y2=\"380.5\" gradientUnits=\"userSpaceOnUse\">\r\n        <stop offset=\"0\" stop-color=\"#000\"\/>\r\n        <stop offset=\"1\" stop-color=\"#161616\" stop-opacity=\"0\"\/>\r\n      <\/linearGradient>\r\n    <\/defs>\r\n    <g class=\"orbit-st5\">\r\n      <g>\r\n        <circle class=\"orbit-st1\" cx=\"398.7\" cy=\"497.7\" r=\"382.9\"\/>\r\n        <circle class=\"orbit-st3\" cx=\"398.7\" cy=\"497.7\" r=\"260.2\"\/>\r\n        <circle class=\"orbit-st2\" cx=\"398.7\" cy=\"497.7\" r=\"155.1\"\/>\r\n      <\/g>\r\n    <\/g>\r\n    <rect class=\"orbit-st4\" x=\"-1.3\" y=\"380.5\" width=\"802.6\" height=\"119.5\"\/>\r\n  <\/svg>\r\n\r\n  <div class=\"orb-icons\">\r\n\r\n    <!-- Cloud (AWS) -->\r\n<div class=\"orb-icon fa\" style=\"--sz:50px; left:8.6%; top:62.4%; --glow-color:rgba(255,153,0,0.45);\" title=\"AWS\">\r\n<i class=\"fa-brands fa-aws\" style=\"color:#FF9900;\"><\/i>\r\n<\/div>\r\n\r\n<!-- Google Cloud -->\r\n<div class=\"orb-icon fb\" style=\"--sz:50px;left:62%; top:52%; --glow-color:rgb(234, 69, 53,0.45);\" title=\"Google Cloud\">\r\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 128 128\"><path fill=\"#ea4535\" d=\"M80.6 40.3h.4l-.2-.2 14-14v-.3c-11.8-10.4-28.1-14-43.2-9.5C36.5 20.8 24.9 32.8 20.7 48c.2-.1.5-.2.8-.2 5.2-3.4 11.4-5.4 17.9-5.4 2.2 0 4.3.2 6.4.6.1-.1.2-.1.3-.1 9-9.9 24.2-11.1 34.6-2.6h-.1z\"\/><path fill=\"#557ebf\" d=\"M108.1 47.8c-2.3-8.5-7.1-16.2-13.8-22.1L80 39.9c6 4.9 9.5 12.3 9.3 20v2.5c16.9 0 16.9 25.2 0 25.2H63.9v20h-.1l.1.2h25.4c14.6.1 27.5-9.3 31.8-23.1 4.3-13.8-1-28.8-13-36.9z\"\/><path fill=\"#36a852\" d=\"M39 107.9h26.3V87.7H39c-1.9 0-3.7-.4-5.4-1.1l-15.2 14.6v.2c6 4.3 13.2 6.6 20.7 6.6z\"\/><path fill=\"#f9bc15\" d=\"M40.2 41.9c-14.9.1-28.1 9.3-32.9 22.8-4.8 13.6 0 28.5 11.8 37.3l15.6-14.9c-8.6-3.7-10.6-14.5-4-20.8 6.6-6.4 17.8-4.4 21.7 3.8L68 55.2C61.4 46.9 51.1 42 40.2 42.1z\"\/><\/svg>\r\n<\/div>\r\n\r\n<!-- Containers (Docker) -->\r\n<div class=\"orb-icon fc\" style=\"--sz:50px; left:47.25%; top:25.96%; --glow-color:#1ea9e059;\" title=\"Docker\">\r\n<i class=\"fa-brands fa-docker\" style=\"color:#1ea9e0;\"><\/i>\r\n<\/div>\r\n\r\n<!-- Azure -->\r\n<div class=\"orb-icon fd\" style=\"--sz:50px; left:31.9%; top:58.7%; --glow-color:rgba(240,246,252,0.35); \" title=\"Azure\">\r\n<svg viewBox=\"0 0 128 128\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><defs><linearGradient id=\"azure-original-a\" x1=\"60.919\" y1=\"9.602\" x2=\"18.667\" y2=\"134.423\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#114A8B\"\/><stop offset=\"1\" stop-color=\"#0669BC\"\/><\/linearGradient><linearGradient id=\"azure-original-b\" x1=\"74.117\" y1=\"67.772\" x2=\"64.344\" y2=\"71.076\" gradientUnits=\"userSpaceOnUse\"><stop stop-opacity=\".3\"\/><stop offset=\".071\" stop-opacity=\".2\"\/><stop offset=\".321\" stop-opacity=\".1\"\/><stop offset=\".623\" stop-opacity=\".05\"\/><stop offset=\"1\" stop-opacity=\"0\"\/><\/linearGradient><linearGradient id=\"azure-original-c\" x1=\"68.742\" y1=\"5.961\" x2=\"115.122\" y2=\"129.525\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#3CCBF4\"\/><stop offset=\"1\" stop-color=\"#2892DF\"\/><\/linearGradient><\/defs><path d=\"M46.09.002h40.685L44.541 125.137a6.485 6.485 0 01-6.146 4.413H6.733a6.482 6.482 0 01-5.262-2.699 6.474 6.474 0 01-.876-5.848L39.944 4.414A6.488 6.488 0 0146.09 0z\" fill=\"url(#azure-original-a)\" transform=\"translate(.587 4.468) scale(.91904)\"\/><path d=\"M97.28 81.607H37.987a2.743 2.743 0 00-1.874 4.751l38.1 35.562a5.991 5.991 0 004.087 1.61h33.574z\" fill=\"#0078d4\"\/><path d=\"M46.09.002A6.434 6.434 0 0039.93 4.5L.644 120.897a6.469 6.469 0 006.106 8.653h32.48a6.942 6.942 0 005.328-4.531l7.834-23.089 27.985 26.101a6.618 6.618 0 004.165 1.519h36.396l-15.963-45.616-46.533.011L86.922.002z\" fill=\"url(#azure-original-b)\" transform=\"translate(.587 4.468) scale(.91904)\"\/><path d=\"M98.055 4.408A6.476 6.476 0 0091.917.002H46.575a6.478 6.478 0 016.137 4.406l39.35 116.594a6.476 6.476 0 01-6.137 8.55h45.344a6.48 6.48 0 006.136-8.55z\" fill=\"url(#azure-original-c)\" transform=\"translate(.587 4.468) scale(.91904)\"\/><\/svg>\r\n\r\n<\/div>\r\n\r\n<!-- CI\/CD (GitHub Actions) -->\r\n<div class=\"orb-icon fe\" style=\"--sz:50px; left:83%; top:45%; --glow-color:rgba(240,246,252,0.35);\" title=\"GitHub\">\r\n<i class=\"fa-brands fa-github\" style=\"color:#e6edf3;\"><\/i>\r\n<\/div>\r\n\r\n<!-- Digital Ocean -->\r\n<div class=\"orb-icon ff\" style=\"--sz:50px; left:79%; top:77%; --glow-color:#0080FF59;\" title=\"Digital Ocean\">\r\n<svg viewBox=\"0 0 128 128\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><g fill-rule=\"nonzero\" fill=\"#0080FF\"><path d=\"M63.724 110.725V92.543c19.352 0 34.282-19.008 26.817-39.118-2.765-7.438-8.57-13.499-16.312-16.254-19.905-7.162-38.982 7.714-38.982 26.722H17c0-30.303 29.582-54.27 61.93-44.352 14.1 4.407 25.158 15.427 29.582 29.476 9.953 32.231-14.1 61.708-44.788 61.708z\"\/><path d=\"M64 92.543H45.753V74.637H64v17.906zm-18.247 14.05H31.929v-14.05h13.824v14.05zm-13.824-14.05H20.318v-11.57h11.611v11.57z\"\/><\/g><\/svg>\r\n<\/div>\r\n\r\n<\/div>\r\n<\/div>\r\n        \t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-305b3dc animated-slow elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"305b3dc\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">10+ Plataformas<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-a9078d0 e-con-full e-flex e-con e-child \" data-id=\"a9078d0\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-ef2536e elementor-widget__width-initial elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"ef2536e\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInDown&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Listo para lanzar?<\/h2>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6a2c283 e-con-full e-flex e-con e-child \" data-id=\"6a2c283\" data-element_type=\"container\" data-e-type=\"container\"><div class=\"elementor-element elementor-element-ae6a1c5 e-con-full e-flex e-con e-child \" data-id=\"ae6a1c5\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-bff4f2f elementor-widget__width-initial elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"bff4f2f\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInDown&quot;,&quot;_animation_delay&quot;:300}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Adaptamos nuestros compromisos de infraestructura al estado actual de tus sistemas. <\/h5>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4d3fbc8 elementor-widget-tablet__width-initial contact-popup-by-region elementor-widget elementor-widget-pxl_button\" data-id=\"4d3fbc8\" data-element_type=\"widget\" data-e-type=\"widget\" data-popup-target=\"start-project-main-div\" data-widget_type=\"pxl_button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_button-4d3fbc8-4490\"\r\n     class=\"pxl-button pxl-button--btn-default btn__link \"\r\n     data-wow-delay=\"ms\"\r\n     data-onepage-offset=\"0\">\r\n                     <span   class=\"btn  btn-glossy btn__icon-active  btn-default btn__icon-right  btn-hv-default\">\r\n                    <span class=\"btn-icon\">\r\n                <i aria-hidden=\"true\" class=\"fal fa-long-arrow-right\"><\/i>            <\/span>\r\n                            <span class=\"btn-text\" data-text=\"Habla Con Un Experto\">\r\n                Habla Con Un Experto            <\/span>\r\n            <\/span>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-c8aa8b8 e-con-full e-flex e-con e-child \" data-id=\"c8aa8b8\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-adc9cf6 lauch-img animated-slow elementor-invisible elementor-widget elementor-widget-image\" data-id=\"adc9cf6\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:200}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"857\" height=\"841\" src=\"https:\/\/leovoid.com\/wp-content\/uploads\/2026\/05\/Launching_section_file_rocket_2.svg\" class=\"attachment-full size-full wp-image-36807\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-5708b2d e-con-full e-flex e-con e-parent \" data-id=\"5708b2d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\"><div class=\"elementor-element elementor-element-b6931df e-con-full glass-text-box e-flex e-con e-child \" data-id=\"b6931df\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;none&quot;,&quot;background_background&quot;:&quot;classic&quot;}\"><div class=\"elementor-element elementor-element-dee0111 e-con-full e-flex e-con e-child \" data-id=\"dee0111\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-56f2c68 elementor-widget__width-initial turning-bold-ideas-title-desktop elementor-invisible elementor-widget elementor-widget-pxl_heading\" data-id=\"56f2c68\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:100}\" data-widget_type=\"pxl_heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_heading-56f2c68-4899\" class=\"pxl-heading \" data-animation-type=\"df\">\r\n\t<div class=\"pxl-heading__inner\">\r\n\t\t\t\r\n\t\t<h1 class=\"pxl-heading__title pxl-heading__style-scroll-bg pxl-heading__highlight-line-bottom  df\" data-wow-delay=\"500ms\" >\r\n\t\t<span class=\"pxl-heading__text  \">\r\n\t\t\t\r\n\t\t\t\t\t\t\t            <span class=\"pxl-heading__highlight\"><span class=\"pxl-heading__highlight-text\"> Resilientes, Escalables<\/span> <\/span>\r\n         <br> Bases Digitales\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t<\/span>\r\n\t\t<\/h1>\r\n\t<\/div>\r\n\t\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-12c937e elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"12c937e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Transformamos la infraestructura vulnerable en una ventaja estrat\u00e9gica, uniendo seguridad, automatizaci\u00f3n e ingenier\u00eda de rendimiento en una base que escala sin fricci\u00f3n.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-51b4fa4 e-con-full e-flex e-con e-child \" data-id=\"51b4fa4\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\"><div class=\"elementor-element elementor-element-e7f8459 e-con-full e-flex e-con e-child \" data-id=\"e7f8459\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-f2666b7 elementor-widget elementor-widget-heading\" data-id=\"f2666b7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Arquitectura<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d6526a8 elementor-widget elementor-widget-heading\" data-id=\"d6526a8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Nativo en la Nube<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-6aca41c e-con-full e-transform e-flex e-con e-child \" data-id=\"6aca41c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;_transform_rotateZ_effect_mobile_extra&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_mobile&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_laptop&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_tablet_extra&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_tablet&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\">\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-9c7c8e4 e-con-full e-flex e-con e-child \" data-id=\"9c7c8e4\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-28f480b elementor-widget elementor-widget-heading\" data-id=\"28f480b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Despliegue<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-75826ec elementor-widget elementor-widget-heading\" data-id=\"75826ec\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Orquestado<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-6ae4baa e-con-full e-transform e-flex e-con e-child \" data-id=\"6ae4baa\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;_transform_rotateZ_effect_mobile_extra&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_mobile&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_laptop&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_tablet_extra&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_rotateZ_effect_tablet&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\">\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-48cb204 e-con-full e-flex e-con e-child \" data-id=\"48cb204\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-ba02cb3 elementor-widget elementor-widget-heading\" data-id=\"ba02cb3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Seguridad<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-21117da elementor-widget elementor-widget-heading\" data-id=\"21117da\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Gobernado<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-6082028 e-flex e-con-boxed e-con e-parent \" data-id=\"6082028\" data-element_type=\"container\" data-e-type=\"container\">\t\t\t<div class=\"e-con-inner\">\r\n\t\t<div class=\"elementor-element elementor-element-a4912c8 e-con-full e-flex e-con e-child \" data-id=\"a4912c8\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-c8b7d15 elementor-invisible elementor-widget elementor-widget-pxl_heading\" data-id=\"c8b7d15\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:100}\" data-widget_type=\"pxl_heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_heading-c8b7d15-8176\" class=\"pxl-heading \" data-animation-type=\"df\">\r\n\t<div class=\"pxl-heading__inner\">\r\n\t\t\t\r\n\t\t<h1 class=\"pxl-heading__title pxl-heading__style-scroll-bg pxl-heading__highlight-line-bottom  df\" data-wow-delay=\"500ms\" >\r\n\t\t<span class=\"pxl-heading__text  \">\r\n\t\t\t\r\n\t\t\t\t\t\t\tNuestros Modelos de Colaboraci\u00f3n\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t<\/span>\r\n\t\t<\/h1>\r\n\t<\/div>\r\n\t\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2b3f958 elementor-invisible elementor-widget elementor-widget-pxl_heading\" data-id=\"2b3f958\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:170}\" data-widget_type=\"pxl_heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_heading-2b3f958-3519\" class=\"pxl-heading \" data-animation-type=\"type\">\r\n\t<div class=\"pxl-heading__inner\">\r\n\t\t\t\r\n\t\t<h3 class=\"pxl-heading__title pxl-heading__style-gradient pxl-heading__highlight-default  type\" data-wow-delay=\"ms\" >\r\n\t\t<span class=\"pxl-heading__text  \">\r\n\t\t\t\r\n\t\t\t\t\t\t\tPara Servicios de Nube e Infraestructura\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t<\/span>\r\n\t\t<\/h3>\r\n\t<\/div>\r\n\t\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-20d5918 e-con-full e-flex e-con e-child \" data-id=\"20d5918\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-742d1ef elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"742d1ef\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:100}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Ofrecemos 5 Modelos de Negocio principales para nuestros servicios de desarrollo de software.<br \/>Todos est\u00e1n respaldados por ingenier\u00eda, seguridad y gobernanza de entrega de nivel empresarial.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-d0906cf e-con-full e-flex e-con e-child \" data-id=\"d0906cf\" data-element_type=\"container\" data-e-type=\"container\"><div class=\"elementor-element elementor-element-b8c26f4 e-con-full e-flex e-con e-child \" data-id=\"b8c26f4\" data-element_type=\"container\" data-e-type=\"container\"><div class=\"elementor-element elementor-element-86cd29c e-con-full models-card e-flex e-con e-child \" data-id=\"86cd29c\" data-element_type=\"container\" data-e-type=\"container\"><div class=\"elementor-element elementor-element-870b037 e-con-full models-inner-card e-flex e-con e-child \" data-id=\"870b037\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\"><div class=\"elementor-element elementor-element-a066b94 e-con-full e-flex e-con e-child \" data-id=\"a066b94\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-6d5cdad elementor-widget elementor-widget-text-editor\" data-id=\"6d5cdad\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>A<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aa59efd elementor-widget-mobile__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"aa59efd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Desarrollo Personalizado Basado en Licencia.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-3c2923f e-con-full model-card-text-div e-flex e-con e-child \" data-id=\"3c2923f\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-b6a5d88 model-card-title elementor-widget elementor-widget-pxl_icon_box\" data-id=\"b6a5d88\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pxl_icon_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"pxl-icon-box pxl-icon-box__layout-1  pxl-icon-box__df pxl-icon-box__left pxl-icon-box__icon-left \" data-wow-delay=\"ms\" >\r\n    \r\n            <div class=\"pxl-icon-box__icon \">\r\n            <i aria-hidden=\"true\" class=\"phosphor-icons ph ph-key\"><\/i>        <\/div>\r\n            <div class=\"pxl-icon-box__content\">\r\n        <h4 class=\"pxl-icon-box__title el-empty\">Tu sistema.<br>Nuestra Infraestructura Segura.<\/h4>\r\n        <p class=\"pxl-icon-box__desc el-empty\"><\/p>\r\n    <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1fc85bb elementor-widget__width-initial model-card-text elementor-widget elementor-widget-text-editor\" data-id=\"1fc85bb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\tConstruido para ti, sin el costo completo<br>de propiedad. Obt\u00e9n un sistema personalizado a una fracci\u00f3n del costo de propiedad.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7a25286 elementor-widget__width-initial model-card-link elementor-widget elementor-widget-text-editor\" data-id=\"7a25286\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/leovoid.com\/es\/business-models\/\">M\u00e1s informaci\u00f3n \u2192<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-d9e7210 e-con-full models-card e-flex e-con e-child \" data-id=\"d9e7210\" data-element_type=\"container\" data-e-type=\"container\"><div class=\"elementor-element elementor-element-7a091c3 e-con-full models-inner-card e-flex e-con e-child \" data-id=\"7a091c3\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\"><div class=\"elementor-element elementor-element-6dfd642 e-con-full e-flex e-con e-child \" data-id=\"6dfd642\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-58922d4 elementor-widget elementor-widget-text-editor\" data-id=\"58922d4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>B<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ac94997 elementor-widget-mobile__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"ac94997\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Modelo de Propiedad Total<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-46a119d e-con-full model-card-text-div e-flex e-con e-child \" data-id=\"46a119d\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-14afcb1 model-card-title elementor-widget-tablet__width-initial elementor-widget elementor-widget-pxl_icon_box\" data-id=\"14afcb1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pxl_icon_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"pxl-icon-box pxl-icon-box__layout-1  pxl-icon-box__df pxl-icon-box__left pxl-icon-box__icon-left \" data-wow-delay=\"ms\" >\r\n    \r\n            <div class=\"pxl-icon-box__icon \">\r\n            <i aria-hidden=\"true\" class=\"phosphor-icons ph ph-shield-check\"><\/i>        <\/div>\r\n            <div class=\"pxl-icon-box__content\">\r\n        <h4 class=\"pxl-icon-box__title el-empty\">Construido para <br>quienes piensan a largo plazo.<\/h4>\r\n        <p class=\"pxl-icon-box__desc el-empty\"><\/p>\r\n    <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eaf5c85 elementor-widget__width-initial model-card-text elementor-widget elementor-widget-text-editor\" data-id=\"eaf5c85\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Ideal para empresas con equipos internos, inversores o una visi\u00f3n a largo plazo que exige el control total de la propiedad intelectual.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fdc7d9c elementor-widget__width-initial model-card-link elementor-widget elementor-widget-text-editor\" data-id=\"fdc7d9c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/leovoid.com\/es\/business-models\/\">M\u00e1s informaci\u00f3n \u2192<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-2e49a9b e-con-full e-flex e-con e-child \" data-id=\"2e49a9b\" data-element_type=\"container\" data-e-type=\"container\"><div class=\"elementor-element elementor-element-42898e2 e-con-full models-card e-flex e-con e-child \" data-id=\"42898e2\" data-element_type=\"container\" data-e-type=\"container\"><div class=\"elementor-element elementor-element-a5d8cae e-con-full models-inner-card e-flex e-con e-child \" data-id=\"a5d8cae\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\"><div class=\"elementor-element elementor-element-f0b4f8d e-con-full e-flex e-con e-child \" data-id=\"f0b4f8d\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-89459c8 elementor-widget elementor-widget-text-editor\" data-id=\"89459c8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\tC\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7da1ca5 elementor-widget-mobile__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"7da1ca5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Modelo de Alquiler con Opci\u00f3n a Compra<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-1a77ebc e-con-full model-card-text-div e-flex e-con e-child \" data-id=\"1a77ebc\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-fd3864b model-card-title elementor-widget elementor-widget-pxl_icon_box\" data-id=\"fd3864b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pxl_icon_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"pxl-icon-box pxl-icon-box__layout-1  pxl-icon-box__df pxl-icon-box__left pxl-icon-box__icon-left \" data-wow-delay=\"ms\" >\r\n    \r\n            <div class=\"pxl-icon-box__icon \">\r\n            <i aria-hidden=\"true\" class=\"phosphor-icons ph ph-chart-line-up\"><\/i>        <\/div>\r\n            <div class=\"pxl-icon-box__content\">\r\n        <h4 class=\"pxl-icon-box__title el-empty\">Propiedad en<br>tus propios tiempos.<\/h4>\r\n        <p class=\"pxl-icon-box__desc el-empty\"><\/p>\r\n    <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-34cd8b1 elementor-widget__width-initial model-card-text elementor-widget elementor-widget-text-editor\" data-id=\"34cd8b1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\tEmpieza a usar tu sistema personalizado hoy. Paga hacia la propiedad con el tiempo, en un calendario que funcione para ti.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-297d63d elementor-widget__width-initial model-card-link elementor-widget elementor-widget-text-editor\" data-id=\"297d63d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/leovoid.com\/es\/business-models\/\">M\u00e1s informaci\u00f3n \u2192<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-ae8d196 e-con-full models-card e-flex e-con e-child \" data-id=\"ae8d196\" data-element_type=\"container\" data-e-type=\"container\"><div class=\"elementor-element elementor-element-5269f52 e-con-full models-inner-card e-flex e-con e-child \" data-id=\"5269f52\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\"><div class=\"elementor-element elementor-element-720b219 e-con-full e-flex e-con e-child \" data-id=\"720b219\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-25e4f3f elementor-widget elementor-widget-text-editor\" data-id=\"25e4f3f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>D<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9a45d61 elementor-widget-mobile_extra__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"9a45d61\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Modelo H\u00edbrido de Construcci\u00f3n y Evoluci\u00f3n<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-78c435e e-con-full model-card-text-div e-flex e-con e-child \" data-id=\"78c435e\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-0e0711a model-card-title elementor-widget elementor-widget-pxl_icon_box\" data-id=\"0e0711a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pxl_icon_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"pxl-icon-box pxl-icon-box__layout-1  pxl-icon-box__df pxl-icon-box__left pxl-icon-box__icon-left \" data-wow-delay=\"ms\" >\r\n    \r\n            <div class=\"pxl-icon-box__icon \">\r\n            <i aria-hidden=\"true\" class=\"phosphor-icons ph ph-intersect\"><\/i>        <\/div>\r\n            <div class=\"pxl-icon-box__content\">\r\n        <h4 class=\"pxl-icon-box__title el-empty\">Tu visi\u00f3n,<br>construida por etapas.<\/h4>\r\n        <p class=\"pxl-icon-box__desc el-empty\"><\/p>\r\n    <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4fde7a8 elementor-widget__width-initial model-card-text elementor-widget elementor-widget-text-editor\" data-id=\"4fde7a8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Tienes una gran visi\u00f3n pero quieres validarla primero? Construimos tu MVP ahora y hacemos crecer el sistema junto con tu negocio.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fc67998 elementor-widget__width-initial model-card-link elementor-widget elementor-widget-text-editor\" data-id=\"fc67998\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/leovoid.com\/es\/business-models\/\">M\u00e1s informaci\u00f3n \u2192<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-92693a3 e-con-full models-card e-flex e-con e-child \" data-id=\"92693a3\" data-element_type=\"container\" data-e-type=\"container\"><div class=\"elementor-element elementor-element-aa0fa1e e-con-full models-inner-card e-flex e-con e-child \" data-id=\"aa0fa1e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\"><div class=\"elementor-element elementor-element-f2450bb e-con-full e-flex e-con e-child \" data-id=\"f2450bb\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-6196053 elementor-widget elementor-widget-text-editor\" data-id=\"6196053\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>E<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-791ba3d elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"791ba3d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\tModelo de Retenci\u00f3n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-d2dc927 e-con-full model-card-text-div e-flex e-con e-child \" data-id=\"d2dc927\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-e1868f0 model-card-title elementor-widget-mobile_extra__width-initial elementor-widget elementor-widget-pxl_icon_box\" data-id=\"e1868f0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pxl_icon_box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"pxl-icon-box pxl-icon-box__layout-1  pxl-icon-box__df pxl-icon-box__left pxl-icon-box__icon-left \" data-wow-delay=\"ms\" >\r\n    \r\n            <div class=\"pxl-icon-box__icon \">\r\n            <i aria-hidden=\"true\" class=\"phosphor-icons ph ph-users\"><\/i>        <\/div>\r\n            <div class=\"pxl-icon-box__content\">\r\n        <h4 class=\"pxl-icon-box__title el-empty\">Tu equipo, sin el proceso de contrataci\u00f3n.<\/h4>\r\n        <p class=\"pxl-icon-box__desc el-empty\"><\/p>\r\n    <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0f6f33f elementor-widget__width-initial model-card-text elementor-widget elementor-widget-text-editor\" data-id=\"0f6f33f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Ya tienes un sistema?<br \/>Mantenlo en evoluci\u00f3n. Nos integramos en tu flujo de trabajo y avanzamos cuando t\u00fa avanzas.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e2d97e9 elementor-widget__width-initial model-card-link elementor-widget elementor-widget-text-editor\" data-id=\"e2d97e9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/leovoid.com\/es\/business-models\/\">M\u00e1s informaci\u00f3n \u2192<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-0a42166 explore-services-btn elementor-widget elementor-widget-pxl_button\" data-id=\"0a42166\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation_mobile&quot;:&quot;none&quot;,&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"pxl_button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_button-0a42166-5274\"\r\n     class=\"pxl-button pxl-button--btn-default btn__link \"\r\n     data-wow-delay=\"ms\"\r\n     data-onepage-offset=\"\">\r\n                     <a href=\"https:\/\/leovoid.com\/es\/business-models\/\"  class=\"btn  btn-glossy btn__icon-active  btn-default btn__icon-right  btn-hv-default\">\r\n                    <span class=\"btn-icon\">\r\n                <i aria-hidden=\"true\" class=\"fal fa-long-arrow-right\"><\/i>            <\/span>\r\n                            <span class=\"btn-text\" data-text=\"Elige Tu Modelo\">\r\n                Elige Tu Modelo            <\/span>\r\n            <\/a>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-dce17ee e-con-full e-flex e-con e-parent \" data-id=\"dce17ee\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\"><div class=\"elementor-element elementor-element-b1a9057 e-con-full glass-text-box e-flex e-con e-child \" data-id=\"b1a9057\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;none&quot;,&quot;background_background&quot;:&quot;classic&quot;}\"><div class=\"elementor-element elementor-element-b87635f e-con-full e-flex e-con e-child \" data-id=\"b87635f\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-ced8e4e elementor-widget__width-initial turning-bold-ideas-title-desktop elementor-invisible elementor-widget elementor-widget-pxl_heading\" data-id=\"ced8e4e\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:100}\" data-widget_type=\"pxl_heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_heading-ced8e4e-7887\" class=\"pxl-heading \" data-animation-type=\"df\">\r\n\t<div class=\"pxl-heading__inner\">\r\n\t\t\t\r\n\t\t<h1 class=\"pxl-heading__title pxl-heading__style-scroll-bg pxl-heading__highlight-line-bottom  df\" data-wow-delay=\"500ms\" >\r\n\t\t<span class=\"pxl-heading__text  \">\r\n\t\t\t\r\n\t\t\t\t\t\t\t            <span class=\"pxl-heading__highlight\"><span class=\"pxl-heading__highlight-text\">Long-Term <\/span> <\/span>\r\n         Alineaci\u00f3n, Estructurada para el Crecimiento\n        \t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t<\/span>\r\n\t\t<\/h1>\r\n\t<\/div>\r\n\t\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-21a6945 elementor-widget__width-initial elementor-invisible elementor-widget elementor-widget-pxl_heading\" data-id=\"21a6945\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:170}\" data-widget_type=\"pxl_heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_heading-21a6945-6411\" class=\"pxl-heading \" data-animation-type=\"type\">\r\n\t<div class=\"pxl-heading__inner\">\r\n\t\t\t\r\n\t\t<h3 class=\"pxl-heading__title pxl-heading__style-gradient pxl-heading__highlight-default  type\" data-wow-delay=\"ms\" >\r\n\t\t<span class=\"pxl-heading__text  \">\r\n\t\t\t\r\n\t\t\t\t\t\t\tListo para Encontrar Tu Nivel?\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t<\/span>\r\n\t\t<\/h3>\r\n\t<\/div>\r\n\t\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2c4bcbf elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"2c4bcbf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>No est\u00e1s eligiendo un plan. Se te asigna el nivel de soporte, capacidad e implicaci\u00f3n t\u00e9cnica que tu negocio requiere hoy, y ma\u00f1ana.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-4ef9aa0 e-con-full e-flex e-con e-child \" data-id=\"4ef9aa0\" data-element_type=\"container\" data-e-type=\"container\">\t\t<div class=\"elementor-element elementor-element-61bb76b explore-services-btn animated-slow elementor-align-center elementor-invisible elementor-widget elementor-widget-pxl_button\" data-id=\"61bb76b\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation_mobile&quot;:&quot;none&quot;,&quot;_animation_delay&quot;:0,&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"pxl_button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_button-61bb76b-2534\"\r\n     class=\"pxl-button pxl-button--btn-default btn__link \"\r\n     data-wow-delay=\"ms\"\r\n     data-onepage-offset=\"\">\r\n                     <a href=\"https:\/\/leovoid.com\/es\/service-levels\/\"  class=\"btn  btn-glossy btn__icon-active  btn-default btn__icon-right  btn-hv-default\">\r\n                    <span class=\"btn-icon\">\r\n                <i aria-hidden=\"true\" class=\"fal fa-long-arrow-right\"><\/i>            <\/span>\r\n                            <span class=\"btn-text\" data-text=\"Explorar Todos los Niveles de Servicio\">\r\n                Explorar Todos los Niveles de Servicio            <\/span>\r\n            <\/a>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-28bf875 explore-services-btn animated-slow elementor-invisible elementor-widget elementor-widget-pxl_button\" data-id=\"28bf875\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation_mobile&quot;:&quot;none&quot;,&quot;_animation_delay&quot;:300,&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"pxl_button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_button-28bf875-7546\"\r\n     class=\"pxl-button pxl-button--btn-default btn__link \"\r\n     data-wow-delay=\"ms\"\r\n     data-onepage-offset=\"\">\r\n                     <a href=\"https:\/\/leovoid.com\/es\/service-levels-guide\/\"  class=\"btn  btn-glossy btn__icon-active  btn-default btn__icon-right  btn-hv-default\">\r\n                    <span class=\"btn-icon\">\r\n                <i aria-hidden=\"true\" class=\"phosphor-icons ph ph-book-open-text\"><\/i>            <\/span>\r\n                            <span class=\"btn-text\" data-text=\"Lee Antes de Decidir\">\r\n                Lee Antes de Decidir            <\/span>\r\n            <\/a>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-766a233 e-flex e-con-boxed e-con e-parent \" data-id=\"766a233\" data-element_type=\"container\" data-e-type=\"container\">\t\t\t<div class=\"e-con-inner\">\r\n\t\t\t\t<div class=\"elementor-element elementor-element-8cf891f elementor-widget-mobile__width-initial elementor-hidden-mobile_extra elementor-hidden-mobile elementor-widget elementor-widget-heading\" data-id=\"8cf891f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Nuestro Proceso<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-330daa0 elementor-invisible elementor-widget elementor-widget-pxl_heading\" data-id=\"330daa0\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:100}\" data-widget_type=\"pxl_heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_heading-330daa0-6049\" class=\"pxl-heading \" data-animation-type=\"df\">\r\n\t<div class=\"pxl-heading__inner\">\r\n\t\t\t\r\n\t\t<h1 class=\"pxl-heading__title pxl-heading__style-scroll-bg pxl-heading__highlight-line-bottom  df\" data-wow-delay=\"500ms\" >\r\n\t\t<span class=\"pxl-heading__text  \">\r\n\t\t\t\r\n\t\t\t\t\t\t\tNuestro Proceso de Nube e Infraestructura <br>Est\u00e1 Construido para la Fiabilidad.\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t<\/span>\r\n\t\t<\/h1>\r\n\t<\/div>\r\n\t\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-edf68c7 elementor-widget-tablet__width-initial elementor-widget elementor-widget-shortcode\" data-id=\"edf68c7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><style>\r\n  body{\r\n    background-color: #161616;\r\n  }\r\n  .our-process {\r\n    --bg: #161616;\r\n    --text-white: #ffffff;\r\n    --text-muted: #eeeeee;\r\n    --text-ghost: rgba(255, 255, 255, 0.05);\r\n    --accent: #4DA3E2;\r\n    --pill-bg: rgba(96, 96, 96, 0.24);\r\n    --dash: rgba(255, 255, 255, 0.28);\r\n\r\n    background: var(--bg);\r\n    \/* padding: 64px 16px; *\/\r\n    padding: 0px;\r\n    position: relative;\r\n    color: var(--text-white);\r\n    \/* overflow: hidden; *\/\r\n  }\r\n\r\n\r\n  .our-process::before {\r\n    content: '';\r\n    position: absolute;\r\n    top: 10%;\r\n    left: 50%;\r\n    transform: translateX(-50%);\r\n    width: 800px;\r\n    height: 800px;\r\n    background: radial-gradient(circle, rgba(89, 181, 248,0.1) 0%, transparent 60%);\r\n    pointer-events: none;\r\n    z-index: 0;\r\n    animation: ambient-pulse 8s ease-in-out infinite;\r\n  }\r\n\r\n  @keyframes ambient-pulse {\r\n    0%, 100% { opacity: 0.5; transform: translateX(-50%) scale(1); }\r\n    50% { opacity: 1; transform: translateX(-50%) scale(1.1); }\r\n  }\r\n\r\n  .heading-wrap {\r\n    max-width: 1020px;\r\n    margin: 0 auto;\r\n    text-align: center;\r\n    position: relative;\r\n    z-index: 1;\r\n  }\r\n\r\n\r\n  .main-description {\r\n    color: var(--text-muted);\r\n    font-size: 16px;\r\n    line-height: 1.4;\r\n    font-weight: 400;\r\n    margin-top: 16px;\r\n    max-width: 720px;\r\n    margin-left: auto;\r\n    margin-right: auto;\r\n    opacity: 0;\r\n    transform: translateY(30px);\r\n    transition: opacity 0.7s ease 0.2s, transform 0.7s ease 0.2s;\r\n  }\r\n  .main-description.in-view { opacity: 1; transform: translateY(0); }\r\n\r\n  \/*  Process Path Container  *\/\r\n  .process-path-container {\r\n    max-width: 1200px;\r\n    margin: 80px auto 0;\r\n    position: relative;\r\n    z-index: 1;\r\n  }\r\n\r\n  \/* SVG layer for the road path + traveling arrow *\/\r\n  .process-path-svg {\r\n    position: absolute;\r\n    inset: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n    pointer-events: none;\r\n    overflow: visible;\r\n    z-index: 1;\r\n  }\r\n\r\n  .path-dashed {\r\n    fill: none;\r\n    stroke: var(--dash);\r\n    stroke-width: 1.5;\r\n    stroke-dasharray: 6 8;\r\n    stroke-linecap: round;\r\n  }\r\n\r\n  .arrow-traveler {\r\n    fill: var(--accent);\r\n    filter: drop-shadow(0 0 10px rgba(130, 203, 240, 0.7));\r\n    mix-blend-mode: hard-light;\r\n    animation: arrow-pulse 3s ease-in-out infinite;\r\n\r\n  }\r\n\r\n  @keyframes arrow-pulse {\r\n    0%,100% { opacity: 0.6;}\r\n    50% { opacity: 1; }\r\n  }\r\n  \r\n  \/* Process items grid *\/\r\n  .process-items {\r\n    display: grid;\r\n    grid-template-columns: 1fr;\r\n    gap: 80px;\r\n    position: relative;\r\n    \/* z-index: 2; *\/\r\n  }\r\n\r\n  .process-item {\r\n    display: grid;\r\n    grid-template-columns: auto 1fr;\r\n    gap: 16px;\r\n    align-items: start;\r\n    position: relative;\r\n    opacity: 1;\r\n    transform: translateY(40px);\r\n    transition: opacity 0.8s ease, transform 0.8s ease;\r\n  }\r\n\r\n  .process-item.in-view { transform: translateY(0); }\r\n\r\n  .step-number {\r\n    font-size: 88px;\r\n    line-height: 0.9;\r\n    font-weight: 700;\r\n    color: var(--text-ghost);\r\n    letter-spacing: -0.04em;\r\n    user-select: none;\r\n    transition: color 0.6s ease;\r\n  }\r\n\r\n  .process-item.passed .step-number {\r\n    color: rgba(131, 208, 240, 0.40);\r\n  }\r\n\r\n  .process-content {\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 12px;\r\n    padding-top: 8px;\r\n    max-width: 480px;\r\n    z-index: 10;\r\n  }\r\n\r\n  .process-title {\r\n    font-size: 24px;\r\n    line-height: 1.2;\r\n    font-weight: 600;\r\n    color: var(--text-white);\r\n    letter-spacing: -0.03em;\r\n  }\r\n\r\n  .process-desc {\r\n    font-size: 15px;\r\n    line-height: 1.6;\r\n    color: var(--text-muted);\r\n    font-weight: 400;\r\n  }\r\n\r\n  \/* Decorative tilted image card - hidden mobile *\/\r\n  .process-image {\r\n    display: none;\r\n  }\r\n\r\n  \/*  Tablet  *\/\r\n  @media (min-width: 640px) {\r\n    \/* .our-process { padding: 86px 24px; } *\/\r\n    .our-process { padding: 0px; }\r\n    .main-title { font-size: 48px; }\r\n    .main-description { font-size: 20px; }\r\n\r\n    .step-number { font-size: 120px; }\r\n    .process-title { font-size: 28px; }\r\n    .process-items { gap: 100px; }\r\n  }\r\n\r\n  \/*  Desktop: zigzag layout  *\/\r\n  @media (min-width: 1024px) {\r\n  \r\n    .our-process {\r\n    \/* padding: 160px 32px; *\/\r\n    padding: 0px;\r\n    max-width: 70%;\r\n    margin: auto;\r\n    }\r\n\r\n    .main-title {\r\n      font-size: 72px;\r\n      line-height: 82px;\r\n      letter-spacing: -0.02em;\r\n    }\r\n\r\n    .main-description { font-size: 20px; line-height: 32px; }\r\n\r\n    .process-path-container { margin-top: 120px; }\r\n\r\n    .process-items {\r\n      grid-template-columns: repeat(2, 1fr);\r\n      column-gap: 100px;\r\n      row-gap: 100px;\r\n    }\r\n\r\n    .process-item {\r\n      grid-template-columns: auto 1fr;\r\n      gap: 24px;\r\n      align-items: start;\r\n      max-width: 580px;\r\n    }\r\n\r\n    \/* Zigzag positioning *\/\r\n    .process-item:nth-child(odd) {\r\n      grid-column: 1;\r\n      justify-self: start;\r\n    }\r\n\r\n    .process-item:nth-child(even) {\r\n      grid-column: 2;\r\n      justify-self: end;\r\n      margin-top: 150px;\r\n    }\r\n\r\n    .step-number {\r\n      font-size: 160px;\r\n      font-weight: 600;\r\n    }\r\n\r\n    .process-content { padding-top: 0; }\r\n    .process-title { font-size: 32px; }\r\n    .process-desc { font-size: 16px; line-height: 1.7; }\r\n\r\n    \/* Tilted image card *\/\r\n    .process-image {\r\n      display: block;\r\n      position: absolute;\r\n      width: 180px;\r\n      height: 180px;\r\n      border-radius: 24px;\r\n      overflow: hidden;\r\n      pointer-events: none;\r\n      opacity: 0;\r\n      transform: rotate(-8deg) scale(0.85);\r\n      transition: opacity 0.7s ease, transform 0.7s ease;\r\n      box-shadow: 0 25px 60px rgba(0, 0, 0, 0.5);\r\n      z-index: -10;\r\n    }\r\n    \r\n\r\n    \/* Position images per item - \"behind\" the text-image side *\/\r\n    .process-item:nth-child(1) .process-image { right: -70px; top: -20px; }\r\n    .process-item:nth-child(2) .process-image { right: -55px; bottom: -40px; transform: rotate(8deg) scale(0.85); }\r\n    .process-item:nth-child(3) .process-image { right: -40px; top: -20px; }\r\n    .process-item:nth-child(4) .process-image { right: -55px; bottom: 0px; transform: rotate(8deg) scale(0.85); }\r\n    .process-item:nth-child(5) .process-image { right: -40px; top: -20px; }\r\n    .process-item:nth-child(6) .process-image { right: -60px; bottom: -5px; transform: rotate(8deg) scale(0.85); }\r\n\r\n\r\n    .process-item:nth-child(2){\r\n      margin-top: 215px;\r\n    }\r\n\r\n    .process-item.image-visible .process-image {\r\n      opacity: 0.3;\r\n      transform: rotate(-8deg) scale(1);\r\n    }\r\n\r\n    .process-item:nth-child(even).image-visible .process-image {\r\n      transform: rotate(8deg) scale(1);\r\n    }\r\n\r\n    .process-image img {\r\n      width: 100%;\r\n      height: 100%;\r\n      object-fit: cover;\r\n      display: block;\r\n    }\r\n\r\n  }\r\n\r\n  @media (min-width: 1280px) {\r\n    .step-number { font-size: 180px; }\r\n    .process-image { width: 200px; height: 200px; }\r\n  }\r\n\r\n  \/* Reduced motion *\/\r\n  @media (prefers-reduced-motion: reduce) {\r\n    *, *::before, *::after {\r\n      animation-duration: 0.01ms !important;\r\n      animation-iteration-count: 1 !important;\r\n      transition-duration: 0.01ms !important;\r\n    }\r\n    .main-description, .process-item {\r\n      opacity: 1;\r\n      transform: none;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<section class=\"our-process\" id=\"our-process\">\r\n  <div class=\"heading-wrap\">\r\n    <!-- <div class=\"block-title\">\r\n      <span class=\"dot\"><\/span>\r\n      Our Process\r\n    <\/div>\r\n    <h2 class=\"main-title\">Our Software Development Process Is Built for Efficiency!<\/h2> -->\r\n    <p class=\"main-description\" data-i18n=\"intro\"><\/p>\r\n  <\/div>\r\n\r\n  <div class=\"process-path-container\">\r\n\r\n    <svg class=\"process-path-svg\" id=\"processPathSvg\" preserveAspectRatio=\"none\" aria-hidden=\"true\">\r\n      <path id=\"processPath\" class=\"path-dashed\" d=\"\"><\/path>\r\n      <g id=\"arrowTraveler\" class=\"arrow-traveler\" style=\"opacity: 0;\">\r\n        <path d=\"M -11 -9 L 11 0 L -11 9 L -5 0 Z\"><\/path>\r\n      <\/g>\r\n    <\/svg>\r\n\r\n    <div class=\"process-items\" id=\"processItems\">\r\n\r\n      <div class=\"process-item\">\r\n        <div class=\"step-number\">1<\/div>\r\n        <div class=\"process-content\">\r\n          <h3 class=\"process-title\" data-i18n=\"step1.title\"><\/h3>\r\n          <p class=\"process-desc\" data-i18n=\"step1.desc\"><\/p>\r\n        <\/div>\r\n        <div class=\"process-image\">\r\n          <!-- https:\/\/images.pexels.com\/photos\/5831259\/pexels-photo-5831259.jpeg -->\r\n          <img decoding=\"async\" src=\"https:\/\/i0.wp.com\/leovoid.com\/wp-content\/uploads\/2026\/06\/Network-Operations-Center-Dashboard-scaled.jpg\" data-i18n-alt=\"step1.title\" loading=\"lazy\">\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"process-item\">\r\n        <div class=\"step-number\">2<\/div>\r\n        <div class=\"process-content\">\r\n          <h3 class=\"process-title\" data-i18n=\"step2.title\"><\/h3>\r\n          <p class=\"process-desc\" data-i18n=\"step2.desc\"><\/p>\r\n        <\/div>\r\n        <div class=\"process-image\">\r\n          <!-- https:\/\/images.pexels.com\/photos\/17713879\/pexels-photo-17713879.jpeg -->\r\n          <img decoding=\"async\" src=\"https:\/\/i0.wp.com\/leovoid.com\/wp-content\/uploads\/2026\/06\/Architecture-Design-Tech-Stack-Planning-1-scaled.jpg\" data-i18n-alt=\"step2.title\" loading=\"lazy\">\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"process-item\">\r\n        <div class=\"step-number\">3<\/div>\r\n        <div class=\"process-content\">\r\n          <h3 class=\"process-title\" data-i18n=\"step3.title\"><\/h3>\r\n          <p class=\"process-desc\" data-i18n=\"step3.desc\"><\/p>\r\n        <\/div>\r\n        <div class=\"process-image\">\r\n          <!-- https:\/\/www.pexels.com\/photo\/close-up-of-developer-typing-code-on-keyboard-36497969\/ -->\r\n          <img decoding=\"async\" src=\"https:\/\/i0.wp.com\/leovoid.com\/wp-content\/uploads\/2026\/06\/process-number-3.jpg\" data-i18n-alt=\"step3.title\" loading=\"lazy\">\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"process-item\">\r\n        <div class=\"step-number\">4<\/div>\r\n        <div class=\"process-content\">\r\n          <h3 class=\"process-title\" data-i18n=\"step4.title\"><\/h3>\r\n          <p class=\"process-desc\" data-i18n=\"step4.desc\"><\/p>\r\n        <\/div>\r\n        <div class=\"process-image\">\r\n          <!-- https:\/\/www.pexels.com\/photo\/computer-screen-turned-on-159299\/ -->\r\n          <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1549692520-acc6669e2f0c?q=80&w=687&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D\" data-i18n-alt=\"step4.title\" loading=\"lazy\">\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"process-item\">\r\n        <div class=\"step-number\">5<\/div>\r\n        <div class=\"process-content\">\r\n          <h3 class=\"process-title\" data-i18n=\"step5.title\"><\/h3>\r\n          <p class=\"process-desc\" data-i18n=\"step5.desc\"><\/p>\r\n        <\/div>\r\n        <div class=\"process-image\">\r\n          <!-- https:\/\/www.pexels.com\/photo\/person-using-black-laptop-computer-5475752\/ -->\r\n          <img decoding=\"async\" src=\"https:\/\/i0.wp.com\/leovoid.com\/wp-content\/uploads\/2026\/06\/Security-Hardening-Compliance-Review-1-scaled.jpg\" data-i18n-alt=\"step5.title\" loading=\"lazy\">\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"process-item\">\r\n        <div class=\"step-number\">6<\/div>\r\n        <div class=\"process-content\">\r\n          <h3 class=\"process-title\" data-i18n=\"step6.title\"><\/h3>\r\n          <p class=\"process-desc\" data-i18n=\"step6.desc\"><\/p>\r\n        <\/div>\r\n        <div class=\"process-image\">\r\n          <!--https:\/\/www.pexels.com\/photo\/close-up-shot-of-a-laptop-computer-12969403\/  -->\r\n          <img decoding=\"async\" src=\"https:\/\/i0.wp.com\/leovoid.com\/wp-content\/uploads\/2026\/06\/Go-Live-Monitoring-Ongoing-Support-1-scaled.jpg\" data-i18n-alt=\"step6.title\" loading=\"lazy\">\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function() {\r\n  'use strict';\r\n\r\n  const reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n\r\n  \/\/ Heading + item fade-in observer\r\n  const fadeObserver = new IntersectionObserver((entries) => {\r\n    entries.forEach(entry => {\r\n      if (entry.isIntersecting) {\r\n        entry.target.classList.add('in-view');\r\n        fadeObserver.unobserve(entry.target);\r\n      }\r\n    });\r\n  }, { threshold: 0.1, rootMargin: '0px 0px -50px 0px' });\r\n\r\n  document.querySelectorAll('.main-description, .process-item')\r\n    .forEach(el => fadeObserver.observe(el));\r\n\r\n  if (reduceMotion) {\r\n    document.querySelectorAll('.main-description, .process-item')\r\n      .forEach(el => el.classList.add('in-view'));\r\n    return;\r\n  }\r\n\r\n\r\nconst translations = {\r\n  en: {\r\n    intro:        \"Every engagement follows a structured methodology. From discovery to deployment, every phase is engineered to minimize risk and maximize uptime\",\r\n    step1: {\r\n      title: \"Discovery & Infrastructure Audit\",\r\n      desc:  \"We start by understanding your current environment, workloads, pain points, and growth trajectory. If you have existing systems, we audit them before touching anything.\"\r\n    },\r\n    step2: {\r\n      title: \"Architecture Design & Tech Stack Planning\",\r\n      desc:  \"We design your cloud architecture to match your scale, security posture, and budget, selecting the right providers, services, and patterns for your specific needs.\"\r\n    },\r\n    step3: {\r\n      title: \"Environment Setup & Configuration\",\r\n      desc:  \"We build out your environments, development, staging, and production, with proper isolation, access controls, and monitoring instrumentation from the start.\"\r\n    },\r\n    step4: {\r\n      title: \"CI\/CD Pipeline Implementation\",\r\n      desc:  \"We automate your build, test, and deployment workflows so your team can ship with confidence and roll back without panic.\"\r\n    },\r\n    step5: {\r\n      title: \"Security Hardening & Compliance Review\",\r\n      desc:  \"We layer in access policies, encryption, network controls, and compliance configurations. Your environment passes audits, not because you prepared for them, but because it was built that way.\"\r\n    },\r\n    step6: {\r\n      title: \"Go-Live, Monitoring & Ongoing Support\",\r\n      desc:  \"Deployment is just the beginning. We set up full observability, alerting, and cost monitoring, and stay engaged as your infrastructure evolves.\"\r\n    }\r\n  },\r\n\r\n  es: {\r\n    intro:        \"Cada compromiso sigue una metodolog\u00eda estructurada. Desde el descubrimiento hasta el despliegue, cada fase est\u00e1 dise\u00f1ada para minimizar el riesgo y maximizar el tiempo de actividad\",\r\n    step1: {\r\n      title: \"Descubrimiento y Auditor\u00eda de Infraestructura\",\r\n      desc:  \"Comenzamos por comprender su entorno actual, cargas de trabajo, puntos de dolor y trayectoria de crecimiento. Si cuenta con sistemas existentes, los auditamos antes de tocar cualquier cosa.\"\r\n    },\r\n    step2: {\r\n      title: \"Dise\u00f1o de Arquitectura y Planificaci\u00f3n del Stack Tecnol\u00f3gico\",\r\n      desc:  \"Dise\u00f1amos su arquitectura en la nube para adaptarse a su escala, postura de seguridad y presupuesto, seleccionando los proveedores, servicios y patrones adecuados para sus necesidades espec\u00edficas.\"\r\n    },\r\n    step3: {\r\n      title: \"Configuraci\u00f3n y Preparaci\u00f3n del Entorno\",\r\n      desc:  \"Construimos sus entornos de desarrollo, staging y producci\u00f3n con el aislamiento adecuado, controles de acceso e instrumentaci\u00f3n de monitoreo desde el inicio.\"\r\n    },\r\n    step4: {\r\n      title: \"Implementaci\u00f3n del Pipeline CI\/CD\",\r\n      desc:  \"Automatizamos sus flujos de trabajo de construcci\u00f3n, prueba e implementaci\u00f3n para que su equipo pueda lanzar con confianza y revertir cambios sin p\u00e1nico.\"\r\n    },\r\n    step5: {\r\n      title: \"Refuerzo de Seguridad y Revisi\u00f3n de Cumplimiento\",\r\n      desc:  \"Incorporamos pol\u00edticas de acceso, cifrado, controles de red y configuraciones de cumplimiento. Su entorno pasa auditor\u00edas, no porque se haya preparado para ellas, sino porque fue construido de esa manera.\"\r\n    },\r\n    step6: {\r\n      title: \"Puesta en Marcha, Monitoreo y Soporte Continuo\",\r\n      desc:  \"El despliegue es solo el comienzo. Configuramos observabilidad completa, alertas y monitoreo de costos, y permanecemos comprometidos a medida que su infraestructura evoluciona.\"\r\n    }\r\n  },\r\n\r\n  fr: {\r\n    intro:        \"Chaque engagement suit une m\u00e9thodologie structur\u00e9e. De la d\u00e9couverte au d\u00e9ploiement, chaque phase est con\u00e7ue pour minimiser les risques et maximiser la disponibilit\u00e9\",\r\n    step1: {\r\n      title: \"D\u00e9couverte et Audit d'Infrastructure\",\r\n      desc:  \"Nous commen\u00e7ons par comprendre votre environnement actuel, vos charges de travail, vos points de douleur et votre trajectoire de croissance. Si vous disposez de syst\u00e8mes existants, nous les auditons avant de toucher \u00e0 quoi que ce soit.\"\r\n    },\r\n    step2: {\r\n      title: \"Conception de l'Architecture et Planification de la Stack Technologique\",\r\n      desc:  \"Nous concevons votre architecture cloud pour correspondre \u00e0 votre \u00e9chelle, votre posture de s\u00e9curit\u00e9 et votre budget, en s\u00e9lectionnant les bons fournisseurs, services et mod\u00e8les pour vos besoins sp\u00e9cifiques.\"\r\n    },\r\n    step3: {\r\n      title: \"Configuration et Mise en Place de l'Environnement\",\r\n      desc:  \"Nous construisons vos environnements de d\u00e9veloppement, de staging et de production avec une isolation appropri\u00e9e, des contr\u00f4les d'acc\u00e8s et une instrumentation de surveillance d\u00e8s le d\u00e9part.\"\r\n    },\r\n    step4: {\r\n      title: \"Mise en Place du Pipeline CI\/CD\",\r\n      desc:  \"Nous automatisons vos flux de travail de construction, de test et de d\u00e9ploiement afin que votre \u00e9quipe puisse livrer en toute confiance et effectuer des retours arri\u00e8re sans panique.\"\r\n    },\r\n    step5: {\r\n      title: \"Renforcement de la S\u00e9curit\u00e9 et R\u00e9vision de la Conformit\u00e9\",\r\n      desc:  \"Nous int\u00e9grons des politiques d'acc\u00e8s, le chiffrement, des contr\u00f4les r\u00e9seau et des configurations de conformit\u00e9. Votre environnement passe les audits, non pas parce que vous vous y \u00eates pr\u00e9par\u00e9, mais parce qu'il a \u00e9t\u00e9 con\u00e7u ainsi.\"\r\n    },\r\n    step6: {\r\n      title: \"Mise en Production, Surveillance et Support Continu\",\r\n      desc:  \"Le d\u00e9ploiement n'est que le d\u00e9but. Nous mettons en place une observabilit\u00e9 compl\u00e8te, des alertes et une surveillance des co\u00fbts, et restons impliqu\u00e9s au fur et \u00e0 mesure que votre infrastructure \u00e9volue.\"\r\n    }\r\n  }\r\n};\r\n\r\ntry {\r\n  \/\/ const isSpanish = window.location.pathname.includes('\/es') || window.location.href.includes('\/es');\r\n  \/\/ const isFrench  = window.location.pathname.includes('\/fr') || window.location.href.includes('\/fr');\r\n\r\n  const locale  = isSpanish ? 'es' : isFrench ? 'fr' : 'en';\r\n  const strings = translations[locale];\r\n  const section = document.getElementById('our-process');\r\n\r\n  section.querySelectorAll('[data-i18n]').forEach(function (el) {\r\n    const keys  = el.getAttribute('data-i18n').split('.');\r\n    const value = keys.reduce(function (acc, k) { return acc && acc[k]; }, strings);\r\n    if (value) el.textContent = value;\r\n  });\r\n\r\n  section.querySelectorAll('[data-i18n-alt]').forEach(function (el) {\r\n    const keys  = el.getAttribute('data-i18n-alt').split('.');\r\n    const value = keys.reduce(function (acc, k) { return acc && acc[k]; }, strings);\r\n    if (value) el.setAttribute('alt', value);\r\n  });\r\n} catch (e) {\r\n  console.warn('translation error:', e);\r\n}\r\n\r\n\r\n  const container = document.querySelector('.process-path-container');\r\n  const svg = document.getElementById('processPathSvg');\r\n  const pathEl = document.getElementById('processPath');\r\n  const arrow = document.getElementById('arrowTraveler');\r\n  const items = Array.from(document.querySelectorAll('.process-item'));\r\n\r\n  \/\/ Convert array of points into a smooth bezier path using Catmull-Rom -> Bezier\r\n  function smoothPath(points, tension) {\r\n    if (points.length < 2) return '';\r\n    tension = tension == null ? 0.5 : tension;\r\n    let d = `M ${points[0].x} ${points[0].y}`;\r\n    for (let i = 0; i < points.length - 1; i++) {\r\n      const p0 = points[i - 1] || points[i];\r\n      const p1 = points[i];\r\n      const p2 = points[i + 1];\r\n      const p3 = points[i + 2] || p2;\r\n      const c1x = p1.x + (p2.x - p0.x) * tension \/ 3;\r\n      const c1y = p1.y + (p2.y - p0.y) * tension \/ 3;\r\n      const c2x = p2.x - (p3.x - p1.x) * tension \/ 3;\r\n      const c2y = p2.y - (p3.y - p1.y) * tension \/ 3;\r\n      d += ` C ${c1x} ${c1y}, ${c2x} ${c2y}, ${p2.x} ${p2.y}`;\r\n    }\r\n    return d;\r\n  }\r\n\r\n  function buildPath() {\r\n    if (!container) return;\r\n    const cRect = container.getBoundingClientRect();\r\n    svg.setAttribute('viewBox', `0 0 ${cRect.width} ${cRect.height}`);\r\n    svg.style.width = cRect.width + 'px';\r\n    svg.style.height = cRect.height + 'px';\r\n\r\n    const isDesktop = window.innerWidth >= 1024;\r\n    const containerW = cRect.width;\r\n\r\n  \r\n    const stepAnchors = items.map((item, i) => {\r\n      const numEl = item.querySelector('.step-number');\r\n      const titleEl = item.querySelector('.process-title');\r\n      const numR = numEl.getBoundingClientRect();\r\n      const titleR = titleEl.getBoundingClientRect();\r\n      \/\/ Vertical position: at the title row\r\n      const baseY = titleR.top - cRect.top + titleR.height \/ 2;\r\n      const isEven = (i % 2) !== 0;\r\n      const y = isDesktop && isEven ? baseY + 60 : baseY;\r\n\r\n      if (isDesktop) {\r\n        const isLeftSide = (i % 2) === 0; \/\/ steps 1, 3, 5 on left\r\n        if (isLeftSide) {\r\n          \/\/ Anchor just to the right of the step number\r\n          return { x: numR.right - cRect.left + 30, y: y };\r\n        } else {\r\n          \/\/ Anchor just to the left of the step number\r\n          return { x: numR.left - cRect.left - 10, y: y };\r\n        }\r\n      } else {\r\n        const offset = (i % 2 === 0) ? 25 : -25;\r\n        return { x: numR.right - cRect.left + offset, y: y };\r\n      }\r\n    });\r\n\r\n\r\n    const anchors = [];\r\n    for (let i = 0; i < stepAnchors.length; i++) {\r\n      anchors.push(stepAnchors[i]);\r\n\r\n      if (i < stepAnchors.length - 5 && isDesktop) {\r\n        const a = stepAnchors[i];\r\n        const b = stepAnchors[i + 1];\r\n        \/\/ If current step is on the left side, swing the midpoint toward\r\n        \/\/ the RIGHT edge (and vice versa).\r\n        const currentIsLeftSide = (i % 2) === 0;\r\n      \r\n      const midX = currentIsLeftSide\r\n        ? containerW * 0.70    \/\/ swing right but not all the way\r\n        : containerW * 0.30;   \/\/ swing left but not all the way\r\n      const midY = (a.y + b.y) \/ 2;\r\n        anchors.push({ x: midX, y: midY });\r\n      }\r\n    }\r\n\r\n    const d = smoothPath(anchors, 0.7);\r\n    pathEl.setAttribute('d', d);\r\n  }\r\n\r\nfunction updateArrow() {\r\n    const totalLen = pathEl.getTotalLength();\r\n    if (!totalLen) return;\r\n\r\n    const cRect = container.getBoundingClientRect();\r\n    const viewportH = window.innerHeight;\r\n\r\n    const startY = cRect.top - viewportH * 0.8;\r\n    const endY = cRect.bottom - viewportH * 0.55;\r\n\r\n    let rawProgress;\r\n    if (endY === startY) {\r\n      rawProgress = 0;\r\n    } else {\r\n      rawProgress = -startY \/ (endY - startY);\r\n    }\r\n    rawProgress = Math.max(0, Math.min(1, rawProgress));\r\n\r\n    \/\/ Lerp the progress itself so the arrow glides, not jumps\r\n    if (arrow._progress == null) arrow._progress = rawProgress;\r\n    arrow._progress += (rawProgress - arrow._progress) * 0.09;\r\n\r\n    if (arrow._progress <= 0.001 || arrow._progress >= 0.999) {\r\n      arrow.style.opacity = '0';\r\n    } else {\r\n      arrow.style.opacity = '1';\r\n    }\r\n\r\n    const dist = arrow._progress * totalLen;\r\n    const pt = pathEl.getPointAtLength(dist);\r\n    const ahead = pathEl.getPointAtLength(Math.min(totalLen, dist + 15));\r\n    const angle = Math.atan2(ahead.y - pt.y, ahead.x - pt.x) * 180 \/ Math.PI;\r\n\r\n    if (arrow._ca == null) arrow._ca = angle;\r\n    arrow._ca += (angle - arrow._ca) * 0.18;\r\n\r\n    arrow.setAttribute('transform', `translate(${pt.x}, ${pt.y}) rotate(${arrow._ca})`);\r\n\r\n    items.forEach((item) => {\r\n      const numRect = item.querySelector('.step-number').getBoundingClientRect();\r\n      const containerRect = container.getBoundingClientRect();\r\n      const itemY = numRect.top - containerRect.top + numRect.height \/ 2;\r\n\r\n      if (pt.y >= itemY - 30) {\r\n        item.classList.add('passed');\r\n      } else {\r\n        item.classList.remove('passed');\r\n      }\r\n\r\n      \/\/ image visibility: appear when arrow is within 120px above, disappear 200px below\r\n      const inRange = pt.y >= itemY - 120 && pt.y <= itemY + 200;\r\n      item.classList.toggle('image-visible', inRange);\r\n    });\r\n  }\r\nfunction animationLoop() {\r\n    updateArrow();\r\n    requestAnimationFrame(animationLoop);\r\n  }\r\n\r\n  function init() {\r\n    buildPath();\r\n    updateArrow();\r\n  }\r\n\r\n  if (document.readyState === 'complete') {\r\n    init();\r\n  } else {\r\n    window.addEventListener('load', init);\r\n  }\r\n\r\n  window.addEventListener('load', () => {\r\n    setTimeout(init, 100);\r\n  });\r\n\r\n  let resizeTimer;\r\n  window.addEventListener('resize', () => {\r\n    clearTimeout(resizeTimer);\r\n    resizeTimer = setTimeout(init, 150);\r\n  });\r\n\r\n  animationLoop();\r\n})();\r\n<\/script>\r\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-229b9d1 explore-services-btn slx-open-trigger elementor-widget elementor-widget-pxl_button\" data-id=\"229b9d1\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation_mobile&quot;:&quot;none&quot;,&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"pxl_button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<div id=\"pxl-pxl_button-229b9d1-9653\"\r\n     class=\"pxl-button pxl-button--btn-default btn__link \"\r\n     data-wow-delay=\"ms\"\r\n     data-onepage-offset=\"\">\r\n                     <a href=\"#\"  class=\"btn  btn-glossy btn__icon-active  btn-default btn__icon-right  btn-hv-default\">\r\n                    <span class=\"btn-icon\">\r\n                <i aria-hidden=\"true\" class=\"fal fa-long-arrow-right\"><\/i>            <\/span>\r\n                            <span class=\"btn-text\" data-text=\"Habla Con Un Experto\">\r\n                Habla Con Un Experto            <\/span>\r\n            <\/a>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-e4750ad e-flex e-con-boxed e-con e-parent \" data-id=\"e4750ad\" data-element_type=\"container\" data-e-type=\"container\">\t\t\t<div class=\"e-con-inner\">\r\n\t\t\t\t<div class=\"elementor-element elementor-element-0ad1bda elementor-widget elementor-widget-html\" data-id=\"0ad1bda\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t\r\n<style>\r\n\/* Force Elementor wrappers to not interfere when popup is open *\/\r\nbody.slx-popup-open,\r\nbody.slx-popup-open #pxl-wapper,\r\nbody.slx-popup-open #pxl-main,\r\nbody.slx-popup-open .elementor,\r\nbody.slx-popup-open .e-con {\r\n  overflow: hidden !important;\r\n  overscroll-behavior: none !important;\r\n}\r\n\r\n  .slx-popup-section {\r\n    --slx-accent: #B282F0;\r\n    --slx-surface: #ffffff;\r\n    --slx-text: #1a1a1a;\r\n    --slx-muted: #aaa;\r\n    --slx-radius: 18px;\r\n    --slx-font: 'Space Grotesk', sans-serif;\r\n  }\r\n  \r\n  .slx-overlay {\r\n    position: fixed;\r\n    inset: 0;\r\n    background: rgba(0, 0, 0, 0.6);\r\n    backdrop-filter: blur(6px);\r\n    -webkit-backdrop-filter: blur(6px);\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    padding: 24px;\r\n    opacity: 0;\r\n    pointer-events: none;\r\n    touch-action: none;\r\n    overscroll-behavior: contain;\r\n    transition: opacity 0.3s ease;\r\n    z-index: 9999;\r\n  }\r\n  .slx-overlay.slx-visible {\r\n    opacity: 1;\r\n    pointer-events: all;\r\n  }\r\n\r\n  .slx-popup {\r\n  overscroll-behavior: contain;      \r\n  display: flex;          \r\n  flex-direction: column;  \r\n  overflow: hidden;        \r\n  max-height: 85vh;\r\n  touch-action: pan-y;\r\n    font-family: var(--slx-font);\r\n    background: var(--slx-surface);\r\n    border: 2px solid rgba(255, 255, 255, 0.92);\r\n    border-radius: var(--slx-radius);\r\n    padding: 30px 30px;\r\n    width: 100%;\r\n    max-width: 1000px;\r\n    position: relative;\r\n    box-shadow: 0 32px 80px rgba(0, 0, 0, 0.45),\r\n                0 0 0 1px rgba(200, 169, 110, 0.12);\r\n    transform: translateY(20px) scale(0.97);\r\n    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1),\r\n                opacity 0.3s ease;\r\n    opacity: 0;\r\n  }\r\n  .slx-popup-inner {\r\n  overflow-y: auto;           \r\n  overflow-x: hidden;\r\n  overscroll-behavior: contain;\r\n  touch-action: pan-y;\r\n  -webkit-overflow-scrolling: touch;\r\n  flex: 1;                       \r\n  min-height: 0; \r\n}\r\n  .slx-overlay.slx-visible .slx-popup {\r\n    transform: translateY(0) scale(1);\r\n    opacity: 1;\r\n  }\r\n\r\n  .slx-close-btn {\r\n    font-family: var(--slx-font);\r\n    position: absolute !important;\r\n    top: 16px;\r\n    right: 16px;\r\n    width: 32px;\r\n    height: 32px;\r\n    border-radius: 50%;\r\n    border: 0px solid #ddd;\r\n    background: none;\r\n    cursor: pointer;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    color: #999 !important;\r\n    font-size: 0.95rem;\r\n    line-height: 1;\r\n    transition: border-color 0.2s, color 0.2s, background 0.2s;\r\n  }\r\n  .slx-close-btn:hover {\r\n    border-color: #aaa;\r\n    color: #333;\r\n    background: #f5f5f5;\r\n  }\r\n\r\n  .slx-eyebrow {\r\n    font-family: var(--slx-font);\r\n    font-size: 0.68rem;\r\n    font-weight: 600;\r\n    letter-spacing: 0.18em;\r\n    text-transform: uppercase;\r\n    color: var(--slx-accent);\r\n    margin: 0 0 10px;\r\n  }\r\n\r\n  .slx-title {\r\n    font-family: var(--slx-font);\r\n    font-size: 1.6rem;\r\n    font-weight: 700;\r\n    color: var(--slx-text);\r\n    line-height: 1.25;\r\n    margin: 0 0 24px;\r\n    letter-spacing: -0.02em;\r\n  }\r\n\r\n  .slx-divider {\r\n    width: 36px;\r\n    height: 2px;\r\n    background: var(--slx-accent);\r\n    border-radius: 2px;\r\n    margin: 0 0 24px;\r\n  }\r\n\r\n  .slx-phone-label {\r\n    font-family: var(--slx-font);\r\n    font-size: 0.68rem;\r\n    font-weight: 500;\r\n    letter-spacing: 0.12em;\r\n    text-transform: uppercase;\r\n    color: var(--slx-muted);\r\n    margin: 0 0 8px;\r\n  }\r\n\r\n  .slx-phone-number {\r\n    font-family: var(--slx-font);\r\n    font-size: 1.9rem;\r\n    font-weight: 700;\r\n    letter-spacing: -0.02em;\r\n    color: var(--slx-text);\r\n    display: block;\r\n    text-decoration: none;\r\n    transition: color 0.2s;\r\n  }\r\n  \r\n  .slx-phone-number:hover {\r\n    color: var(--slx-accent);\r\n  }\r\n\r\n  .slx-disclaimer {\r\n    font-family: var(--slx-font);\r\n    margin-top: 20px;\r\n    font-size: 0.65rem;\r\n    font-weight: 400;\r\n    line-height: 1.65;\r\n    color: #bbb;\r\n    border-top: 1px solid #eee;\r\n    padding-top: 16px;\r\n  }\r\n\r\n  .slx-open-trigger {\r\n    cursor: pointer;\r\n  }\r\n  \r\n  @media (max-width: 480px) {\r\n    .slx-popup {\r\n      padding: 40px 24px 28px;\r\n      max-width: 90%;\r\n    }\r\n    .slx-phone-number {\r\n      font-size: 1.35rem;\r\n    }\r\n    .slx-title {\r\n      font-size: 1.3rem !important;\r\n    }\r\n     .slx-close-btn {\r\n    font-family: var(--slx-font);\r\n    position: absolute !important;\r\n    top: 9px;\r\n    right: 16px;\r\n    width: 32px;\r\n    height: 32px;\r\n    border-radius: 50%;\r\n    border: 0px solid #ddd;\r\n    background: none;\r\n    cursor: pointer;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    color: #999 !important;\r\n    font-size: 0.95rem;\r\n    line-height: 1;\r\n    transition: border-color 0.2s, color 0.2s, background 0.2s;\r\n  }\r\n    \r\n  }\r\n<\/style>\r\n\r\n<section class=\"slx-popup-section\">\r\n  <div class=\"slx-overlay\" id=\"slxOverlay\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"slxTitle\">\r\n    <div class=\"slx-popup\" id=\"slx-popup\">\r\n      <button class=\"slx-close-btn\" id=\"slxCloseBtn\" aria-label=\"Cerrar\">\u2715<\/button>\r\n      <div class=\"slx-popup-inner\">\r\n        <p class=\"slx-eyebrow\">Cu\u00e9ntanos Sobre Tu Operaci\u00f3n<\/p>\r\n        <h2 class=\"slx-title\" id=\"slxTitle\">Construyamos Tu Software Juntos.<\/h2>\r\n        <div class=\"slx-divider\"><\/div>\r\n        <div class=\"slx-form\">\r\n        <script src=\"https:\/\/bookings.nimbuspop.com\/assets\/embed.js\"><\/script>\r\n<div id=\"inline-container\"><\/div>\r\n<script>\r\n    \/\/ Initialize inline embed after script loads\r\n    window.onload = function() {\r\n        Bookings.inlineEmbed({\r\n            url: \"https:\/\/booking.leovoid.com\/portal-embed#\/4698738000000051029\",\r\n            parent: \"#inline-container\",\r\n           \r\n        });\r\n    };\r\n<\/script>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n\r\n(function () {\r\n  var slxOverlay   = document.getElementById('slxOverlay');\r\n  var slxCloseBtn  = document.getElementById('slxCloseBtn');\r\n  var slxPopup     = document.getElementById('slx-popup');\r\n  \r\nwindow.addEventListener('DOMContentLoaded', function () {\r\n    function unlockFlags() {\r\n        \/\/ Find any Elementor section that wraps the phone field\r\n        document.querySelectorAll('.e-con.e-parent:not(.e-lazyloaded)').forEach(function (el) {\r\n            el.classList.add('e-lazyloaded');\r\n        });\r\n    }\r\n\r\n    \/\/ Run immediately in case the form is already in the DOM\r\n    unlockFlags();\r\n\r\n    \/\/ Also observe for Gravity Forms rendering asynchronously\r\n    var observer = new MutationObserver(function () {\r\n        unlockFlags();\r\n    });\r\n\r\n    observer.observe(document.body, { childList: true, subtree: true });\r\n\r\n    \/\/ Stop observing after page fully settles\r\n    window.addEventListener('load', function () {\r\n        setTimeout(function () { observer.disconnect(); }, 2000);\r\n    });\r\n});\r\n\r\n  \/\/ Collect ALL Elementor scroll containers + html\/body\r\n  function getScrollTargets() {\r\n    var targets = [document.documentElement, document.body];\r\n    var elContainers = document.querySelectorAll(\r\n      '#pxl-wapper, #pxl-main, .elementor, .e-con, ' +\r\n      '.elementor-section-wrap, #page, #content, .site-content, ' +\r\n      '[data-elementor-type]'\r\n    );\r\n    elContainers.forEach(function(el) { targets.push(el); });\r\n    return targets;\r\n  }\r\n\r\n  var savedStyles = [];\r\n\r\n  function lockScroll() {\r\n    \/\/ Save scroll position to prevent jump\r\n    var scrollY = window.scrollY || window.pageYOffset;\r\n    document.documentElement.dataset.scrollY = scrollY;\r\n\r\n    var targets = getScrollTargets();\r\n    savedStyles = targets.map(function(el) {\r\n      return {\r\n        el: el,\r\n        overflow:   el.style.overflow,\r\n        overflowY:  el.style.overflowY,\r\n        height:     el.style.height,\r\n        position:   el.style.position,\r\n        top:        el.style.top,\r\n      };\r\n    });\r\n\r\n    targets.forEach(function(el) {\r\n      el.style.overflow  = 'hidden';\r\n      el.style.overflowY = 'hidden';\r\n    });\r\n\r\n    \/\/ Pin body at current scroll so page doesn't jump\r\n    document.body.style.position = 'fixed';\r\n    document.body.style.top      = '-' + scrollY + 'px';\r\n    document.body.style.width    = '100%';\r\n  }\r\n\r\n  function unlockScroll() {\r\n    var scrollY = parseInt(document.documentElement.dataset.scrollY || '0', 10);\r\n\r\n    savedStyles.forEach(function(saved) {\r\n      saved.el.style.overflow  = saved.overflow;\r\n      saved.el.style.overflowY = saved.overflowY;\r\n      saved.el.style.height    = saved.height;\r\n    });\r\n\r\n    \/\/ Restore body position & scroll\r\n    document.body.style.position = '';\r\n    document.body.style.top      = '';\r\n    document.body.style.width    = '';\r\n    window.scrollTo(0, scrollY);\r\n    savedStyles = [];\r\n  }\r\n\r\n  \/\/ Focus Trap\r\n  var FOCUSABLE = 'a[href], button:not([disabled]), input:not([disabled]), ' +\r\n                  'select:not([disabled]), textarea:not([disabled]), ' +\r\n                  '[tabindex]:not([tabindex=\"-1\"])';\r\n\r\n  function trapFocus(e) {\r\n    if (!slxOverlay.classList.contains('slx-visible')) return;\r\n    var focusable = Array.from(slxPopup.querySelectorAll(FOCUSABLE))\r\n                         .filter(function(el) {\r\n                           return el.offsetParent !== null;\r\n                         });\r\n    if (!focusable.length) return;\r\n    var first = focusable[0];\r\n    var last  = focusable[focusable.length - 1];\r\n\r\n    if (e.key === 'Tab') {\r\n      if (e.shiftKey) {\r\n        if (document.activeElement === first) {\r\n          e.preventDefault();\r\n          last.focus();\r\n        }\r\n      } else {\r\n        if (document.activeElement === last) {\r\n          e.preventDefault();\r\n          first.focus();\r\n        }\r\n      }\r\n    }\r\n    if (e.key === 'Escape') {\r\n      slxClose();\r\n    }\r\n  }\r\n\r\n  \/\/ Open \/ Close\r\n  function slxOpen() {\r\n    lockScroll();\r\n    slxOverlay.classList.add('slx-visible');\r\n    slxOverlay.style.display = 'flex'; \/\/ force display in case Elementor hides it\r\n    document.addEventListener('keydown', trapFocus);\r\n\r\n    \/\/ Move focus inside popup after animation\r\n    setTimeout(function() {\r\n      var first = slxPopup.querySelector(FOCUSABLE);\r\n      if (first) first.focus({ preventScroll: true });\r\n    }, 350);\r\n  }\r\n\r\n  function slxClose() {\r\n    slxOverlay.classList.remove('slx-visible');\r\n    unlockScroll();\r\n    document.removeEventListener('keydown', trapFocus);\r\n  }\r\n\r\n  \/\/ Bind triggers\r\n  var triggers = document.getElementsByClassName('slx-open-trigger');\r\n  for (var i = 0; i < triggers.length; i++) {\r\n    triggers[i].addEventListener('click', function(e) {\r\n      e.preventDefault();\r\n      slxOpen();\r\n    });\r\n  }\r\n\r\n  slxCloseBtn.addEventListener('click', slxClose);\r\n\r\n  slxOverlay.addEventListener('click', function(e) {\r\n    if (e.target === slxOverlay) slxClose();\r\n  });\r\n\r\n  \/\/ Prevent popup inner scroll from bubbling to page\r\n  var inner = slxPopup.querySelector('.slx-popup-inner');\r\n  if (inner) {\r\n    inner.addEventListener('wheel', function(e) { e.stopPropagation(); },\r\n      { passive: true });\r\n    inner.addEventListener('touchmove', function(e) { e.stopPropagation(); },\r\n      { passive: false });\r\n  }\r\n\r\n  \/\/ Auto-open if already visible (your current default)\r\n  if (slxOverlay.classList.contains('slx-visible')) {\r\n    lockScroll();\r\n    document.addEventListener('keydown', trapFocus);\r\n  }\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t<div class=\"elementor-element elementor-element-8d57ac9 e-flex e-con-boxed e-con e-parent \" data-id=\"8d57ac9\" data-element_type=\"container\" data-e-type=\"container\">\t\t\t<div class=\"e-con-inner\">\r\n\t\t\t\t<div class=\"elementor-element elementor-element-0c55423 elementor-widget elementor-widget-shortcode\" data-id=\"0c55423\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><script>\r\n\r\nconst MIDDLE_EAST_CONTACT_TIMEZONES = [\r\n  \"Asia\/Riyadh\",        \/\/ Saudi Arabia\r\n  \"Asia\/Dubai\",         \/\/ UAE\r\n  \"Asia\/Kuwait\",        \/\/ Kuwait\r\n  \"Asia\/Bahrain\",\r\n  \"Asia\/Qatar\",         \/\/ Qatar\r\n  \"Asia\/Muscat\",        \/\/ Oman\r\n  \"Asia\/Baghdad\",       \/\/ Iraq\r\n  \"Asia\/Beirut\",\r\n  \"Asia\/Damascus\",      \/\/ Syria\r\n  \"Asia\/Amman\",         \/\/ Jordan\r\n  \"Asia\/Gaza\",\r\n  \"Asia\/Hebron\",\r\n  \"Asia\/Tehran\",    \r\n  \"Asia\/Aden\",          \/\/ Yemen\r\n  \"Asia\/Nicosia\",\r\n  \"Africa\/Cairo\",       \/\/ Egypt \r\n  \"Europe\/Istanbul\",\r\n  \"Asia\/Kabul\",         \/\/ Afghanistan\r\n  \"Africa\/Algiers\",     \/\/ Algeria\r\n  \"Africa\/Djibouti\",    \/\/ Djibouti\r\n  \"Africa\/Tripoli\",     \/\/ Libya\r\n  \"Europe\/Malta\",       \/\/ Malta\r\n  \"Africa\/Casablanca\",  \/\/ Morocco\r\n  \"Asia\/Karachi\",       \/\/ Pakistan\r\n  \"Africa\/Tunis\"        \/\/ Tunisia\r\n];\r\n\r\n\r\nfunction isMiddleEastContact() {\r\n  const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\r\n\tconsole.log('Contact timezone: '+timezone);\r\n  return MIDDLE_EAST_CONTACT_TIMEZONES.includes(timezone);\r\n}\r\n\r\nfunction handleByRegion() {\r\n  if (isMiddleEastContact()) {\r\n    try {\r\n      openLebContactPopup()\r\n    } catch (error) {\r\n      console.error(\"Falling back to US contact version:\", error);\r\n      openPopup();\r\n    }\r\n  } else {\r\n    try {\r\n      openPopup();\r\n    } catch (error) {\r\n      console.error(\"Falling back to AR contact version:\", error);\r\n      openLebContactPopup();\r\n    }\r\n  }\r\n}\r\n\r\n\r\n\/\/ document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/   handleByRegion();\r\n\/\/ });\r\n\t\r\nvar region_btn_elements = document.getElementsByClassName(\"contact-popup-by-region\");\r\n\r\n      for (var i = 0; i < region_btn_elements.length; i++) {\r\n        region_btn_elements[i].addEventListener('click', function() {\r\n          handleByRegion();\r\n        });\r\n      }\t\r\n\r\n<\/script><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Infraestructura Dise\u00f1ada para la Fiabilidad, la Seguridad y la Escalabilidad. La mayor\u00eda de las infraestructuras se improvisan bajo presi\u00f3n. La nuestra se dise\u00f1a con intenci\u00f3n. Construida para las cargas de trabajo que tienes hoy, y arquitectada para las que a\u00fan no has planificado. Deja de Adaptarte, Empieza a Construir Empieza a Construir Ingenier\u00eda de Nube [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-36990","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Nube e Infraestructura &#8226; Leovoid<\/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:\/\/leovoid.com\/cloud-and-infrastructure\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Nube e Infraestructura &#8226; Leovoid\" \/>\n<meta property=\"og:description\" content=\"Infraestructura Dise\u00f1ada para la Fiabilidad, la Seguridad y la Escalabilidad. La mayor\u00eda de las infraestructuras se improvisan bajo presi\u00f3n. La nuestra se dise\u00f1a con intenci\u00f3n. Construida para las cargas de trabajo que tienes hoy, y arquitectada para las que a\u00fan no has planificado. Deja de Adaptarte, Empieza a Construir Empieza a Construir Ingenier\u00eda de Nube [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/leovoid.com\/cloud-and-infrastructure\/\" \/>\n<meta property=\"og:site_name\" content=\"Leovoid\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-08T08:46:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/leovoid.com\/wp-content\/uploads\/2025\/12\/Artboard-2-copy-6%402x.png?fit=801%2C800&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"801\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/leovoid.com\/cloud-and-infrastructure\/\",\"url\":\"https:\/\/leovoid.com\/cloud-and-infrastructure\/\",\"name\":\"Nube e Infraestructura &#8226; Leovoid\",\"isPartOf\":{\"@id\":\"https:\/\/leovoid.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/leovoid.com\/cloud-and-infrastructure\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/leovoid.com\/cloud-and-infrastructure\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/leovoid.com\/wp-content\/uploads\/2026\/06\/Cloud-Infrastructure-v1-final-svg.svg\",\"datePublished\":\"2026-06-05T08:50:42+00:00\",\"dateModified\":\"2026-07-08T08:46:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/leovoid.com\/cloud-and-infrastructure\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/leovoid.com\/cloud-and-infrastructure\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/leovoid.com\/cloud-and-infrastructure\/#primaryimage\",\"url\":\"https:\/\/leovoid.com\/wp-content\/uploads\/2026\/06\/Cloud-Infrastructure-v1-final-svg.svg\",\"contentUrl\":\"https:\/\/leovoid.com\/wp-content\/uploads\/2026\/06\/Cloud-Infrastructure-v1-final-svg.svg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/leovoid.com\/cloud-and-infrastructure\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Your Technology Partner\",\"item\":\"https:\/\/leovoid.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nube e Infraestructura\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/leovoid.com\/#website\",\"url\":\"https:\/\/leovoid.com\/\",\"name\":\"Leovoid\",\"description\":\"We Turn Complexity Into Clarity\",\"publisher\":{\"@id\":\"https:\/\/leovoid.com\/#organization\"},\"alternateName\":\"Leovoid Technologies\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/leovoid.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/leovoid.com\/#organization\",\"name\":\"Leovoid\",\"alternateName\":\"Leovoid Technologies\",\"url\":\"https:\/\/leovoid.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/leovoid.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/leovoid.com\/wp-content\/uploads\/2025\/12\/Artboard-2-copy-5@2x.png\",\"contentUrl\":\"https:\/\/leovoid.com\/wp-content\/uploads\/2025\/12\/Artboard-2-copy-5@2x.png\",\"width\":441,\"height\":441,\"caption\":\"Leovoid\"},\"image\":{\"@id\":\"https:\/\/leovoid.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/leovoid-technologies\/\",\"https:\/\/www.instagram.com\/leovoidtechnologies\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Nube e Infraestructura &#8226; Leovoid","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:\/\/leovoid.com\/cloud-and-infrastructure\/","og_locale":"es_ES","og_type":"article","og_title":"Nube e Infraestructura &#8226; Leovoid","og_description":"Infraestructura Dise\u00f1ada para la Fiabilidad, la Seguridad y la Escalabilidad. La mayor\u00eda de las infraestructuras se improvisan bajo presi\u00f3n. La nuestra se dise\u00f1a con intenci\u00f3n. Construida para las cargas de trabajo que tienes hoy, y arquitectada para las que a\u00fan no has planificado. Deja de Adaptarte, Empieza a Construir Empieza a Construir Ingenier\u00eda de Nube [&hellip;]","og_url":"https:\/\/leovoid.com\/cloud-and-infrastructure\/","og_site_name":"Leovoid","article_modified_time":"2026-07-08T08:46:44+00:00","og_image":[{"width":801,"height":800,"url":"https:\/\/i0.wp.com\/leovoid.com\/wp-content\/uploads\/2025\/12\/Artboard-2-copy-6%402x.png?fit=801%2C800&ssl=1","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/leovoid.com\/cloud-and-infrastructure\/","url":"https:\/\/leovoid.com\/cloud-and-infrastructure\/","name":"Nube e Infraestructura &#8226; Leovoid","isPartOf":{"@id":"https:\/\/leovoid.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/leovoid.com\/cloud-and-infrastructure\/#primaryimage"},"image":{"@id":"https:\/\/leovoid.com\/cloud-and-infrastructure\/#primaryimage"},"thumbnailUrl":"https:\/\/leovoid.com\/wp-content\/uploads\/2026\/06\/Cloud-Infrastructure-v1-final-svg.svg","datePublished":"2026-06-05T08:50:42+00:00","dateModified":"2026-07-08T08:46:44+00:00","breadcrumb":{"@id":"https:\/\/leovoid.com\/cloud-and-infrastructure\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/leovoid.com\/cloud-and-infrastructure\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/leovoid.com\/cloud-and-infrastructure\/#primaryimage","url":"https:\/\/leovoid.com\/wp-content\/uploads\/2026\/06\/Cloud-Infrastructure-v1-final-svg.svg","contentUrl":"https:\/\/leovoid.com\/wp-content\/uploads\/2026\/06\/Cloud-Infrastructure-v1-final-svg.svg"},{"@type":"BreadcrumbList","@id":"https:\/\/leovoid.com\/cloud-and-infrastructure\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Your Technology Partner","item":"https:\/\/leovoid.com\/es\/"},{"@type":"ListItem","position":2,"name":"Nube e Infraestructura"}]},{"@type":"WebSite","@id":"https:\/\/leovoid.com\/#website","url":"https:\/\/leovoid.com\/","name":"Leovoid","description":"We Turn Complexity Into Clarity","publisher":{"@id":"https:\/\/leovoid.com\/#organization"},"alternateName":"Leovoid Technologies","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/leovoid.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/leovoid.com\/#organization","name":"Leovoid","alternateName":"Leovoid Technologies","url":"https:\/\/leovoid.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/leovoid.com\/#\/schema\/logo\/image\/","url":"https:\/\/leovoid.com\/wp-content\/uploads\/2025\/12\/Artboard-2-copy-5@2x.png","contentUrl":"https:\/\/leovoid.com\/wp-content\/uploads\/2025\/12\/Artboard-2-copy-5@2x.png","width":441,"height":441,"caption":"Leovoid"},"image":{"@id":"https:\/\/leovoid.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/leovoid-technologies\/","https:\/\/www.instagram.com\/leovoidtechnologies"]}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/leovoid.com\/es\/wp-json\/wp\/v2\/pages\/36990","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/leovoid.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/leovoid.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/leovoid.com\/es\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/leovoid.com\/es\/wp-json\/wp\/v2\/comments?post=36990"}],"version-history":[{"count":15,"href":"https:\/\/leovoid.com\/es\/wp-json\/wp\/v2\/pages\/36990\/revisions"}],"predecessor-version":[{"id":37023,"href":"https:\/\/leovoid.com\/es\/wp-json\/wp\/v2\/pages\/36990\/revisions\/37023"}],"wp:attachment":[{"href":"https:\/\/leovoid.com\/es\/wp-json\/wp\/v2\/media?parent=36990"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}