

{"id":10006,"date":"2020-11-17T13:35:42","date_gmt":"2020-11-17T13:35:42","guid":{"rendered":"https:\/\/wordpress-288344-1596643.cloudwaysapps.com\/?page_id=77"},"modified":"2026-07-19T21:27:10","modified_gmt":"2026-07-20T03:27:10","slug":"homepage-2","status":"publish","type":"page","link":"https:\/\/studiovainilla.com\/clientes\/","title":{"rendered":"Inicio"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"10006\" class=\"elementor elementor-10006\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6db1394 e-con-full e-flex e-con e-parent\" data-id=\"6db1394\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-052ad5c elementor-widget elementor-widget-html\" data-id=\"052ad5c\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<div id=\"sv-client-portal\" class=\"svcp\">\n\n  <!-- =====================================================\n       FONDO Y ELEMENTOS DECORATIVOS\n  ====================================================== -->\n  <div class=\"svcp-background\" aria-hidden=\"true\">\n    <span class=\"svcp-orb svcp-orb-one\"><\/span>\n    <span class=\"svcp-orb svcp-orb-two\"><\/span>\n    <span class=\"svcp-orb svcp-orb-three\"><\/span>\n    <span class=\"svcp-grid svcp-grid-one\"><\/span>\n    <span class=\"svcp-grid svcp-grid-two\"><\/span>\n  <\/div>\n\n  <!-- =====================================================\n       HERO\n  ====================================================== -->\n  <main class=\"svcp-main\">\n\n    <section class=\"svcp-hero\">\n      <div class=\"svcp-container svcp-hero-grid\">\n\n        <!-- Contenido -->\n        <div class=\"svcp-hero-content svcp-reveal\">\n\n          <a\n            href=\"https:\/\/studiovainilla.com\/clientes\/\"\n            class=\"svcp-brand\"\n            aria-label=\"StudioVainilla Portal de Clientes\"\n          >\n            <img decoding=\"async\"\n              src=\"https:\/\/studiovainilla.com\/clientes\/wp-content\/uploads\/2021\/03\/StudioVainilla-Portal-Clientes-Blanco-Vainilla.png\"\n              alt=\"Clientes by StudioVainilla\"\n              loading=\"eager\"\n            >\n          <\/a>\n\n          <div class=\"svcp-eyebrow\">\n            <span class=\"svcp-status-dot\"><\/span>\n            Portal de clientes\n          <\/div>\n\n          <div class=\"svcp-welcome\">\n            Hola, <strong class=\"svcp-client-name\">[SV_CLIENTE_NOMBRE]<\/strong>\n            <span class=\"svcp-wave\" aria-hidden=\"true\">\ud83d\udc4b<\/span>\n          <\/div>\n\n          <h1 class=\"svcp-title\">\n            Todo tu proyecto.\n            <span>En un mismo lugar.<\/span>\n          <\/h1>\n\n          <p class=\"svcp-description\">\n            Consulta avances, calendarios, archivos, solicitudes y resultados\n            desde el espacio de trabajo que hemos preparado para tu empresa.\n          <\/p>\n\n          <div class=\"svcp-actions\">\n            <a\n              href=\"https:\/\/studiovainilla.com\/clientes\/escritorio-vainilla\/\"\n              class=\"svcp-button svcp-button-primary\"\n            >\n              <span>Ir a Escritorio Vainilla<\/span>\n\n              <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n                <path\n                  d=\"M5 12h14M13 6l6 6-6 6\"\n                  fill=\"none\"\n                  stroke=\"currentColor\"\n                  stroke-width=\"2\"\n                  stroke-linecap=\"round\"\n                  stroke-linejoin=\"round\"\n                \/>\n              <\/svg>\n            <\/a>\n\n            <a\n              href=\"https:\/\/studiovainilla.com\/clientes\/faqs\/\"\n              class=\"svcp-button svcp-button-secondary\"\n            >\n              Centro de ayuda\n            <\/a>\n          <\/div>\n\n          <div class=\"svcp-trust-row\">\n            <div class=\"svcp-trust-item\">\n              <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n                <path\n                  d=\"M12 3l7 3v5c0 4.6-2.9 8.2-7 10-4.1-1.8-7-5.4-7-10V6l7-3z\"\n                  fill=\"none\"\n                  stroke=\"currentColor\"\n                  stroke-width=\"1.8\"\n                  stroke-linejoin=\"round\"\n                \/>\n                <path\n                  d=\"M9 12l2 2 4-4\"\n                  fill=\"none\"\n                  stroke=\"currentColor\"\n                  stroke-width=\"1.8\"\n                  stroke-linecap=\"round\"\n                  stroke-linejoin=\"round\"\n                \/>\n              <\/svg>\n\n              Acceso seguro\n            <\/div>\n\n            <div class=\"svcp-trust-item\">\n              <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n                <circle\n                  cx=\"12\"\n                  cy=\"12\"\n                  r=\"8\"\n                  fill=\"none\"\n                  stroke=\"currentColor\"\n                  stroke-width=\"1.8\"\n                \/>\n                <path\n                  d=\"M12 8v4l3 2\"\n                  fill=\"none\"\n                  stroke=\"currentColor\"\n                  stroke-width=\"1.8\"\n                  stroke-linecap=\"round\"\n                  stroke-linejoin=\"round\"\n                \/>\n              <\/svg>\n\n              Informaci\u00f3n actualizada\n            <\/div>\n          <\/div>\n\n        <\/div>\n\n        <!-- Interfaz visual -->\n        <div class=\"svcp-visual svcp-reveal\" aria-hidden=\"true\">\n\n          <div class=\"svcp-dashboard\">\n\n            <div class=\"svcp-dashboard-top\">\n              <div class=\"svcp-dashboard-controls\">\n                <span><\/span>\n                <span><\/span>\n                <span><\/span>\n              <\/div>\n\n              <div class=\"svcp-dashboard-label\">\n                StudioVainilla\n              <\/div>\n            <\/div>\n\n            <div class=\"svcp-dashboard-body\">\n\n              <div class=\"svcp-sidebar\">\n                <div class=\"svcp-sidebar-logo\">SV<\/div>\n\n                <span class=\"is-active\"><\/span>\n                <span><\/span>\n                <span><\/span>\n                <span><\/span>\n              <\/div>\n\n              <div class=\"svcp-dashboard-content\">\n\n                <div class=\"svcp-dashboard-heading\">\n                  <div>\n                    <small>Resumen del proyecto<\/small>\n                    <strong>Tu espacio de trabajo<\/strong>\n                  <\/div>\n\n                  <span class=\"svcp-live-pill\">\n                    <i><\/i>\n                    Activo\n                  <\/span>\n                <\/div>\n\n                <div class=\"svcp-metric-grid\">\n\n                  <div class=\"svcp-metric-card\">\n                    <span>Avance general<\/span>\n                    <strong>84%<\/strong>\n\n                    <div class=\"svcp-progress\">\n                      <i style=\"width:84%\"><\/i>\n                    <\/div>\n                  <\/div>\n\n                  <div class=\"svcp-metric-card svcp-metric-card-accent\">\n                    <span>Solicitudes<\/span>\n                    <strong>12<\/strong>\n                    <small>3 actualizadas hoy<\/small>\n                  <\/div>\n\n                <\/div>\n\n                <div class=\"svcp-chart-card\">\n                  <div class=\"svcp-chart-header\">\n                    <div>\n                      <span>Actividad del proyecto<\/span>\n                      <strong>Seguimiento semanal<\/strong>\n                    <\/div>\n\n                    <div class=\"svcp-chart-badge\">+18%<\/div>\n                  <\/div>\n\n                  <div class=\"svcp-chart\">\n                    <span style=\"height:36%\"><\/span>\n                    <span style=\"height:52%\"><\/span>\n                    <span style=\"height:45%\"><\/span>\n                    <span style=\"height:68%\"><\/span>\n                    <span style=\"height:58%\"><\/span>\n                    <span style=\"height:82%\"><\/span>\n                    <span style=\"height:74%\"><\/span>\n                    <span style=\"height:92%\"><\/span>\n                  <\/div>\n                <\/div>\n\n                <div class=\"svcp-task-list\">\n\n                  <div class=\"svcp-task\">\n                    <span class=\"svcp-task-check\">\n                      <svg viewBox=\"0 0 24 24\">\n                        <path\n                          d=\"M6 12l4 4 8-9\"\n                          fill=\"none\"\n                          stroke=\"currentColor\"\n                          stroke-width=\"2.3\"\n                          stroke-linecap=\"round\"\n                          stroke-linejoin=\"round\"\n                        \/>\n                      <\/svg>\n                    <\/span>\n\n                    <div>\n                      <strong>Calendario actualizado<\/strong>\n                      <small>Contenido y entregables disponibles<\/small>\n                    <\/div>\n\n                    <span class=\"svcp-task-status\">Listo<\/span>\n                  <\/div>\n\n                  <div class=\"svcp-task\">\n                    <span class=\"svcp-task-check\">\n                      <svg viewBox=\"0 0 24 24\">\n                        <path\n                          d=\"M6 12l4 4 8-9\"\n                          fill=\"none\"\n                          stroke=\"currentColor\"\n                          stroke-width=\"2.3\"\n                          stroke-linecap=\"round\"\n                          stroke-linejoin=\"round\"\n                        \/>\n                      <\/svg>\n                    <\/span>\n\n                    <div>\n                      <strong>Reporte disponible<\/strong>\n                      <small>Consulta el desempe\u00f1o m\u00e1s reciente<\/small>\n                    <\/div>\n\n                    <span class=\"svcp-task-status\">Nuevo<\/span>\n                  <\/div>\n\n                <\/div>\n\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <!-- Tarjetas flotantes -->\n          <div class=\"svcp-floating-card svcp-floating-card-one\">\n            <span class=\"svcp-floating-icon\">\n              <svg viewBox=\"0 0 24 24\">\n                <path\n                  d=\"M5 4h14v16H5zM8 8h8M8 12h8M8 16h5\"\n                  fill=\"none\"\n                  stroke=\"currentColor\"\n                  stroke-width=\"1.8\"\n                  stroke-linecap=\"round\"\n                  stroke-linejoin=\"round\"\n                \/>\n              <\/svg>\n            <\/span>\n\n            <div>\n              <small>Documentos<\/small>\n              <strong>Todo organizado<\/strong>\n            <\/div>\n          <\/div>\n\n          <div class=\"svcp-floating-card svcp-floating-card-two\">\n            <span class=\"svcp-floating-avatar\">SV<\/span>\n\n            <div>\n              <small>Tu equipo<\/small>\n              <strong>En seguimiento<\/strong>\n            <\/div>\n\n            <span class=\"svcp-online\"><\/span>\n          <\/div>\n\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <!-- =====================================================\n         PLATAFORMAS\n    ====================================================== -->\n    <section class=\"svcp-platforms svcp-reveal\">\n\n      <div class=\"svcp-container\">\n        <div class=\"svcp-platform-panel\">\n\n          <div class=\"svcp-platform-heading\">\n            <span>Tecnolog\u00eda que respalda nuestro trabajo<\/span>\n          <\/div>\n\n          <div class=\"svcp-marquee\" data-svcp-marquee>\n            <div class=\"svcp-marquee-track\">\n\n              <div class=\"svcp-logo-item\">\n                <img decoding=\"async\"\n                  src=\"https:\/\/studiovainilla.com\/clientes\/wp-content\/uploads\/2022\/01\/Meta-StudioVainilla-1.png\"\n                  alt=\"Meta\"\n                  loading=\"lazy\"\n                >\n              <\/div>\n\n              <div class=\"svcp-logo-item\">\n                <img decoding=\"async\"\n                  src=\"https:\/\/studiovainilla.com\/clientes\/wp-content\/uploads\/2022\/01\/Google-ads-StudioVainilla.png\"\n                  alt=\"Google Ads\"\n                  loading=\"lazy\"\n                >\n              <\/div>\n\n              <div class=\"svcp-logo-item\">\n                <img decoding=\"async\"\n                  src=\"https:\/\/studiovainilla.com\/clientes\/wp-content\/uploads\/2024\/10\/facebook-logo-studiovainilla.png\"\n                  alt=\"Facebook\"\n                  loading=\"lazy\"\n                >\n              <\/div>\n\n              <div class=\"svcp-logo-item\">\n                <img decoding=\"async\"\n                  src=\"https:\/\/studiovainilla.com\/clientes\/wp-content\/uploads\/2022\/01\/Instagram-StudioVainilla.png\"\n                  alt=\"Instagram\"\n                  loading=\"lazy\"\n                >\n              <\/div>\n\n              <div class=\"svcp-logo-item svcp-logo-item-wide\">\n                <img decoding=\"async\"\n                  src=\"https:\/\/studiovainilla.com\/clientes\/wp-content\/uploads\/2022\/01\/Monday-Slack-StudioVainilla-1.png\"\n                  alt=\"Monday.com y Slack\"\n                  loading=\"lazy\"\n                >\n              <\/div>\n\n              <div class=\"svcp-logo-item\">\n                <img decoding=\"async\"\n                  src=\"https:\/\/studiovainilla.com\/clientes\/wp-content\/uploads\/2022\/02\/AWS-StudioVainilla.png\"\n                  alt=\"Amazon Web Services\"\n                  loading=\"lazy\"\n                >\n              <\/div>\n\n            <\/div>\n          <\/div>\n\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <!-- =====================================================\n         INDICADORES\n    ====================================================== -->\n    <section class=\"svcp-impact\">\n      <div class=\"svcp-container\">\n\n        <div class=\"svcp-section-heading svcp-reveal\">\n          <div class=\"svcp-section-kicker\">Experiencia StudioVainilla<\/div>\n\n          <h2>\n            Estrategia, creatividad y tecnolog\u00eda\n            <span>trabajando para tu empresa.<\/span>\n          <\/h2>\n\n          <p>\n            Desde 2012 construimos soluciones digitales con procesos claros,\n            seguimiento constante y una visi\u00f3n enfocada en resultados.\n          <\/p>\n        <\/div>\n\n        <div class=\"svcp-stats\">\n\n          <article class=\"svcp-stat svcp-reveal\">\n            <div class=\"svcp-stat-top\">\n              <span class=\"svcp-stat-number\" data-count=\"1500\" data-prefix=\"+\">0<\/span>\n              <span class=\"svcp-stat-icon\">\n                <svg viewBox=\"0 0 24 24\">\n                  <path\n                    d=\"M4 19V9l8-5 8 5v10H4zM9 19v-6h6v6\"\n                    fill=\"none\"\n                    stroke=\"currentColor\"\n                    stroke-width=\"1.8\"\n                    stroke-linejoin=\"round\"\n                  \/>\n                <\/svg>\n              <\/span>\n            <\/div>\n\n            <h3>Proyectos atendidos<\/h3>\n            <p>Experiencia aplicada en distintos sectores y modelos de negocio.<\/p>\n          <\/article>\n\n          <article class=\"svcp-stat svcp-reveal\">\n            <div class=\"svcp-stat-top\">\n              <span class=\"svcp-stat-number\" data-count=\"500\" data-prefix=\"+\">0<\/span>\n              <span class=\"svcp-stat-icon\">\n                <svg viewBox=\"0 0 24 24\">\n                  <path\n                    d=\"M16 20v-2a4 4 0 00-4-4H7a4 4 0 00-4 4v2M9.5 10a4 4 0 100-8 4 4 0 000 8zM17 11l2 2 4-4\"\n                    fill=\"none\"\n                    stroke=\"currentColor\"\n                    stroke-width=\"1.8\"\n                    stroke-linecap=\"round\"\n                    stroke-linejoin=\"round\"\n                  \/>\n                <\/svg>\n              <\/span>\n            <\/div>\n\n            <h3>Clientes satisfechos<\/h3>\n            <p>Relaciones profesionales basadas en atenci\u00f3n y acompa\u00f1amiento.<\/p>\n          <\/article>\n\n          <article class=\"svcp-stat svcp-reveal\">\n            <div class=\"svcp-stat-top\">\n              <span class=\"svcp-stat-number\" data-count=\"20\" data-prefix=\"+\">0<\/span>\n              <span class=\"svcp-stat-icon\">\n                <svg viewBox=\"0 0 24 24\">\n                  <path\n                    d=\"M12 3l2.4 4.9 5.4.8-3.9 3.8.9 5.4-4.8-2.5-4.8 2.5.9-5.4-3.9-3.8 5.4-.8L12 3z\"\n                    fill=\"none\"\n                    stroke=\"currentColor\"\n                    stroke-width=\"1.8\"\n                    stroke-linejoin=\"round\"\n                  \/>\n                <\/svg>\n              <\/span>\n            <\/div>\n\n            <h3>Certificaciones<\/h3>\n            <p>Preparaci\u00f3n continua para trabajar con plataformas profesionales.<\/p>\n          <\/article>\n\n          <article class=\"svcp-stat svcp-reveal\">\n            <div class=\"svcp-stat-top\">\n              <span class=\"svcp-stat-number\" data-count=\"10\" data-prefix=\"+\">0<\/span>\n              <span class=\"svcp-stat-icon\">\n                <svg viewBox=\"0 0 24 24\">\n                  <path\n                    d=\"M4 5h16v12H8l-4 4V5zM8 9h8M8 13h5\"\n                    fill=\"none\"\n                    stroke=\"currentColor\"\n                    stroke-width=\"1.8\"\n                    stroke-linecap=\"round\"\n                    stroke-linejoin=\"round\"\n                  \/>\n                <\/svg>\n              <\/span>\n            <\/div>\n\n            <h3>Servicios especializados<\/h3>\n            <p>Un ecosistema integral para las necesidades digitales de tu empresa.<\/p>\n          <\/article>\n\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <!-- =====================================================\n         SOPORTE\n    ====================================================== -->\n    <section class=\"svcp-support\">\n      <div class=\"svcp-container\">\n\n        <div class=\"svcp-support-card svcp-reveal\">\n\n          <div class=\"svcp-support-copy\">\n            <div class=\"svcp-support-icon\">\n              <svg viewBox=\"0 0 24 24\">\n                <path\n                  d=\"M4 13a8 8 0 0116 0M4 13v5a2 2 0 002 2h2v-7H4zM20 13v5a2 2 0 01-2 2h-2v-7h4zM16 20c0 1.1-.9 2-2 2h-2\"\n                  fill=\"none\"\n                  stroke=\"currentColor\"\n                  stroke-width=\"1.8\"\n                  stroke-linecap=\"round\"\n                  stroke-linejoin=\"round\"\n                \/>\n              <\/svg>\n            <\/div>\n\n            <div>\n              <span class=\"svcp-support-kicker\">Estamos para ayudarte<\/span>\n              <h2>\u00bfNecesitas apoyo con tu portal?<\/h2>\n              <p>\n                Consulta respuestas r\u00e1pidas o comun\u00edcate con nuestro equipo\n                para recibir seguimiento.\n              <\/p>\n            <\/div>\n          <\/div>\n\n          <div class=\"svcp-support-actions\">\n            <a\n              href=\"https:\/\/studiovainilla.com\/clientes\/faqs\/\"\n              class=\"svcp-button svcp-button-light\"\n            >\n              Ver preguntas frecuentes\n            <\/a>\n\n            <a\n              href=\"https:\/\/studiovainilla.com\/contacto\/\"\n              class=\"svcp-support-link\"\n            >\n              Contactar a StudioVainilla\n              <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n                <path\n                  d=\"M5 12h14M13 6l6 6-6 6\"\n                  fill=\"none\"\n                  stroke=\"currentColor\"\n                  stroke-width=\"2\"\n                  stroke-linecap=\"round\"\n                  stroke-linejoin=\"round\"\n                \/>\n              <\/svg>\n            <\/a>\n          <\/div>\n\n        <\/div>\n      <\/div>\n    <\/section>\n\n  <\/main>\n\n  <!-- =====================================================\n       FOOTER\n  ====================================================== -->\n  <footer class=\"svcp-footer\">\n    <div class=\"svcp-container svcp-footer-inner\">\n\n      <a\n        href=\"https:\/\/studiovainilla.com\/\"\n        class=\"svcp-footer-logo\"\n        target=\"_blank\"\n        rel=\"noopener\"\n      >\n        <img decoding=\"async\"\n          src=\"https:\/\/studiovainilla.com\/clientes\/wp-content\/uploads\/2021\/03\/StudioVainilla-Portal-Clientes-Morado-Vainilla.png\"\n          alt=\"StudioVainilla\"\n          loading=\"lazy\"\n        >\n      <\/a>\n\n      <p>\n        StudioVainilla\u00ae 2012\u2013<span data-svcp-year><\/span>.\n        Todos los derechos reservados.\n      <\/p>\n\n      <div class=\"svcp-footer-links\">\n        <a href=\"https:\/\/studiovainilla.com\/aviso-de-privacidad\/\">\n          Aviso de privacidad\n        <\/a>\n\n        <a href=\"https:\/\/studiovainilla.com\/clientes\/faqs\/\">\n          Ayuda\n        <\/a>\n      <\/div>\n\n    <\/div>\n  <\/footer>\n\n<\/div>\n\n<style>\n\/* =========================================================\n   STUDIOVAINILLA \u00b7 PORTAL DE CLIENTES\n   NUEVA IDENTIDAD VISUAL 2026\n   Reemplaza completamente el bloque <style> anterior\n========================================================= *\/\n\n.svcp {\n  --svcp-primary: #4f3b97;\n  --svcp-primary-light: #7566ba;\n  --svcp-primary-soft: #cbc8ee;\n  --svcp-primary-pale: #eeecfa;\n\n  --svcp-dark: #1b1733;\n  --svcp-dark-medium: #26203f;\n  --svcp-dark-light: #332b51;\n\n  --svcp-white: #ffffff;\n  --svcp-off-white: #f8f7fb;\n\n  --svcp-text: #19162c;\n  --svcp-muted: #706b80;\n  --svcp-border: rgba(63, 51, 105, 0.13);\n\n  --svcp-glass: rgba(255, 255, 255, 0.08);\n  --svcp-glass-border: rgba(255, 255, 255, 0.18);\n\n  --svcp-shadow:\n    0 30px 80px rgba(22, 17, 50, 0.22);\n\n  --svcp-font:\n    \"Poppins\",\n    \"Avenir Next\",\n    \"Helvetica Neue\",\n    Arial,\n    sans-serif;\n\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n  background:\n    radial-gradient(\n      circle at 85% 12%,\n      rgba(117, 102, 186, 0.24),\n      transparent 34%\n    ),\n    radial-gradient(\n      circle at 8% 38%,\n      rgba(98, 82, 162, 0.17),\n      transparent 30%\n    ),\n    linear-gradient(\n      145deg,\n      #171329 0%,\n      #211a3b 48%,\n      #2a2149 100%\n    );\n  color: var(--svcp-white);\n  font-family: var(--svcp-font);\n  isolation: isolate;\n}\n\n.svcp *,\n.svcp *::before,\n.svcp *::after {\n  box-sizing: border-box;\n}\n\n.svcp img {\n  display: block;\n  max-width: 100%;\n}\n\n.svcp a {\n  color: inherit;\n  text-decoration: none;\n}\n\n.svcp-container {\n  position: relative;\n  z-index: 3;\n  width: min(1240px, calc(100% - 48px));\n  margin: 0 auto;\n}\n\n\/* =========================================================\n   DECORACI\u00d3N DE FONDO\n========================================================= *\/\n\n.svcp-background {\n  position: absolute;\n  inset: 0;\n  z-index: 0;\n  overflow: hidden;\n  pointer-events: none;\n}\n\n.svcp-background::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  opacity: 0.25;\n  background-image:\n    linear-gradient(\n      rgba(255, 255, 255, 0.035) 1px,\n      transparent 1px\n    ),\n    linear-gradient(\n      90deg,\n      rgba(255, 255, 255, 0.035) 1px,\n      transparent 1px\n    );\n  background-size: 66px 66px;\n  mask-image:\n    linear-gradient(\n      to bottom,\n      rgba(0, 0, 0, 0.85),\n      transparent 88%\n    );\n}\n\n.svcp-orb {\n  position: absolute;\n  display: block;\n  border-radius: 50%;\n  pointer-events: none;\n}\n\n.svcp-orb-one {\n  top: -210px;\n  left: -170px;\n  width: 540px;\n  height: 540px;\n  border: 1px solid rgba(255, 255, 255, 0.07);\n  background:\n    radial-gradient(\n      circle at 60% 60%,\n      rgba(255, 255, 255, 0.07),\n      transparent 66%\n    );\n}\n\n.svcp-orb-two {\n  top: 10px;\n  right: -240px;\n  width: 660px;\n  height: 660px;\n  background:\n    radial-gradient(\n      circle,\n      rgba(123, 108, 194, 0.2),\n      rgba(123, 108, 194, 0.03) 52%,\n      transparent 70%\n    );\n}\n\n.svcp-orb-three {\n  top: 700px;\n  left: 32%;\n  width: 760px;\n  height: 760px;\n  border: 1px solid rgba(255, 255, 255, 0.045);\n  background:\n    radial-gradient(\n      circle,\n      rgba(255, 255, 255, 0.025),\n      transparent 68%\n    );\n}\n\n.svcp-grid {\n  position: absolute;\n  width: 190px;\n  height: 190px;\n  opacity: 0.18;\n  background-image:\n    radial-gradient(\n      rgba(255, 255, 255, 0.6) 1.2px,\n      transparent 1.2px\n    );\n  background-size: 18px 18px;\n}\n\n.svcp-grid-one {\n  top: 470px;\n  left: 12px;\n}\n\n.svcp-grid-two {\n  top: 690px;\n  right: 18px;\n}\n\n\/* =========================================================\n   HERO\n========================================================= *\/\n\n.svcp-main {\n  position: relative;\n  z-index: 2;\n}\n\n.svcp-hero {\n  position: relative;\n  min-height: 780px;\n  display: flex;\n  align-items: center;\n  padding: 110px 0 145px;\n}\n\n.svcp-hero-grid {\n  display: grid;\n  grid-template-columns:\n    minmax(0, 0.96fr)\n    minmax(520px, 1.04fr);\n  align-items: center;\n  gap: 70px;\n}\n\n.svcp-hero-content {\n  position: relative;\n  z-index: 3;\n}\n\n.svcp-brand {\n  display: inline-flex;\n  align-items: center;\n  width: 230px;\n  margin-bottom: 34px;\n  transition:\n    opacity 0.25s ease,\n    transform 0.25s ease;\n}\n\n.svcp-brand:hover {\n  opacity: 0.9;\n  transform: translateY(-2px);\n}\n\n.svcp-brand img {\n  width: 100%;\n  height: auto;\n}\n\n.svcp-eyebrow {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  margin-bottom: 24px;\n  padding: 10px 16px;\n  border: 1px solid var(--svcp-glass-border);\n  border-radius: 999px;\n  background: rgba(255, 255, 255, 0.075);\n  box-shadow:\n    inset 0 1px 0 rgba(255, 255, 255, 0.08);\n  backdrop-filter: blur(16px);\n  -webkit-backdrop-filter: blur(16px);\n  color: rgba(255, 255, 255, 0.83);\n  font-size: 11px;\n  font-weight: 700;\n  letter-spacing: 0.08em;\n  text-transform: uppercase;\n}\n\n.svcp-status-dot {\n  position: relative;\n  width: 8px;\n  height: 8px;\n  border-radius: 50%;\n  background: #b7dfff;\n  box-shadow:\n    0 0 0 5px rgba(183, 223, 255, 0.1);\n}\n\n.svcp-status-dot::after {\n  content: \"\";\n  position: absolute;\n  inset: -5px;\n  border: 1px solid rgba(183, 223, 255, 0.5);\n  border-radius: 50%;\n  animation: svcpPulse 2s infinite;\n}\n\n.svcp-welcome {\n  margin-bottom: 19px;\n  color: rgba(255, 255, 255, 0.7);\n  font-size: clamp(14px, 1.4vw, 17px);\n  font-weight: 550;\n  letter-spacing: 0.055em;\n}\n\n.svcp-client-name {\n  color: var(--svcp-white);\n  font-weight: 750;\n  text-transform: uppercase;\n}\n\n.svcp-wave {\n  display: inline-block;\n  margin-left: 4px;\n  transform-origin: 70% 70%;\n  animation: svcpWave 2.7s ease-in-out infinite;\n}\n\n.svcp-title {\n  max-width: 700px;\n  margin: 0 0 25px;\n  color: var(--svcp-white);\n  font-size: clamp(52px, 5vw, 78px);\n  font-weight: 400;\n  line-height: 0.98;\n  letter-spacing: -0.055em;\n}\n\n.svcp-title span {\n  display: block;\n  margin-top: 9px;\n  color: var(--svcp-primary-soft);\n  font-weight: 650;\n}\n\n.svcp-description {\n  max-width: 590px;\n  margin: 0 0 34px;\n  color: rgba(255, 255, 255, 0.67);\n  font-size: 17px;\n  font-weight: 400;\n  line-height: 1.72;\n}\n\n.svcp-actions {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  gap: 14px;\n}\n\n.svcp-button {\n  min-height: 56px;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  gap: 13px;\n  padding: 15px 24px;\n  border-radius: 999px;\n  font-size: 14px;\n  font-weight: 700;\n  line-height: 1;\n  transition:\n    transform 0.25s ease,\n    box-shadow 0.25s ease,\n    background-color 0.25s ease,\n    border-color 0.25s ease,\n    color 0.25s ease;\n}\n\n.svcp-button svg,\n.svcp-support-link svg {\n  width: 19px;\n  height: 19px;\n  flex: 0 0 auto;\n  transition: transform 0.25s ease;\n}\n\n.svcp-button:hover,\n.svcp-button:focus-visible {\n  transform: translateY(-3px);\n}\n\n.svcp-button:hover svg,\n.svcp-support-link:hover svg {\n  transform: translateX(4px);\n}\n\n.svcp-button-primary {\n  background: var(--svcp-white);\n  color: var(--svcp-primary);\n  box-shadow:\n    0 16px 38px rgba(8, 5, 26, 0.32);\n}\n\n.svcp-button-primary:hover {\n  color: var(--svcp-dark);\n  box-shadow:\n    0 22px 48px rgba(8, 5, 26, 0.4);\n}\n\n.svcp-button-secondary {\n  border: 1px solid rgba(255, 255, 255, 0.2);\n  background: rgba(255, 255, 255, 0.07);\n  color: var(--svcp-white);\n  backdrop-filter: blur(12px);\n  -webkit-backdrop-filter: blur(12px);\n}\n\n.svcp-button-secondary:hover {\n  border-color: rgba(255, 255, 255, 0.38);\n  background: rgba(255, 255, 255, 0.12);\n}\n\n.svcp-trust-row {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 24px;\n  margin-top: 32px;\n}\n\n.svcp-trust-item {\n  display: inline-flex;\n  align-items: center;\n  gap: 9px;\n  color: rgba(255, 255, 255, 0.52);\n  font-size: 12px;\n  font-weight: 550;\n}\n\n.svcp-trust-item svg {\n  width: 18px;\n  height: 18px;\n  color: rgba(255, 255, 255, 0.7);\n}\n\n\/* =========================================================\n   DASHBOARD VISUAL\n========================================================= *\/\n\n.svcp-visual {\n  position: relative;\n  min-height: 575px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.svcp-visual::before {\n  content: \"\";\n  position: absolute;\n  width: 600px;\n  height: 600px;\n  border-radius: 50%;\n  background:\n    radial-gradient(\n      circle,\n      rgba(128, 112, 198, 0.24),\n      rgba(128, 112, 198, 0.04) 54%,\n      transparent 72%\n    );\n}\n\n.svcp-dashboard {\n  position: relative;\n  z-index: 2;\n  width: min(630px, 100%);\n  overflow: hidden;\n  border: 1px solid rgba(255, 255, 255, 0.19);\n  border-radius: 24px;\n  background: rgba(248, 247, 252, 0.98);\n  box-shadow:\n    0 48px 100px rgba(6, 4, 20, 0.46),\n    0 0 0 1px rgba(255, 255, 255, 0.04),\n    inset 0 1px 0 rgba(255, 255, 255, 0.9);\n  transform:\n    perspective(1400px)\n    rotateY(-5deg)\n    rotateX(1deg);\n  transform-origin: center;\n  transition: transform 0.5s ease;\n}\n\n.svcp-visual:hover .svcp-dashboard {\n  transform:\n    perspective(1400px)\n    rotateY(-1deg)\n    rotateX(0);\n}\n\n.svcp-dashboard-top {\n  height: 50px;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 0 19px;\n  border-bottom: 1px solid rgba(37, 29, 71, 0.09);\n  background: #ffffff;\n}\n\n.svcp-dashboard-controls {\n  display: flex;\n  gap: 7px;\n}\n\n.svcp-dashboard-controls span {\n  width: 9px;\n  height: 9px;\n  border-radius: 50%;\n  background: #dcd9e7;\n}\n\n.svcp-dashboard-controls span:first-child {\n  background: #d9a7ba;\n}\n\n.svcp-dashboard-controls span:nth-child(2) {\n  background: #dbc898;\n}\n\n.svcp-dashboard-controls span:nth-child(3) {\n  background: #a8c9bd;\n}\n\n.svcp-dashboard-label {\n  color: #8f899e;\n  font-size: 10px;\n  font-weight: 700;\n  letter-spacing: 0.07em;\n}\n\n.svcp-dashboard-body {\n  min-height: 445px;\n  display: grid;\n  grid-template-columns: 66px 1fr;\n}\n\n.svcp-sidebar {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 21px;\n  padding: 20px 12px;\n  background:\n    linear-gradient(\n      180deg,\n      #201a3b 0%,\n      #17132b 100%\n    );\n}\n\n.svcp-sidebar-logo {\n  width: 34px;\n  height: 34px;\n  display: grid;\n  place-items: center;\n  margin-bottom: 11px;\n  border: 1px solid rgba(255, 255, 255, 0.13);\n  border-radius: 10px;\n  background: rgba(255, 255, 255, 0.09);\n  color: #ffffff;\n  font-size: 10px;\n  font-weight: 800;\n}\n\n.svcp-sidebar > span {\n  position: relative;\n  width: 26px;\n  height: 26px;\n  border-radius: 8px;\n}\n\n.svcp-sidebar > span::before,\n.svcp-sidebar > span::after {\n  content: \"\";\n  position: absolute;\n  background: rgba(255, 255, 255, 0.24);\n}\n\n.svcp-sidebar > span::before {\n  top: 7px;\n  left: 7px;\n  width: 12px;\n  height: 3px;\n  border-radius: 10px;\n}\n\n.svcp-sidebar > span::after {\n  top: 13px;\n  left: 7px;\n  width: 8px;\n  height: 3px;\n  border-radius: 10px;\n}\n\n.svcp-sidebar > span.is-active {\n  border: 1px solid rgba(255, 255, 255, 0.12);\n  background: rgba(255, 255, 255, 0.1);\n}\n\n.svcp-sidebar > span.is-active::before,\n.svcp-sidebar > span.is-active::after {\n  background: #ffffff;\n}\n\n.svcp-dashboard-content {\n  padding: 25px 27px 27px;\n  color: var(--svcp-text);\n}\n\n.svcp-dashboard-heading {\n  display: flex;\n  align-items: flex-start;\n  justify-content: space-between;\n  gap: 20px;\n  margin-bottom: 21px;\n}\n\n.svcp-dashboard-heading small {\n  display: block;\n  margin-bottom: 5px;\n  color: #9792a4;\n  font-size: 9px;\n  font-weight: 650;\n  letter-spacing: 0.07em;\n  text-transform: uppercase;\n}\n\n.svcp-dashboard-heading strong {\n  display: block;\n  color: #211c34;\n  font-size: 20px;\n  font-weight: 750;\n  letter-spacing: -0.035em;\n}\n\n.svcp-live-pill {\n  display: inline-flex;\n  align-items: center;\n  gap: 7px;\n  padding: 7px 10px;\n  border-radius: 999px;\n  background: #ebe9f7;\n  color: #554692;\n  font-size: 9px;\n  font-weight: 750;\n}\n\n.svcp-live-pill i {\n  width: 6px;\n  height: 6px;\n  border-radius: 50%;\n  background: #7e6bbd;\n}\n\n.svcp-metric-grid {\n  display: grid;\n  grid-template-columns: 1.35fr 0.85fr;\n  gap: 13px;\n  margin-bottom: 13px;\n}\n\n.svcp-metric-card {\n  min-height: 106px;\n  padding: 16px;\n  border: 1px solid #e9e6ef;\n  border-radius: 15px;\n  background: #ffffff;\n}\n\n.svcp-metric-card > span,\n.svcp-metric-card > small {\n  display: block;\n  color: #9994a5;\n  font-size: 9px;\n  font-weight: 650;\n}\n\n.svcp-metric-card > strong {\n  display: block;\n  margin: 7px 0 11px;\n  color: var(--svcp-primary);\n  font-size: 28px;\n  font-weight: 800;\n  letter-spacing: -0.045em;\n}\n\n.svcp-progress {\n  width: 100%;\n  height: 6px;\n  overflow: hidden;\n  border-radius: 50px;\n  background: #ece9f1;\n}\n\n.svcp-progress i {\n  display: block;\n  height: 100%;\n  border-radius: inherit;\n  background:\n    linear-gradient(\n      90deg,\n      #3c2f71,\n      #7566ba\n    );\n}\n\n.svcp-metric-card-accent {\n  border-color: transparent;\n  background:\n    linear-gradient(\n      145deg,\n      #221b3f 0%,\n      #443873 100%\n    );\n  color: #ffffff;\n}\n\n.svcp-metric-card-accent > span,\n.svcp-metric-card-accent > small {\n  color: rgba(255, 255, 255, 0.63);\n}\n\n.svcp-metric-card-accent > strong {\n  color: #ffffff;\n}\n\n.svcp-chart-card {\n  padding: 17px;\n  border: 1px solid #e9e6ef;\n  border-radius: 15px;\n  background: #ffffff;\n}\n\n.svcp-chart-header {\n  display: flex;\n  align-items: flex-start;\n  justify-content: space-between;\n}\n\n.svcp-chart-header span {\n  display: block;\n  margin-bottom: 4px;\n  color: #a6a1ae;\n  font-size: 9px;\n}\n\n.svcp-chart-header strong {\n  display: block;\n  color: #373143;\n  font-size: 12px;\n  font-weight: 720;\n}\n\n.svcp-chart-badge {\n  padding: 6px 8px;\n  border-radius: 7px;\n  background: #ebe9f7;\n  color: #554692;\n  font-size: 9px;\n  font-weight: 750;\n}\n\n.svcp-chart {\n  height: 90px;\n  display: flex;\n  align-items: flex-end;\n  gap: 9px;\n  padding-top: 18px;\n}\n\n.svcp-chart span {\n  flex: 1;\n  min-width: 8px;\n  border-radius: 5px 5px 2px 2px;\n  background:\n    linear-gradient(\n      180deg,\n      #8173bf 0%,\n      #40346f 100%\n    );\n  opacity: 0.88;\n  animation: svcpBar 1.2s ease both;\n  transform-origin: bottom;\n}\n\n.svcp-chart span:nth-child(2) {\n  animation-delay: 0.08s;\n}\n\n.svcp-chart span:nth-child(3) {\n  animation-delay: 0.16s;\n}\n\n.svcp-chart span:nth-child(4) {\n  animation-delay: 0.24s;\n}\n\n.svcp-chart span:nth-child(5) {\n  animation-delay: 0.32s;\n}\n\n.svcp-chart span:nth-child(6) {\n  animation-delay: 0.4s;\n}\n\n.svcp-chart span:nth-child(7) {\n  animation-delay: 0.48s;\n}\n\n.svcp-chart span:nth-child(8) {\n  animation-delay: 0.56s;\n}\n\n.svcp-task-list {\n  display: grid;\n  gap: 9px;\n  margin-top: 13px;\n}\n\n.svcp-task {\n  display: grid;\n  grid-template-columns: 29px 1fr auto;\n  align-items: center;\n  gap: 10px;\n  padding: 11px 13px;\n  border: 1px solid #ece9f1;\n  border-radius: 12px;\n  background: rgba(255, 255, 255, 0.92);\n}\n\n.svcp-task-check {\n  width: 27px;\n  height: 27px;\n  display: grid;\n  place-items: center;\n  border-radius: 8px;\n  background: #ece9f7;\n  color: var(--svcp-primary);\n}\n\n.svcp-task-check svg {\n  width: 15px;\n  height: 15px;\n}\n\n.svcp-task strong,\n.svcp-task small {\n  display: block;\n}\n\n.svcp-task strong {\n  margin-bottom: 2px;\n  color: #373143;\n  font-size: 10px;\n  font-weight: 750;\n}\n\n.svcp-task small {\n  color: #a49fac;\n  font-size: 8px;\n}\n\n.svcp-task-status {\n  padding: 5px 8px;\n  border-radius: 6px;\n  background: #ece9f7;\n  color: var(--svcp-primary);\n  font-size: 8px;\n  font-weight: 750;\n}\n\n.svcp-floating-card {\n  position: absolute;\n  z-index: 4;\n  display: flex;\n  align-items: center;\n  gap: 11px;\n  padding: 12px 15px;\n  border: 1px solid rgba(255, 255, 255, 0.55);\n  border-radius: 15px;\n  background: rgba(255, 255, 255, 0.95);\n  box-shadow:\n    0 22px 52px rgba(7, 4, 25, 0.27);\n  color: var(--svcp-text);\n  backdrop-filter: blur(14px);\n  -webkit-backdrop-filter: blur(14px);\n  animation: svcpFloat 5s ease-in-out infinite;\n}\n\n.svcp-floating-card small,\n.svcp-floating-card strong {\n  display: block;\n}\n\n.svcp-floating-card small {\n  margin-bottom: 2px;\n  color: #9893a3;\n  font-size: 9px;\n}\n\n.svcp-floating-card strong {\n  color: #2f293d;\n  font-size: 11px;\n  font-weight: 750;\n}\n\n.svcp-floating-card-one {\n  top: 72px;\n  right: -14px;\n}\n\n.svcp-floating-card-two {\n  bottom: 61px;\n  left: -34px;\n  animation-delay: -2.5s;\n}\n\n.svcp-floating-icon,\n.svcp-floating-avatar {\n  width: 36px;\n  height: 36px;\n  display: grid;\n  place-items: center;\n  flex: 0 0 auto;\n  border-radius: 10px;\n}\n\n.svcp-floating-icon {\n  background: #ebe9f6;\n  color: var(--svcp-primary);\n}\n\n.svcp-floating-icon svg {\n  width: 20px;\n  height: 20px;\n}\n\n.svcp-floating-avatar {\n  background:\n    linear-gradient(\n      145deg,\n      #4a3b83,\n      #241d44\n    );\n  color: #ffffff;\n  font-size: 10px;\n  font-weight: 800;\n}\n\n.svcp-online {\n  width: 8px;\n  height: 8px;\n  margin-left: 3px;\n  border-radius: 50%;\n  background: #88b3dd;\n  box-shadow:\n    0 0 0 4px rgba(136, 179, 221, 0.15);\n}\n\n\/* =========================================================\n   CARRUSEL DE PLATAFORMAS\n========================================================= *\/\n\n.svcp-platforms {\n  position: relative;\n  z-index: 5;\n  margin-top: -56px;\n}\n\n.svcp-platform-panel {\n  overflow: hidden;\n  border: 1px solid rgba(52, 42, 89, 0.1);\n  border-radius: 22px;\n  background: rgba(255, 255, 255, 0.98);\n  box-shadow:\n    0 30px 80px rgba(17, 12, 39, 0.25);\n}\n\n.svcp-platform-heading {\n  padding: 20px 20px 5px;\n  text-align: center;\n}\n\n.svcp-platform-heading span {\n  color: #898393;\n  font-size: 10px;\n  font-weight: 750;\n  letter-spacing: 0.13em;\n  text-transform: uppercase;\n}\n\n.svcp-marquee {\n  position: relative;\n  overflow: hidden;\n  padding: 13px 0 25px;\n}\n\n.svcp-marquee::before,\n.svcp-marquee::after {\n  content: \"\";\n  position: absolute;\n  z-index: 3;\n  top: 0;\n  bottom: 0;\n  width: 100px;\n  pointer-events: none;\n}\n\n.svcp-marquee::before {\n  left: 0;\n  background:\n    linear-gradient(\n      90deg,\n      #ffffff,\n      transparent\n    );\n}\n\n.svcp-marquee::after {\n  right: 0;\n  background:\n    linear-gradient(\n      -90deg,\n      #ffffff,\n      transparent\n    );\n}\n\n.svcp-marquee-track {\n  width: max-content;\n  display: flex;\n  align-items: center;\n  gap: 38px;\n  padding-left: 38px;\n  animation: svcpMarquee 28s linear infinite;\n  will-change: transform;\n}\n\n.svcp-marquee:hover .svcp-marquee-track {\n  animation-play-state: paused;\n}\n\n.svcp-logo-item {\n  width: 150px;\n  height: 58px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex: 0 0 auto;\n  padding: 8px 18px;\n  border-right: 1px solid rgba(52, 42, 89, 0.08);\n}\n\n.svcp-logo-item-wide {\n  width: 180px;\n}\n\n.svcp-logo-item img {\n  max-width: 100%;\n  max-height: 38px;\n  object-fit: contain;\n  filter: saturate(0.88);\n  opacity: 0.84;\n  transition:\n    transform 0.25s ease,\n    filter 0.25s ease,\n    opacity 0.25s ease;\n}\n\n.svcp-logo-item:hover img {\n  transform: scale(1.05);\n  filter: saturate(1);\n  opacity: 1;\n}\n\n\/* =========================================================\n   EXPERIENCIA Y ESTAD\u00cdSTICAS\n========================================================= *\/\n\n.svcp-impact {\n  margin-top: -82px;\n  padding: 190px 0 105px;\n  background:\n    radial-gradient(\n      circle at 85% 18%,\n      rgba(82, 67, 139, 0.07),\n      transparent 34%\n    ),\n    linear-gradient(\n      180deg,\n      #f7f6fa 0%,\n      #ffffff 100%\n    );\n  color: var(--svcp-text);\n}\n\n.svcp-section-heading {\n  max-width: 800px;\n  margin: 0 auto 55px;\n  text-align: center;\n}\n\n.svcp-section-kicker {\n  margin-bottom: 15px;\n  color: var(--svcp-primary);\n  font-size: 11px;\n  font-weight: 800;\n  letter-spacing: 0.14em;\n  text-transform: uppercase;\n}\n\n.svcp-section-heading h2 {\n  margin: 0;\n  color: var(--svcp-dark);\n  font-size: clamp(35px, 4vw, 53px);\n  font-weight: 450;\n  line-height: 1.08;\n  letter-spacing: -0.045em;\n}\n\n.svcp-section-heading h2 span {\n  display: block;\n  color: #716b82;\n  font-weight: 650;\n}\n\n.svcp-section-heading p {\n  max-width: 680px;\n  margin: 21px auto 0;\n  color: var(--svcp-muted);\n  font-size: 16px;\n  line-height: 1.72;\n}\n\n.svcp-stats {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  overflow: hidden;\n  border: 1px solid var(--svcp-border);\n  border-radius: 21px;\n  background: #ffffff;\n  box-shadow:\n    0 22px 70px rgba(31, 24, 63, 0.08);\n}\n\n.svcp-stat {\n  position: relative;\n  min-height: 280px;\n  padding: 34px 29px;\n  transition:\n    background-color 0.25s ease,\n    transform 0.25s ease;\n}\n\n.svcp-stat:hover {\n  background: #faf9fd;\n}\n\n.svcp-stat:not(:last-child) {\n  border-right: 1px solid var(--svcp-border);\n}\n\n.svcp-stat-top {\n  display: flex;\n  align-items: flex-start;\n  justify-content: space-between;\n  gap: 15px;\n}\n\n.svcp-stat-number {\n  color: var(--svcp-primary);\n  font-size: clamp(42px, 4vw, 59px);\n  font-weight: 650;\n  line-height: 1;\n  letter-spacing: -0.06em;\n}\n\n.svcp-stat-icon {\n  width: 43px;\n  height: 43px;\n  display: grid;\n  place-items: center;\n  flex: 0 0 auto;\n  border-radius: 12px;\n  background: var(--svcp-primary-pale);\n  color: var(--svcp-primary);\n}\n\n.svcp-stat-icon svg {\n  width: 23px;\n  height: 23px;\n}\n\n.svcp-stat h3 {\n  margin: 36px 0 10px;\n  color: #282338;\n  font-size: 16px;\n  font-weight: 760;\n}\n\n.svcp-stat p {\n  margin: 0;\n  color: var(--svcp-muted);\n  font-size: 13px;\n  line-height: 1.65;\n}\n\n\/* =========================================================\n   SOPORTE\n========================================================= *\/\n\n.svcp-support {\n  padding: 0 0 90px;\n  background: #ffffff;\n  color: var(--svcp-text);\n}\n\n.svcp-support-card {\n  position: relative;\n  overflow: hidden;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 45px;\n  padding: 45px 48px;\n  border: 1px solid rgba(255, 255, 255, 0.1);\n  border-radius: 24px;\n  background:\n    radial-gradient(\n      circle at 89% 5%,\n      rgba(118, 102, 184, 0.42),\n      transparent 37%\n    ),\n    linear-gradient(\n      135deg,\n      #1c1732 0%,\n      #292143 52%,\n      #3b305f 100%\n    );\n  box-shadow:\n    0 30px 70px rgba(24, 17, 54, 0.23);\n  color: #ffffff;\n}\n\n.svcp-support-card::before {\n  content: \"\";\n  position: absolute;\n  right: -70px;\n  bottom: -130px;\n  width: 330px;\n  height: 330px;\n  border: 1px solid rgba(255, 255, 255, 0.1);\n  border-radius: 50%;\n}\n\n.svcp-support-copy {\n  position: relative;\n  z-index: 2;\n  display: flex;\n  align-items: flex-start;\n  gap: 21px;\n}\n\n.svcp-support-icon {\n  width: 55px;\n  height: 55px;\n  display: grid;\n  place-items: center;\n  flex: 0 0 auto;\n  border: 1px solid rgba(255, 255, 255, 0.16);\n  border-radius: 16px;\n  background: rgba(255, 255, 255, 0.075);\n}\n\n.svcp-support-icon svg {\n  width: 29px;\n  height: 29px;\n}\n\n.svcp-support-kicker {\n  display: block;\n  margin-bottom: 9px;\n  color: rgba(255, 255, 255, 0.58);\n  font-size: 10px;\n  font-weight: 800;\n  letter-spacing: 0.13em;\n  text-transform: uppercase;\n}\n\n.svcp-support-copy h2 {\n  margin: 0 0 8px;\n  color: #ffffff;\n  font-size: clamp(25px, 2.7vw, 34px);\n  font-weight: 620;\n  letter-spacing: -0.035em;\n}\n\n.svcp-support-copy p {\n  max-width: 590px;\n  margin: 0;\n  color: rgba(255, 255, 255, 0.65);\n  font-size: 14px;\n  line-height: 1.65;\n}\n\n.svcp-support-actions {\n  position: relative;\n  z-index: 2;\n  min-width: 260px;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  gap: 15px;\n}\n\n.svcp-button-light {\n  width: 100%;\n  background: #ffffff;\n  color: var(--svcp-primary);\n  box-shadow:\n    0 15px 35px rgba(8, 5, 25, 0.28);\n}\n\n.svcp-button-light:hover {\n  color: var(--svcp-dark);\n}\n\n.svcp-support-link {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  color: rgba(255, 255, 255, 0.68);\n  font-size: 12px;\n  font-weight: 650;\n}\n\n.svcp-support-link:hover {\n  color: #ffffff;\n}\n\n.svcp-support-link svg {\n  width: 16px;\n  height: 16px;\n}\n\n\/* =========================================================\n   FOOTER\n========================================================= *\/\n\n.svcp-footer {\n  position: relative;\n  z-index: 3;\n  padding: 28px 0;\n  border-top: 1px solid rgba(53, 43, 88, 0.09);\n  background: #f6f5f9;\n  color: var(--svcp-muted);\n}\n\n.svcp-footer-inner {\n  display: grid;\n  grid-template-columns: 190px 1fr auto;\n  align-items: center;\n  gap: 30px;\n}\n\n.svcp-footer-logo {\n  width: 165px;\n}\n\n.svcp-footer-logo img {\n  width: 100%;\n  height: auto;\n}\n\n.svcp-footer p {\n  margin: 0;\n  text-align: center;\n  color: #716b80;\n  font-size: 11px;\n  line-height: 1.6;\n}\n\n.svcp-footer-links {\n  display: flex;\n  align-items: center;\n  gap: 17px;\n}\n\n.svcp-footer-links a {\n  color: #5b546d;\n  font-size: 11px;\n  font-weight: 650;\n  transition: color 0.2s ease;\n}\n\n.svcp-footer-links a:hover {\n  color: var(--svcp-primary);\n}\n\n\/* =========================================================\n   ANIMACIONES\n========================================================= *\/\n\n.svcp-reveal {\n  opacity: 0;\n  transform: translateY(28px);\n  transition:\n    opacity 0.75s ease,\n    transform 0.75s cubic-bezier(0.2, 0.65, 0.3, 1);\n}\n\n.svcp-reveal.is-visible {\n  opacity: 1;\n  transform: translateY(0);\n}\n\n@keyframes svcpPulse {\n  0% {\n    transform: scale(0.72);\n    opacity: 0.9;\n  }\n\n  70%,\n  100% {\n    transform: scale(1.55);\n    opacity: 0;\n  }\n}\n\n@keyframes svcpWave {\n  0%,\n  55%,\n  100% {\n    transform: rotate(0deg);\n  }\n\n  60% {\n    transform: rotate(16deg);\n  }\n\n  65% {\n    transform: rotate(-8deg);\n  }\n\n  70% {\n    transform: rotate(14deg);\n  }\n\n  75% {\n    transform: rotate(-4deg);\n  }\n\n  80% {\n    transform: rotate(8deg);\n  }\n}\n\n@keyframes svcpFloat {\n  0%,\n  100% {\n    transform: translateY(0);\n  }\n\n  50% {\n    transform: translateY(-9px);\n  }\n}\n\n@keyframes svcpBar {\n  from {\n    transform: scaleY(0);\n  }\n\n  to {\n    transform: scaleY(1);\n  }\n}\n\n@keyframes svcpMarquee {\n  from {\n    transform: translateX(0);\n  }\n\n  to {\n    transform: translateX(-50%);\n  }\n}\n\n\/* =========================================================\n   TABLET\n========================================================= *\/\n\n@media (max-width: 1100px) {\n  .svcp-hero {\n    padding-top: 90px;\n  }\n\n  .svcp-hero-grid {\n    grid-template-columns: 1fr 1fr;\n    gap: 35px;\n  }\n\n  .svcp-title {\n    font-size: clamp(45px, 5.5vw, 66px);\n  }\n\n  .svcp-dashboard,\n  .svcp-visual:hover .svcp-dashboard {\n    transform: none;\n  }\n\n  .svcp-floating-card-one {\n    right: -5px;\n  }\n\n  .svcp-floating-card-two {\n    left: -8px;\n  }\n\n  .svcp-stats {\n    grid-template-columns: repeat(2, 1fr);\n  }\n\n  .svcp-stat:nth-child(2) {\n    border-right: 0;\n  }\n\n  .svcp-stat:nth-child(-n + 2) {\n    border-bottom: 1px solid var(--svcp-border);\n  }\n\n  .svcp-support-card {\n    padding: 40px;\n  }\n}\n\n\/* =========================================================\n   TABLET VERTICAL\n========================================================= *\/\n\n@media (max-width: 820px) {\n  .svcp-container {\n    width: min(100% - 34px, 680px);\n  }\n\n  .svcp-hero {\n    min-height: auto;\n    padding: 75px 0 130px;\n  }\n\n  .svcp-hero-grid {\n    grid-template-columns: 1fr;\n    gap: 60px;\n  }\n\n  .svcp-hero-content {\n    text-align: center;\n  }\n\n  .svcp-brand {\n    margin-right: auto;\n    margin-left: auto;\n  }\n\n  .svcp-title,\n  .svcp-description {\n    margin-right: auto;\n    margin-left: auto;\n  }\n\n  .svcp-title {\n    font-size: clamp(46px, 10vw, 67px);\n  }\n\n  .svcp-actions,\n  .svcp-trust-row {\n    justify-content: center;\n  }\n\n  .svcp-visual {\n    min-height: 510px;\n  }\n\n  .svcp-platforms {\n    margin-top: -45px;\n  }\n\n  .svcp-impact {\n    padding-top: 165px;\n  }\n\n  .svcp-support-card {\n    flex-direction: column;\n    align-items: stretch;\n  }\n\n  .svcp-support-actions {\n    min-width: 0;\n    align-items: flex-start;\n  }\n\n  .svcp-button-light {\n    width: auto;\n  }\n\n  .svcp-footer-inner {\n    grid-template-columns: 1fr;\n    justify-items: center;\n    gap: 17px;\n  }\n\n  .svcp-footer-links {\n    justify-content: center;\n  }\n}\n\n\/* =========================================================\n   TEL\u00c9FONOS\n========================================================= *\/\n\n@media (max-width: 560px) {\n  .svcp-container {\n    width: min(100% - 26px, 480px);\n  }\n\n  .svcp-hero {\n    padding-top: 54px;\n  }\n\n  .svcp-brand {\n    width: 205px;\n    margin-bottom: 27px;\n  }\n\n  .svcp-eyebrow {\n    font-size: 9px;\n  }\n\n  .svcp-title {\n    font-size: clamp(42px, 13vw, 58px);\n    line-height: 1.02;\n  }\n\n  .svcp-description {\n    font-size: 15px;\n    line-height: 1.65;\n  }\n\n  .svcp-actions {\n    flex-direction: column;\n    align-items: stretch;\n  }\n\n  .svcp-button {\n    width: 100%;\n  }\n\n  .svcp-trust-row {\n    flex-direction: column;\n    align-items: center;\n    gap: 11px;\n  }\n\n  .svcp-visual {\n    min-height: 400px;\n    margin-top: -10px;\n  }\n\n  .svcp-dashboard {\n    border-radius: 18px;\n  }\n\n  .svcp-dashboard-top {\n    height: 39px;\n  }\n\n  .svcp-dashboard-body {\n    min-height: 340px;\n    grid-template-columns: 45px 1fr;\n  }\n\n  .svcp-sidebar {\n    gap: 15px;\n    padding: 13px 7px;\n  }\n\n  .svcp-sidebar-logo {\n    width: 29px;\n    height: 29px;\n  }\n\n  .svcp-sidebar > span {\n    width: 24px;\n    height: 24px;\n  }\n\n  .svcp-dashboard-content {\n    padding: 16px 14px;\n  }\n\n  .svcp-dashboard-heading strong {\n    font-size: 15px;\n  }\n\n  .svcp-live-pill {\n    display: none;\n  }\n\n  .svcp-metric-grid {\n    grid-template-columns: 1fr 0.75fr;\n    gap: 8px;\n  }\n\n  .svcp-metric-card {\n    min-height: 85px;\n    padding: 11px;\n  }\n\n  .svcp-metric-card > strong {\n    margin: 5px 0 8px;\n    font-size: 22px;\n  }\n\n  .svcp-chart-card {\n    padding: 12px;\n  }\n\n  .svcp-chart {\n    height: 70px;\n    gap: 5px;\n  }\n\n  .svcp-task {\n    grid-template-columns: 25px 1fr;\n    padding: 8px;\n  }\n\n  .svcp-task-status {\n    display: none;\n  }\n\n  .svcp-task small {\n    display: none;\n  }\n\n  .svcp-floating-card {\n    display: none;\n  }\n\n  .svcp-platform-heading {\n    padding-top: 17px;\n  }\n\n  .svcp-marquee::before,\n  .svcp-marquee::after {\n    width: 45px;\n  }\n\n  .svcp-logo-item {\n    width: 125px;\n    padding: 8px 13px;\n  }\n\n  .svcp-logo-item-wide {\n    width: 155px;\n  }\n\n  .svcp-impact {\n    padding-bottom: 72px;\n  }\n\n  .svcp-section-heading {\n    margin-bottom: 36px;\n  }\n\n  .svcp-section-heading h2 {\n    font-size: 34px;\n  }\n\n  .svcp-section-heading p {\n    font-size: 15px;\n  }\n\n  .svcp-stats {\n    grid-template-columns: 1fr;\n  }\n\n  .svcp-stat {\n    min-height: auto;\n    padding: 27px 24px;\n  }\n\n  .svcp-stat:not(:last-child) {\n    border-right: 0;\n    border-bottom: 1px solid var(--svcp-border);\n  }\n\n  .svcp-stat h3 {\n    margin-top: 24px;\n  }\n\n  .svcp-support {\n    padding-bottom: 60px;\n  }\n\n  .svcp-support-card {\n    padding: 30px 23px;\n  }\n\n  .svcp-support-copy {\n    flex-direction: column;\n  }\n\n  .svcp-button-light {\n    width: 100%;\n  }\n\n  .svcp-support-link {\n    width: 100%;\n    justify-content: center;\n  }\n\n  .svcp-footer-links {\n    flex-wrap: wrap;\n  }\n}\n\n\/* =========================================================\n   CORRECCIONES PORTAL DE CLIENTES\n========================================================= *\/\n\n\/* El logo y la etiqueta deben ocupar l\u00edneas independientes *\/\n.svcp-brand {\n  display: flex !important;\n  width: 230px;\n  margin: 0 0 30px 0 !important;\n}\n\n.svcp-eyebrow {\n  display: flex !important;\n  width: max-content;\n  max-width: 100%;\n  margin: 0 0 24px 0 !important;\n  clear: both;\n}\n\n\/* Evita que el saludo aparezca mientras se valida el nombre *\/\n.svcp-welcome {\n  transition:\n    opacity 0.25s ease,\n    height 0.25s ease,\n    margin 0.25s ease;\n}\n\n.svcp-welcome.svcp-welcome-hidden {\n  display: none !important;\n}\n\n\/* Bot\u00f3n de preguntas frecuentes *\/\n.svcp-button-light,\n.svcp-button-light:link,\n.svcp-button-light:visited {\n  position: relative;\n  z-index: 2;\n  width: 100%;\n  min-height: 56px;\n  border: 1px solid #ffffff !important;\n  background: #ffffff !important;\n  color: #241d44 !important;\n  opacity: 1 !important;\n  visibility: visible !important;\n  -webkit-text-fill-color: #241d44 !important;\n}\n\n.svcp-button-light *,\n.svcp-button-light span {\n  color: inherit !important;\n  opacity: 1 !important;\n  visibility: visible !important;\n  -webkit-text-fill-color: currentColor !important;\n}\n\n.svcp-button-light:hover,\n.svcp-button-light:focus,\n.svcp-button-light:focus-visible {\n  border-color: #ffffff !important;\n  background: #f2f0fa !important;\n  color: #1b1733 !important;\n  -webkit-text-fill-color: #1b1733 !important;\n}\n\n\/* Elementor o el tema no deben volver transparente el texto *\/\n.svcp-support-actions .svcp-button-light {\n  font-size: 14px !important;\n  font-weight: 700 !important;\n  line-height: 1.2 !important;\n  text-decoration: none !important;\n  text-shadow: none !important;\n}\n\n\/* =========================================================\n   AJUSTE ESCRITORIO\n========================================================= *\/\n\n@media (min-width: 821px) {\n  .svcp-hero-content {\n    display: flex;\n    flex-direction: column;\n    align-items: flex-start;\n  }\n\n  .svcp-brand {\n    align-self: flex-start;\n  }\n\n  .svcp-eyebrow {\n    align-self: flex-start;\n  }\n\n  .svcp-welcome,\n  .svcp-title,\n  .svcp-description,\n  .svcp-actions,\n  .svcp-trust-row {\n    align-self: flex-start;\n  }\n}\n\n\/* =========================================================\n   AJUSTE TABLET Y M\u00d3VIL\n========================================================= *\/\n\n@media (max-width: 820px) {\n  .svcp-hero-content {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n  }\n\n  .svcp-brand {\n    align-self: center;\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n\n  .svcp-eyebrow {\n    align-self: center;\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n}\n\n\/* =========================================================\n   CORRECCI\u00d3N DEFINITIVA BOT\u00d3N PRINCIPAL\n========================================================= *\/\n\n.svcp .svcp-actions .svcp-button-primary,\n.svcp .svcp-actions .svcp-button-primary:link,\n.svcp .svcp-actions .svcp-button-primary:visited,\n.svcp .svcp-actions .svcp-button-primary:not(:hover) {\n  background-color: #ffffff !important;\n  border: 1px solid #ffffff !important;\n  color: #1b1733 !important;\n  -webkit-text-fill-color: #1b1733 !important;\n  opacity: 1 !important;\n}\n\n.svcp .svcp-actions .svcp-button-primary span,\n.svcp .svcp-actions .svcp-button-primary:not(:hover) span,\n.svcp .svcp-actions .svcp-button-primary svg,\n.svcp .svcp-actions .svcp-button-primary:not(:hover) svg {\n  color: #1b1733 !important;\n  stroke: currentColor !important;\n  opacity: 1 !important;\n  -webkit-text-fill-color: #1b1733 !important;\n}\n\n.svcp .svcp-actions .svcp-button-primary:hover,\n.svcp .svcp-actions .svcp-button-primary:focus,\n.svcp .svcp-actions .svcp-button-primary:focus-visible {\n  background-color: #d2cdf4 !important;\n  border-color: #d2cdf4 !important;\n  color: #1b1733 !important;\n  -webkit-text-fill-color: #1b1733 !important;\n}\n\n.svcp .svcp-actions .svcp-button-primary:hover span,\n.svcp .svcp-actions .svcp-button-primary:hover svg,\n.svcp .svcp-actions .svcp-button-primary:focus span,\n.svcp .svcp-actions .svcp-button-primary:focus svg {\n  color: #1b1733 !important;\n  stroke: currentColor !important;\n  -webkit-text-fill-color: #1b1733 !important;\n}\n\n\/* =========================================================\n   ACCESIBILIDAD\n========================================================= *\/\n\n@media (prefers-reduced-motion: reduce) {\n  .svcp *,\n  .svcp *::before,\n  .svcp *::after {\n    scroll-behavior: auto !important;\n    animation-duration: 0.01ms !important;\n    animation-iteration-count: 1 !important;\n    transition-duration: 0.01ms !important;\n  }\n\n  .svcp-reveal {\n    opacity: 1;\n    transform: none;\n  }\n}\n<\/style>\n\n<script>\n(function () {\n  \"use strict\";\n\n  function initializeSVClientPortal() {\n    const portal = document.getElementById(\"sv-client-portal\");\n\n    if (!portal || portal.dataset.initialized === \"true\") {\n      return;\n    }\n\n    portal.dataset.initialized = \"true\";\n    \n    \/* =====================================================\n   VALIDAR NOMBRE DEL CLIENTE\n===================================================== *\/\n\nconst welcomeElement = portal.querySelector(\".svcp-welcome\");\nconst clientNameElement = portal.querySelector(\".svcp-client-name\");\n\nif (welcomeElement && clientNameElement) {\n  const clientName = clientNameElement.textContent\n    .replace(\/\\s+\/g, \" \")\n    .trim();\n\n  const invalidClientName =\n    !clientName ||\n    clientName === \"[SV_CLIENTE_NOMBRE]\" ||\n    clientName.includes(\"SV_CLIENTE_NOMBRE\") ||\n    clientName.includes(\"[\") ||\n    clientName.includes(\"]\") ||\n    clientName.toLowerCase() === \"cliente\" ||\n    clientName.toLowerCase() === \"usuario\";\n\n  if (invalidClientName) {\n    welcomeElement.classList.add(\"svcp-welcome-hidden\");\n    welcomeElement.setAttribute(\"aria-hidden\", \"true\");\n  } else {\n    welcomeElement.classList.remove(\"svcp-welcome-hidden\");\n    welcomeElement.removeAttribute(\"aria-hidden\");\n  }\n}\n\n    \/* A\u00f1o autom\u00e1tico *\/\n    const currentYear = new Date().getFullYear();\n\n    portal.querySelectorAll(\"[data-svcp-year]\").forEach(function (element) {\n      element.textContent = currentYear;\n    });\n\n    \/* Duplicar logotipos para lograr un carrusel infinito *\/\n    const marquee = portal.querySelector(\"[data-svcp-marquee]\");\n    const marqueeTrack = marquee\n      ? marquee.querySelector(\".svcp-marquee-track\")\n      : null;\n\n    if (marqueeTrack && marqueeTrack.dataset.cloned !== \"true\") {\n      const originalItems = Array.from(marqueeTrack.children);\n\n      originalItems.forEach(function (item) {\n        const clone = item.cloneNode(true);\n        clone.setAttribute(\"aria-hidden\", \"true\");\n        marqueeTrack.appendChild(clone);\n      });\n\n      marqueeTrack.dataset.cloned = \"true\";\n    }\n\n    \/* Animaciones de entrada *\/\n    const revealElements = portal.querySelectorAll(\".svcp-reveal\");\n\n    if (\"IntersectionObserver\" in window) {\n      const revealObserver = new IntersectionObserver(\n        function (entries, observer) {\n          entries.forEach(function (entry) {\n            if (entry.isIntersecting) {\n              entry.target.classList.add(\"is-visible\");\n              observer.unobserve(entry.target);\n            }\n          });\n        },\n        {\n          threshold: 0.13,\n          rootMargin: \"0px 0px -35px 0px\"\n        }\n      );\n\n      revealElements.forEach(function (element, index) {\n        element.style.transitionDelay = Math.min(index * 45, 240) + \"ms\";\n        revealObserver.observe(element);\n      });\n    } else {\n      revealElements.forEach(function (element) {\n        element.classList.add(\"is-visible\");\n      });\n    }\n\n    \/* Contadores *\/\n    const counters = portal.querySelectorAll(\"[data-count]\");\n\n    function animateCounter(element) {\n      if (element.dataset.animated === \"true\") {\n        return;\n      }\n\n      element.dataset.animated = \"true\";\n\n      const target = Number(element.dataset.count || 0);\n      const prefix = element.dataset.prefix || \"\";\n      const duration = 1300;\n      const startTime = performance.now();\n\n      function updateCounter(currentTime) {\n        const elapsed = currentTime - startTime;\n        const progress = Math.min(elapsed \/ duration, 1);\n        const easedProgress = 1 - Math.pow(1 - progress, 3);\n        const currentValue = Math.floor(target * easedProgress);\n\n        element.textContent =\n          prefix + currentValue.toLocaleString(\"es-MX\");\n\n        if (progress < 1) {\n          requestAnimationFrame(updateCounter);\n        } else {\n          element.textContent =\n            prefix + target.toLocaleString(\"es-MX\");\n        }\n      }\n\n      requestAnimationFrame(updateCounter);\n    }\n\n    if (\"IntersectionObserver\" in window) {\n      const counterObserver = new IntersectionObserver(\n        function (entries, observer) {\n          entries.forEach(function (entry) {\n            if (entry.isIntersecting) {\n              animateCounter(entry.target);\n              observer.unobserve(entry.target);\n            }\n          });\n        },\n        {\n          threshold: 0.4\n        }\n      );\n\n      counters.forEach(function (counter) {\n        counterObserver.observe(counter);\n      });\n    } else {\n      counters.forEach(animateCounter);\n    }\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\n      \"DOMContentLoaded\",\n      initializeSVClientPortal\n    );\n  } else {\n    initializeSVClientPortal();\n  }\n\n  \/* Elementor puede volver a renderizar widgets dentro del editor *\/\n  window.addEventListener(\"elementor\/frontend\/init\", function () {\n    setTimeout(initializeSVClientPortal, 250);\n  });\n})();\n<\/script>\n\n<script>\n(function () {\n  \"use strict\";\n\n  const SV_PORTAL_URLS = {\n    login: \"https:\/\/studiovainilla.com\/clientes\/ingresar\",\n    dashboard: \"https:\/\/studiovainilla.com\/clientes\/escritorio-vainilla\/\"\n  };\n\n  function updateStudioVainillaAccessLinks() {\n    const isLoggedIn = document.body.classList.contains(\"logged-in\");\n\n    const destinationUrl = isLoggedIn\n      ? SV_PORTAL_URLS.dashboard\n      : SV_PORTAL_URLS.login;\n\n    const buttonText = isLoggedIn\n      ? \"Ir a Escritorio Vainilla\"\n      : \"Ingresar al Portal\";\n\n    \/*\n     * Localiza todos los enlaces que:\n     * 1. Apuntan actualmente al escritorio.\n     * 2. Apuntan al login.\n     * 3. Tienen el atributo data-sv-portal-access.\n     *\/\n    const accessLinks = document.querySelectorAll(\n      'a[href*=\"\/clientes\/escritorio-vainilla\"],' +\n      'a[href*=\"\/clientes\/ingresar\"],' +\n      'a[data-sv-portal-access]'\n    );\n\n    accessLinks.forEach(function (link) {\n      link.href = destinationUrl;\n      link.setAttribute(\"data-sv-portal-access\", \"true\");\n\n      \/*\n       * Cambia \u00fanicamente el nodo de texto del bot\u00f3n,\n       * conservando \u00edconos SVG, flechas y dem\u00e1s elementos.\n       *\/\n      let textUpdated = false;\n\n      Array.from(link.childNodes).forEach(function (node) {\n        if (\n          node.nodeType === Node.TEXT_NODE &&\n          node.textContent.trim()\n        ) {\n          node.textContent = \"\\n            \" + buttonText + \"\\n            \";\n          textUpdated = true;\n        }\n      });\n\n      \/*\n       * En algunos botones el texto est\u00e1 dentro de un span.\n       *\/\n      if (!textUpdated) {\n        const textSpan = link.querySelector(\n          \"span:not(.svhc-question-icon):not(.svcp-status-dot)\"\n        );\n\n        if (textSpan && !textSpan.querySelector(\"svg\")) {\n          textSpan.textContent = buttonText;\n          textUpdated = true;\n        }\n      }\n\n      link.setAttribute(\n        \"aria-label\",\n        isLoggedIn\n          ? \"Ir a Escritorio Vainilla\"\n          : \"Ingresar al Portal de Clientes\"\n      );\n    });\n  }\n\n  function initializeAccessLinks() {\n    updateStudioVainillaAccessLinks();\n\n    \/*\n     * Elementor puede volver a renderizar el contenido.\n     * Se ejecuta una segunda validaci\u00f3n para asegurar el cambio.\n     *\/\n    window.setTimeout(updateStudioVainillaAccessLinks, 300);\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\n      \"DOMContentLoaded\",\n      initializeAccessLinks\n    );\n  } else {\n    initializeAccessLinks();\n  }\n\n  window.addEventListener(\n    \"elementor\/frontend\/init\",\n    function () {\n      window.setTimeout(updateStudioVainillaAccessLinks, 350);\n    }\n  );\n})();\n<\/script>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Portal de clientes Hola, [SV_CLIENTE_NOMBRE] \ud83d\udc4b Todo tu proyecto. En un mismo lugar. Consulta avances, calendarios, archivos, solicitudes y resultados desde el espacio de trabajo que hemos preparado para tu empresa. Ir a Escritorio Vainilla Centro de ayuda Acceso seguro Informaci\u00f3n actualizada StudioVainilla SV Resumen del proyecto Tu espacio de trabajo Activo Avance general 84%&#8230;<\/p>\n","protected":false},"author":1,"featured_media":10496,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-10006","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/studiovainilla.com\/clientes\/wp-json\/wp\/v2\/pages\/10006","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/studiovainilla.com\/clientes\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/studiovainilla.com\/clientes\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/studiovainilla.com\/clientes\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/studiovainilla.com\/clientes\/wp-json\/wp\/v2\/comments?post=10006"}],"version-history":[{"count":345,"href":"https:\/\/studiovainilla.com\/clientes\/wp-json\/wp\/v2\/pages\/10006\/revisions"}],"predecessor-version":[{"id":14265,"href":"https:\/\/studiovainilla.com\/clientes\/wp-json\/wp\/v2\/pages\/10006\/revisions\/14265"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/studiovainilla.com\/clientes\/wp-json\/wp\/v2\/media\/10496"}],"wp:attachment":[{"href":"https:\/\/studiovainilla.com\/clientes\/wp-json\/wp\/v2\/media?parent=10006"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}