{"id":3046,"date":"2026-10-14T12:58:42","date_gmt":"2026-10-14T10:58:42","guid":{"rendered":"https:\/\/loboguard.com\/?page_id=3046"},"modified":"2026-10-20T00:59:26","modified_gmt":"2026-10-19T22:59:26","slug":"loboguard-dc","status":"publish","type":"page","link":"https:\/\/loboguard.com\/pt-pt\/loboguard-dc\/","title":{"rendered":"Home LoboGuard-DC"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3046\" class=\"elementor elementor-3046 elementor-3042\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-35223913 e-flex e-con-boxed e-con e-parent\" data-id=\"35223913\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b9659ad e-con-full e-flex e-con e-child\" data-id=\"b9659ad\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-77fd4de4 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"77fd4de4\" 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<h1 class=\"elementor-heading-title elementor-size-default\">LOBOGUARD<br>GEST\u00c3O DE DATA CENTER PROXMOX<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4c212b9c elementor-invisible elementor-widget elementor-widget-text-editor\" data-id=\"4c212b9c\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:70}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Um \u00fanico ambiente. Todos os clusters. Controlo total. O LoboGuard-DC unifica todos os clusters, tenants e funcionalidades do Proxmox numa \u00fanica plataforma. Veja tudo, gerencie tudo, proteja tudo. A sua infraestrutura, os seus tenants, a decis\u00e3o \u00e9 sua.<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-411313e e-con-full e-flex e-con e-child\" data-id=\"411313e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-715240d elementor-invisible elementor-widget elementor-widget-image\" data-id=\"715240d\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1919\" height=\"944\" src=\"https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc.png\" class=\"attachment-full size-full wp-image-3068\" alt=\"overview LoboGuard-DC\" srcset=\"https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc.png 1919w, https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc-300x148.png 300w, https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc-1024x504.png 1024w, https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc-768x378.png 768w, https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc-1536x756.png 1536w, https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc-600x295.png 600w\" sizes=\"(max-width: 1919px) 100vw, 1919px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6fa7b455 e-con-full e-flex e-con e-parent\" data-id=\"6fa7b455\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ab47ce3 elementor-widget elementor-widget-html\" data-id=\"ab47ce3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"lgdc-about\" aria-labelledby=\"lgdc-about-title\" data-scene=\"tenant\">\r\n  <style>\r\n    .lgdc-about {\r\n      --lgdc-heading: var(--e-global-color-primary, #14C2A3);\r\n      --lgdc-text: var(--e-global-color-text, #B9B9BF);\r\n      --lgdc-accent: var(--e-global-color-primary, #14C2A3);\r\n      --lgdc-off: var(--e-global-color-72b2dc9, #565660);\r\n      --lgdc-bg: var(--e-global-color-ad9a0db, #141A31);\r\n      --lgdc-card-bg: var(--e-global-color-secondary, #0C1226);\r\n      --lgdc-card-border: var(--e-global-color-34cc923, #FFFFFF33);\r\n      --lgdc-font-heading: var(--e-global-typography-primary-font-family, \"Chakra Petch\"), sans-serif;\r\n      --lgdc-font-text: var(--e-global-typography-text-font-family, \"IBM Plex Mono\"), monospace;\r\n\r\n      --mx: 0;\r\n      --my: 0;\r\n\r\n      position: relative;\r\n      overflow: clip;\r\n      isolation: isolate;\r\n      box-sizing: border-box;\r\n      width: 100%;\r\n      padding: clamp(2rem, 6vw, 5rem) clamp(1rem, 4vw, 2rem);\r\n      background: var(--lgdc-bg);\r\n      font-family: var(--lgdc-font-text);\r\n      color: var(--lgdc-text);\r\n    }\r\n    .lgdc-about *, .lgdc-about *::before, .lgdc-about *::after { box-sizing: border-box; }\r\n\r\n    .lgdc-about .lgdc-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }\r\n    .lgdc-about .lgdc-glow {\r\n      position: absolute; inset: 0;\r\n      background:\r\n        radial-gradient(55% 40% at 50% 38%, color-mix(in srgb, var(--lgdc-accent) 16%, transparent), transparent 70%),\r\n        radial-gradient(40% 35% at 0% 100%, color-mix(in srgb, var(--lgdc-accent) 14%, transparent), transparent 70%),\r\n        radial-gradient(40% 35% at 100% 0%, color-mix(in srgb, var(--lgdc-accent) 12%, transparent), transparent 70%);\r\n    }\r\n    .lgdc-about .lgdc-honeywrap {\r\n      position: absolute; inset: 0;\r\n      -webkit-mask-image: radial-gradient(ellipse 75% 70% at 50% 45%, #000 20%, transparent 75%);\r\n      mask-image: radial-gradient(ellipse 75% 70% at 50% 45%, #000 20%, transparent 75%);\r\n    }\r\n    .lgdc-about .lgdc-honey {\r\n      position: absolute; left: -56px; right: -56px; top: -100px;\r\n      width: calc(100% + 112px); height: calc(100% + 200px);\r\n      color: var(--lgdc-accent);\r\n      opacity: .22;\r\n      transform: translate3d(calc(var(--mx) * -20px), 0, 0);\r\n      transition: transform .3s ease-out;\r\n    }\r\n    .lgdc-about .lgdc-honey svg { display: block; width: 100%; height: 100%; animation: lgdc-drift 14s linear infinite; }\r\n    .lgdc-about .lgdc-radar {\r\n      position: absolute; left: 50%; top: 42%;\r\n      width: min(120vmin, 1100px); aspect-ratio: 1;\r\n      transform: translate(-50%, -50%) translate3d(calc(var(--mx) * -24px), calc(var(--my) * -18px), 0);\r\n      transition: transform .3s ease-out;\r\n      border-radius: 50%;\r\n      background: repeating-radial-gradient(circle, transparent 0 59px, color-mix(in srgb, var(--lgdc-accent) 14%, transparent) 59px 60px);\r\n      -webkit-mask-image: radial-gradient(circle, #000 30%, transparent 70%);\r\n      mask-image: radial-gradient(circle, #000 30%, transparent 70%);\r\n    }\r\n    .lgdc-about .lgdc-sweep {\r\n      position: absolute; inset: 0;\r\n      border-radius: 50%;\r\n      background: conic-gradient(from 0deg, transparent 0deg 290deg, color-mix(in srgb, var(--lgdc-accent) 6%, transparent) 300deg, color-mix(in srgb, var(--lgdc-accent) 30%, transparent) 359deg, transparent 360deg);\r\n      animation: lgdc-spin 7s linear infinite;\r\n    }\r\n    .lgdc-about .lgdc-layer { position: absolute; inset: 0; transition: transform .25s ease-out; }\r\n    .lgdc-about .lgdc-far  { transform: translate3d(calc(var(--mx) * -14px), calc(var(--my) * -10px), 0); }\r\n    .lgdc-about .lgdc-near { transform: translate3d(calc(var(--mx) * -38px), calc(var(--my) * -28px), 0); }\r\n    .lgdc-about .lgdc-layer i {\r\n      position: absolute;\r\n      width: var(--s); height: calc(var(--s) * 1.1547);\r\n      clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);\r\n      background: color-mix(in srgb, var(--lgdc-accent) 50%, transparent);\r\n      animation: lgdc-float var(--d) ease-in-out infinite alternate;\r\n    }\r\n    .lgdc-about .lgdc-layer i::after {\r\n      content: \"\";\r\n      position: absolute; inset: 2px;\r\n      clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);\r\n      background: var(--lgdc-bg);\r\n    }\r\n    .lgdc-about .lgdc-layer i:nth-child(3n) { background: color-mix(in srgb, var(--lgdc-accent) 28%, transparent); }\r\n    .lgdc-about .lgdc-layer i:nth-child(3n)::after { display: none; }\r\n    @keyframes lgdc-drift { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(0, 100px, 0); } }\r\n    @keyframes lgdc-spin { to { transform: rotate(360deg); } }\r\n    @keyframes lgdc-float { from { transform: translate3d(0, 0, 0) rotate(0deg); } to { transform: translate3d(0, -22px, 0) rotate(60deg); } }\r\n\r\n    .lgdc-about .lgdc-inner { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; }\r\n\r\n    .lgdc-about .lgdc-head { max-width: 75ch; margin: 0 auto clamp(1.5rem, 4vw, 2.5rem); text-align: center; }\r\n    .lgdc-about .lgdc-title {\r\n      margin: 0 0 1rem;\r\n      font-family: var(--lgdc-font-heading);\r\n      font-size: clamp(1.9rem, 4.5vw, 3rem);\r\n      font-weight: 700;\r\n      text-transform: uppercase;\r\n      line-height: 1.15;\r\n      color: var(--lgdc-heading);\r\n    }\r\n    .lgdc-about .lgdc-intro {\r\n      margin: 0;\r\n      font-family: var(--lgdc-font-text);\r\n      font-size: clamp(1rem, 2vw, 1.125rem);\r\n      font-weight: 400;\r\n      line-height: 1.6;\r\n      color: var(--lgdc-text);\r\n    }\r\n\r\n    .lgdc-about .lgdc-stage { max-width: 900px; margin: 0 auto clamp(1.5rem, 4vw, 2.5rem); text-align: center; perspective: 1100px; }\r\n    .lgdc-about .lgdc-diagram {\r\n      display: block; width: 100%; height: auto; overflow: visible;\r\n      color: var(--lgdc-accent);\r\n      transform-origin: 50% 60%;\r\n      transform: rotateX(calc(10deg + var(--my) * -5deg)) rotateY(calc(var(--mx) * 8deg));\r\n      transition: transform .25s ease-out;\r\n      filter: drop-shadow(0 28px 24px rgba(0, 0, 0, .45));\r\n    }\r\n    .lgdc-about .lgdc-caption {\r\n      min-height: 3.2em;\r\n      margin: .5rem 0 0;\r\n      font-family: var(--lgdc-font-text);\r\n      font-size: clamp(.8rem, 1.6vw, .95rem);\r\n      line-height: 1.6;\r\n      color: var(--lgdc-text);\r\n    }\r\n    .lgdc-about .lgdc-caption::before {\r\n      content: \"\";\r\n      display: inline-block;\r\n      width: .6em; height: .6em;\r\n      margin-right: .6em;\r\n      clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);\r\n      background: var(--lgdc-accent);\r\n    }\r\n\r\n    .lgdc-about .gbox { fill: color-mix(in srgb, var(--lgdc-card-bg) 70%, transparent); stroke: var(--lgdc-card-border); stroke-width: 1.5; stroke-dasharray: 10 6; vector-effect: non-scaling-stroke; transition: stroke .4s ease; }\r\n    .lgdc-about .glabel { fill: var(--lgdc-heading); font-family: var(--lgdc-font-heading); font-size: 15px; font-weight: 700; letter-spacing: .12em; }\r\n    .lgdc-about .glabel-b { text-anchor: end; }\r\n    .lgdc-about .rk { transition: opacity .5s ease; }\r\n    .lgdc-about .rack { fill: var(--lgdc-card-bg); stroke: var(--lgdc-card-border); stroke-width: 1.5; vector-effect: non-scaling-stroke; transition: stroke .4s ease; }\r\n    .lgdc-about .unit {\r\n      fill: transparent;\r\n      stroke: var(--lgdc-accent);\r\n      stroke-width: 1.5;\r\n      stroke-dasharray: 4 3;\r\n      vector-effect: non-scaling-stroke;\r\n      transition: fill .4s ease, stroke-dasharray .4s ease;\r\n    }\r\n    .lgdc-about .led { fill: var(--lgdc-accent); transition: fill .4s ease; }\r\n\r\n    .lgdc-about .hub { fill: var(--lgdc-card-bg); stroke: var(--lgdc-accent); stroke-width: 2.5; vector-effect: non-scaling-stroke; }\r\n    .lgdc-about .hubtxt { fill: var(--lgdc-heading); font-family: var(--lgdc-font-heading); font-size: 30px; font-weight: 700; text-anchor: middle; }\r\n    .lgdc-about .hubring { fill: none; stroke: var(--lgdc-accent); stroke-width: 2; vector-effect: non-scaling-stroke; opacity: 0; transform-box: fill-box; transform-origin: center; }\r\n\r\n    .lgdc-about .tr { fill: none; stroke: var(--lgdc-card-border); stroke-width: 2; vector-effect: non-scaling-stroke; }\r\n    .lgdc-about .mtr { fill: none; stroke: var(--lgdc-card-border); stroke-width: 1.5; stroke-dasharray: 4 6; vector-effect: non-scaling-stroke; }\r\n    .lgdc-about .flow {\r\n      fill: none;\r\n      stroke: var(--lgdc-accent);\r\n      stroke-width: 5;\r\n      stroke-linecap: round;\r\n      stroke-dasharray: 0.1 16;\r\n      vector-effect: non-scaling-stroke;\r\n      opacity: 0;\r\n      transition: opacity .4s ease;\r\n      filter: drop-shadow(0 0 3px var(--lgdc-accent));\r\n    }\r\n\r\n    .lgdc-about .chan { fill: var(--lgdc-card-bg); stroke: var(--lgdc-card-border); stroke-width: 2; vector-effect: non-scaling-stroke; transition: stroke .4s ease; }\r\n    .lgdc-about .chandot { fill: var(--lgdc-off); transition: fill .4s ease; }\r\n\r\n    .lgdc-about .xm { opacity: 0; transition: opacity .4s ease; }\r\n    .lgdc-about .xm path { fill: none; stroke: var(--lgdc-accent); stroke-width: 3.5; stroke-linecap: round; vector-effect: non-scaling-stroke; }\r\n    .lgdc-about .xm circle { fill: var(--lgdc-card-bg); stroke: var(--lgdc-accent); stroke-width: 2; vector-effect: non-scaling-stroke; }\r\n\r\n    .lgdc-about .shield { opacity: 0; transform-box: fill-box; transform-origin: center; transform: scale(.6); transition: opacity .4s ease, transform .4s ease; }\r\n    .lgdc-about .shield path, .lgdc-about .shield rect { fill: var(--lgdc-card-bg); stroke: var(--lgdc-accent); stroke-width: 2.5; stroke-linejoin: round; }\r\n    .lgdc-about .shield .lockarc { fill: none; }\r\n\r\n    .lgdc-about .scan { opacity: 0; transition: opacity .4s ease; }\r\n    .lgdc-about .scanline { fill: var(--lgdc-accent); filter: drop-shadow(0 0 6px var(--lgdc-accent)); }\r\n\r\n    .lgdc-about[data-scene=\"tenant\"] .l1, .lgdc-about[data-scene=\"tenant\"] .l2,\r\n    .lgdc-about[data-scene=\"tenant\"] .l3, .lgdc-about[data-scene=\"tenant\"] .l4 { opacity: 1; animation: lgdc-flow 1s linear infinite; }\r\n    .lgdc-about[data-scene=\"tenant\"] .gbox { stroke: var(--lgdc-accent); }\r\n    .lgdc-about[data-scene=\"tenant\"] .k1, .lgdc-about[data-scene=\"tenant\"] .k2 { fill: var(--lgdc-accent); stroke-dasharray: none; }\r\n\r\n    .lgdc-about[data-scene=\"ransom\"] .l3, .lgdc-about[data-scene=\"ransom\"] .l4 { opacity: 1; animation: lgdc-flow 1s linear infinite; }\r\n    .lgdc-about[data-scene=\"ransom\"] .r1 { opacity: .35; }\r\n    .lgdc-about[data-scene=\"ransom\"] .r1 .rack { stroke-dasharray: 8 6; }\r\n    .lgdc-about[data-scene=\"ransom\"] .r1 .led { fill: var(--lgdc-off); }\r\n    .lgdc-about[data-scene=\"ransom\"] .xm { opacity: 1; }\r\n    .lgdc-about[data-scene=\"ransom\"] .shield { opacity: 1; transform: scale(1); }\r\n    .lgdc-about[data-scene=\"ransom\"] .r2 .k1, .lgdc-about[data-scene=\"ransom\"] .r3 .k1, .lgdc-about[data-scene=\"ransom\"] .r3 .k2,\r\n    .lgdc-about[data-scene=\"ransom\"] .r4 .k1, .lgdc-about[data-scene=\"ransom\"] .r4 .k2 { fill: var(--lgdc-accent); stroke-dasharray: none; }\r\n\r\n    .lgdc-about[data-scene=\"trouble\"] .m1 { opacity: 1; animation: lgdc-flow .6s linear infinite; }\r\n    .lgdc-about[data-scene=\"trouble\"] .m2 { opacity: 1; animation: lgdc-flow .6s linear infinite reverse; }\r\n    .lgdc-about[data-scene=\"trouble\"] .l1, .lgdc-about[data-scene=\"trouble\"] .l2,\r\n    .lgdc-about[data-scene=\"trouble\"] .l3, .lgdc-about[data-scene=\"trouble\"] .l4 { opacity: .35; animation: lgdc-flow 2s linear infinite; }\r\n    .lgdc-about[data-scene=\"trouble\"] .k1, .lgdc-about[data-scene=\"trouble\"] .k3 { fill: var(--lgdc-accent); stroke-dasharray: none; }\r\n    .lgdc-about[data-scene=\"trouble\"] .led { animation: lgdc-blink .5s ease-in-out infinite; }\r\n\r\n    .lgdc-about[data-scene=\"scan\"] .scan { opacity: 1; }\r\n    .lgdc-about[data-scene=\"scan\"] .scanmove { animation: lgdc-scan 2.2s ease-in-out infinite alternate; }\r\n    .lgdc-about[data-scene=\"scan\"] .k2 { fill: var(--lgdc-accent); stroke-dasharray: none; }\r\n    .lgdc-about[data-scene=\"scan\"] .led { animation: lgdc-blink 1s ease-in-out infinite; }\r\n\r\n    .lgdc-about[data-scene=\"topology\"] .l1, .lgdc-about[data-scene=\"topology\"] .l2,\r\n    .lgdc-about[data-scene=\"topology\"] .l3, .lgdc-about[data-scene=\"topology\"] .l4 { opacity: .6; animation: lgdc-flow 2s linear infinite; }\r\n    .lgdc-about[data-scene=\"topology\"] .m1, .lgdc-about[data-scene=\"topology\"] .m2 { opacity: .45; animation: lgdc-flow 2s linear infinite; }\r\n    .lgdc-about[data-scene=\"topology\"] .unit { fill: var(--lgdc-accent); stroke-dasharray: none; }\r\n    .lgdc-about[data-scene=\"topology\"] .gbox, .lgdc-about[data-scene=\"topology\"] .rack { stroke: var(--lgdc-accent); }\r\n    .lgdc-about[data-scene=\"topology\"] .hubring { animation: lgdc-pulse 2s ease-out infinite; }\r\n\r\n    .lgdc-about[data-scene=\"alerts\"] .c1, .lgdc-about[data-scene=\"alerts\"] .c2, .lgdc-about[data-scene=\"alerts\"] .c3 { opacity: 1; animation: lgdc-flow .7s linear infinite; }\r\n    .lgdc-about[data-scene=\"alerts\"] .chan { stroke: var(--lgdc-accent); }\r\n    .lgdc-about[data-scene=\"alerts\"] .chandot { fill: var(--lgdc-accent); animation: lgdc-blink .9s ease-in-out infinite; }\r\n    .lgdc-about[data-scene=\"alerts\"] .ch2 .chandot { animation-delay: .15s; }\r\n    .lgdc-about[data-scene=\"alerts\"] .ch3 .chandot { animation-delay: .3s; }\r\n    .lgdc-about[data-scene=\"alerts\"] .hubring { animation: lgdc-pulse 1.2s ease-out infinite; }\r\n    .lgdc-about[data-scene=\"alerts\"] .k1 { fill: var(--lgdc-accent); stroke-dasharray: none; }\r\n\r\n    @keyframes lgdc-flow { to { stroke-dashoffset: -16.1; } }\r\n    @keyframes lgdc-blink { 50% { opacity: .25; } }\r\n    @keyframes lgdc-scan { from { transform: translateX(40px); } to { transform: translateX(960px); } }\r\n    @keyframes lgdc-pulse { from { opacity: .9; transform: scale(1); } to { opacity: 0; transform: scale(1.7); } }\r\n\r\n    .lgdc-about .lgdc-grid {\r\n      display: grid;\r\n      grid-template-columns: 1fr;\r\n      gap: clamp(1rem, 2.5vw, 1.75rem);\r\n      margin: 0;\r\n      padding: 0;\r\n      list-style: none;\r\n    }\r\n    @media (min-width: 640px) { .lgdc-about .lgdc-grid { grid-template-columns: repeat(2, 1fr); } }\r\n    @media (min-width: 1000px) { .lgdc-about .lgdc-grid { grid-template-columns: repeat(3, 1fr); } }\r\n\r\n    @media (max-width: 999px) {\r\n      .lgdc-about .lgdc-stage {\r\n        position: sticky;\r\n        top: var(--lgdc-sticky-top, 0px);\r\n        z-index: 2;\r\n        padding: .5rem 0;\r\n        background: var(--lgdc-bg);\r\n      }\r\n      .lgdc-about .lgdc-diagram { max-height: 30vh; max-height: 30svh; }\r\n      .lgdc-about .lgdc-caption { min-height: 3.2em; }\r\n    }\r\n\r\n    .lgdc-about .lgdc-card { min-width: 0; display: flex; perspective: 900px; cursor: pointer; }\r\n    .lgdc-about .lgdc-face {\r\n      position: relative;\r\n      flex: 1 1 auto;\r\n      min-width: 0;\r\n      padding: clamp(1.1rem, 2.5vw, 1.75rem);\r\n      background: var(--lgdc-card-bg);\r\n      border: 1px solid var(--lgdc-card-border);\r\n      text-align: center;\r\n      transform-style: preserve-3d;\r\n      transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));\r\n      transition: transform .2s ease-out, border-color .3s ease, box-shadow .3s ease;\r\n    }\r\n    .lgdc-about .lgdc-face::after {\r\n      content: \"\";\r\n      position: absolute; inset: 0;\r\n      background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgba(255, 255, 255, .12), transparent 55%);\r\n      opacity: 0;\r\n      transition: opacity .3s ease;\r\n      pointer-events: none;\r\n    }\r\n    .lgdc-about .lgdc-card.is-tilting .lgdc-face::after { opacity: 1; }\r\n    .lgdc-about .lgdc-card.is-active .lgdc-face { border-color: var(--lgdc-accent); box-shadow: 0 0 0 1px var(--lgdc-accent), 0 18px 40px -14px color-mix(in srgb, var(--lgdc-accent) 55%, transparent); }\r\n    .lgdc-about .lgdc-card:focus-visible { outline: none; }\r\n    .lgdc-about .lgdc-card:focus-visible .lgdc-face { outline: 2px solid var(--lgdc-accent); outline-offset: 3px; }\r\n    .lgdc-about .lgdc-card h3 {\r\n      transform: translateZ(28px);\r\n      margin: 0 0 .6rem;\r\n      font-family: var(--lgdc-font-heading);\r\n      font-size: clamp(1.05rem, 2.2vw, 1.4rem);\r\n      font-weight: 700;\r\n      text-transform: uppercase;\r\n      line-height: 1.25;\r\n      color: var(--lgdc-heading);\r\n    }\r\n    .lgdc-about .lgdc-card p {\r\n      transform: translateZ(12px);\r\n      margin: 0;\r\n      font-family: var(--lgdc-font-text);\r\n      font-weight: 400;\r\n      text-transform: none;\r\n      line-height: 1.6;\r\n      color: var(--lgdc-text);\r\n      overflow-wrap: anywhere;\r\n    }\r\n\r\n    @media (prefers-reduced-motion: no-preference) {\r\n      .lgdc-about.lgdc-anim .lgdc-card {\r\n        opacity: 0;\r\n        transform: scale(.92);\r\n        transition: opacity .5s ease, transform .5s ease;\r\n      }\r\n      .lgdc-about.lgdc-anim .lgdc-card.is-visible { opacity: 1; transform: none; }\r\n    }\r\n    @media (prefers-reduced-motion: reduce) {\r\n      .lgdc-about .flow, .lgdc-about .led, .lgdc-about .chandot, .lgdc-about .hubring, .lgdc-about .scanmove,\r\n      .lgdc-about .lgdc-sweep, .lgdc-about .lgdc-honey svg, .lgdc-about .lgdc-layer i { animation: none !important; }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"lgdc-bg\" aria-hidden=\"true\">\r\n    <div class=\"lgdc-glow\"><\/div>\r\n    <div class=\"lgdc-honeywrap\">\r\n      <div class=\"lgdc-honey\">\r\n        <svg focusable=\"false\">\r\n          <defs>\r\n            <pattern id=\"lgdc-hex-pattern\" width=\"56\" height=\"100\" patternUnits=\"userSpaceOnUse\">\r\n              <path d=\"M28 66L0 50L0 16L28 0L56 16L56 50L28 66L28 100\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1\"\/>\r\n            <\/pattern>\r\n          <\/defs>\r\n          <rect width=\"100%\" height=\"100%\" fill=\"url(#lgdc-hex-pattern)\"\/>\r\n        <\/svg>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"lgdc-radar\"><div class=\"lgdc-sweep\"><\/div><\/div>\r\n    <div class=\"lgdc-layer lgdc-far\"><i style=\"left:6%;top:12%;--s:16px;--d:7s\"><\/i><i style=\"left:22%;top:62%;--s:24px;--d:9s\"><\/i><i style=\"left:48%;top:8%;--s:12px;--d:6s\"><\/i><i style=\"left:74%;top:70%;--s:20px;--d:8s\"><\/i><i style=\"left:92%;top:24%;--s:14px;--d:10s\"><\/i><\/div>\r\n    <div class=\"lgdc-layer lgdc-near\"><i style=\"left:12%;top:38%;--s:30px;--d:8s\"><\/i><i style=\"left:34%;top:80%;--s:14px;--d:6s\"><\/i><i style=\"left:63%;top:30%;--s:26px;--d:9s\"><\/i><i style=\"left:86%;top:52%;--s:34px;--d:7s\"><\/i><i style=\"left:56%;top:86%;--s:12px;--d:11s\"><\/i><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"lgdc-inner\">\r\n    <header class=\"lgdc-head\">\r\n      <h2 class=\"lgdc-title\" id=\"lgdc-about-title\">O que \u00e9 o LoboGuard-DC<\/h2>\r\n      <p class=\"lgdc-intro\">O LoboGuard-DC \u00e9 uma plataforma de gest\u00e3o unificada para infraestruturas Proxmox VE de qualquer dimens\u00e3o, desde um \u00fanico cluster at\u00e9 uma implementa\u00e7\u00e3o multi-tenant de servi\u00e7os geridos. Uma s\u00f3 interface para operar clusters, n\u00f3s, m\u00e1quinas virtuais, contentores, armazenamento, redes e seguran\u00e7a. Feito para qualquer ambiente, pronto para os mais exigentes.<\/p>\r\n    <\/header>\r\n\r\n    <div class=\"lgdc-stage\">\r\n      <svg class=\"lgdc-diagram\" viewBox=\"0 0 1000 300\" aria-hidden=\"true\" focusable=\"false\">\r\n        <defs>\r\n          <linearGradient id=\"lgdc-scan-grad\" x1=\"0\" x2=\"1\" y1=\"0\" y2=\"0\">\r\n            <stop offset=\"0\" stop-color=\"currentColor\" stop-opacity=\"0\"\/>\r\n            <stop offset=\"1\" stop-color=\"currentColor\" stop-opacity=\".4\"\/>\r\n          <\/linearGradient>\r\n        <\/defs>\r\n\r\n        <rect class=\"gbox\" x=\"30\" y=\"30\" width=\"300\" height=\"235\"\/>\r\n        <rect class=\"gbox\" x=\"670\" y=\"30\" width=\"300\" height=\"235\"\/>\r\n        <text class=\"glabel\" x=\"30\" y=\"292\">TENANT A<\/text>\r\n        <text class=\"glabel glabel-b\" x=\"970\" y=\"292\">TENANT B<\/text>\r\n\r\n        <path class=\"mtr\" d=\"M245 70 C245 20 755 20 755 70\"\/>\r\n        <path class=\"mtr\" d=\"M115 70 C115 -10 885 -10 885 70\"\/>\r\n        <path class=\"flow m1\" d=\"M245 70 C245 20 755 20 755 70\"\/>\r\n        <path class=\"flow m2\" d=\"M115 70 C115 -10 885 -10 885 70\"\/>\r\n\r\n        <path class=\"tr\" d=\"M448 150 H290\"\/>\r\n        <path class=\"tr\" d=\"M448 150 H380 V245 H115 V220\"\/>\r\n        <path class=\"tr\" d=\"M552 150 H710\"\/>\r\n        <path class=\"tr\" d=\"M552 150 H620 V245 H885 V220\"\/>\r\n        <path class=\"tr\" d=\"M474 195 L450 261\"\/>\r\n        <path class=\"tr\" d=\"M500 195 V261\"\/>\r\n        <path class=\"tr\" d=\"M526 195 L550 261\"\/>\r\n        <path class=\"flow l1\" d=\"M448 150 H290\"\/>\r\n        <path class=\"flow l2\" d=\"M448 150 H380 V245 H115 V220\"\/>\r\n        <path class=\"flow l3\" d=\"M552 150 H710\"\/>\r\n        <path class=\"flow l4\" d=\"M552 150 H620 V245 H885 V220\"\/>\r\n        <path class=\"flow c1\" d=\"M474 195 L450 261\"\/>\r\n        <path class=\"flow c2\" d=\"M500 195 V261\"\/>\r\n        <path class=\"flow c3\" d=\"M526 195 L550 261\"\/>\r\n\r\n        <g class=\"rk r1\">\r\n          <rect class=\"rack\" x=\"70\" y=\"70\" width=\"90\" height=\"150\"\/>\r\n          <rect class=\"unit k1\" x=\"80\" y=\"82\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k2\" x=\"80\" y=\"116\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k3\" x=\"80\" y=\"150\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k4\" x=\"80\" y=\"184\" width=\"70\" height=\"24\"\/>\r\n          <circle class=\"led\" cx=\"140\" cy=\"94\" r=\"3\"\/><circle class=\"led\" cx=\"140\" cy=\"128\" r=\"3\"\/><circle class=\"led\" cx=\"140\" cy=\"162\" r=\"3\"\/><circle class=\"led\" cx=\"140\" cy=\"196\" r=\"3\"\/>\r\n        <\/g>\r\n        <g class=\"rk r2\">\r\n          <rect class=\"rack\" x=\"200\" y=\"70\" width=\"90\" height=\"150\"\/>\r\n          <rect class=\"unit k1\" x=\"210\" y=\"82\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k2\" x=\"210\" y=\"116\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k3\" x=\"210\" y=\"150\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k4\" x=\"210\" y=\"184\" width=\"70\" height=\"24\"\/>\r\n          <circle class=\"led\" cx=\"270\" cy=\"94\" r=\"3\"\/><circle class=\"led\" cx=\"270\" cy=\"128\" r=\"3\"\/><circle class=\"led\" cx=\"270\" cy=\"162\" r=\"3\"\/><circle class=\"led\" cx=\"270\" cy=\"196\" r=\"3\"\/>\r\n        <\/g>\r\n        <g class=\"rk r3\">\r\n          <rect class=\"rack\" x=\"710\" y=\"70\" width=\"90\" height=\"150\"\/>\r\n          <rect class=\"unit k1\" x=\"720\" y=\"82\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k2\" x=\"720\" y=\"116\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k3\" x=\"720\" y=\"150\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k4\" x=\"720\" y=\"184\" width=\"70\" height=\"24\"\/>\r\n          <circle class=\"led\" cx=\"730\" cy=\"94\" r=\"3\"\/><circle class=\"led\" cx=\"730\" cy=\"128\" r=\"3\"\/><circle class=\"led\" cx=\"730\" cy=\"162\" r=\"3\"\/><circle class=\"led\" cx=\"730\" cy=\"196\" r=\"3\"\/>\r\n        <\/g>\r\n        <g class=\"rk r4\">\r\n          <rect class=\"rack\" x=\"840\" y=\"70\" width=\"90\" height=\"150\"\/>\r\n          <rect class=\"unit k1\" x=\"850\" y=\"82\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k2\" x=\"850\" y=\"116\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k3\" x=\"850\" y=\"150\" width=\"70\" height=\"24\"\/>\r\n          <rect class=\"unit k4\" x=\"850\" y=\"184\" width=\"70\" height=\"24\"\/>\r\n          <circle class=\"led\" cx=\"860\" cy=\"94\" r=\"3\"\/><circle class=\"led\" cx=\"860\" cy=\"128\" r=\"3\"\/><circle class=\"led\" cx=\"860\" cy=\"162\" r=\"3\"\/><circle class=\"led\" cx=\"860\" cy=\"196\" r=\"3\"\/>\r\n        <\/g>\r\n\r\n        <polygon class=\"hubring\" points=\"552,150 526,195 474,195 448,150 474,105 526,105\"\/>\r\n        <polygon class=\"hub\" points=\"552,150 526,195 474,195 448,150 474,105 526,105\"\/>\r\n        <text class=\"hubtxt\" x=\"500\" y=\"161\">DC<\/text>\r\n\r\n        <g class=\"ch1\"><circle class=\"chan\" cx=\"450\" cy=\"272\" r=\"11\"\/><circle class=\"chandot\" cx=\"450\" cy=\"272\" r=\"4\"\/><\/g>\r\n        <g class=\"ch2\"><circle class=\"chan\" cx=\"500\" cy=\"272\" r=\"11\"\/><circle class=\"chandot\" cx=\"500\" cy=\"272\" r=\"4\"\/><\/g>\r\n        <g class=\"ch3\"><circle class=\"chan\" cx=\"550\" cy=\"272\" r=\"11\"\/><circle class=\"chandot\" cx=\"550\" cy=\"272\" r=\"4\"\/><\/g>\r\n\r\n        <g class=\"xm\">\r\n          <circle cx=\"345\" cy=\"150\" r=\"13\"\/>\r\n          <path d=\"M339 144 L351 156 M351 144 L339 156\"\/>\r\n          <circle cx=\"380\" cy=\"210\" r=\"13\"\/>\r\n          <path d=\"M374 204 L386 216 M386 204 L374 216\"\/>\r\n        <\/g>\r\n\r\n        <g transform=\"translate(-385 -25)\">\r\n          <g class=\"shield\">\r\n            <path d=\"M500 132 L532 145 V173 C532 192 516 203 500 209 C484 203 468 192 468 173 V145 Z\"\/>\r\n            <rect x=\"489\" y=\"168\" width=\"22\" height=\"18\"\/>\r\n            <path class=\"lockarc\" d=\"M493 168 V162 A7 7 0 0 1 507 162 V168\"\/>\r\n          <\/g>\r\n        <\/g>\r\n\r\n        <g class=\"scan\">\r\n          <g class=\"scanmove\">\r\n            <rect x=\"-70\" y=\"30\" width=\"70\" height=\"235\" fill=\"url(#lgdc-scan-grad)\"\/>\r\n            <rect class=\"scanline\" x=\"0\" y=\"30\" width=\"3\" height=\"235\"\/>\r\n          <\/g>\r\n        <\/g>\r\n      <\/svg>\r\n      <p class=\"lgdc-caption\" aria-live=\"polite\"><\/p>\r\n    <\/div>\r\n\r\n    <ul class=\"lgdc-grid\">\r\n      <li class=\"lgdc-card\" tabindex=\"0\" data-scene=\"tenant\" data-caption=\"Uma s\u00f3 \u00e1rvore para todos os clusters, cada tenant isolado na sua pr\u00f3pria vista\">\r\n        <div class=\"lgdc-face\">\r\n        <h3>Multi-cluster, multi-tenant<\/h3>\r\n        <p>Opere todos os clusters Proxmox VE a partir de uma \u00fanica \u00e1rvore. Agrupe-os por cliente para que a vista de cada tenant seja estritamente sua, com permiss\u00f5es em cascata desde o administrador at\u00e9 ao utilizador s\u00f3 de leitura. De um cluster a cinquenta, das TI internas ao alojamento para v\u00e1rios clientes: a estrutura cresce consigo.<\/p>\r\n        <\/div>\r\n      <\/li>\r\n      <li class=\"lgdc-card\" tabindex=\"0\" data-scene=\"ransom\" data-caption=\"VM comprometida isolada, sa\u00edda Tor e IPs maliciosos bloqueados\">\r\n        <div class=\"lgdc-face\">\r\n        <h3>Anti-ransomware<\/h3>\r\n        <p>Tr\u00eas camadas de defesa em paralelo: prote\u00e7\u00e3o canary por VM com isolamento autom\u00e1tico e snapshots forenses, bloqueio da sa\u00edda Tor em todo o cluster e bloqueio de amea\u00e7as em todo o cluster com base na lista de reputa\u00e7\u00e3o FireHOL Level 1. A dete\u00e7\u00e3o \u00e9 autom\u00e1tica e a resposta faz-se com um clique.<\/p>\r\n        <\/div>\r\n      <\/li>\r\n      <li class=\"lgdc-card\" tabindex=\"0\" data-scene=\"trouble\" data-caption=\"Testes full-mesh de lat\u00eancia e largura de banda entre n\u00f3s\">\r\n        <div class=\"lgdc-face\">\r\n        <h3>Resolu\u00e7\u00e3o de problemas<\/h3>\r\n        <p>Execute benchmarks de n\u00f3s, testes de lat\u00eancia e de largura de banda, testes de rede full-mesh, verifica\u00e7\u00f5es de sa\u00fade e limpeza do Ceph, tudo a partir da mesma consola. Cada execu\u00e7\u00e3o fica registada com exporta\u00e7\u00e3o para PDF. Diagnostique problemas em minutos em vez de saltar entre sess\u00f5es SSH no cluster.<\/p>\r\n        <\/div>\r\n      <\/li>\r\n      <li class=\"lgdc-card\" tabindex=\"0\" data-scene=\"scan\" data-caption=\"An\u00e1lise de CVE a todos os convidados em todos os clusters\">\r\n        <div class=\"lgdc-face\">\r\n        <h3>Scanner de vulnerabilidades<\/h3>\r\n        <p>An\u00e1lise de CVE a pedido ou agendada em todos os convidados. Classifica\u00e7\u00e3o de gravidade, compara\u00e7\u00e3o hist\u00f3rica e exporta\u00e7\u00e3o para Excel, CSV e PDF, pronta para relat\u00f3rios de conformidade ou para entregar ao auditor.<\/p>\r\n        <\/div>\r\n      <\/li>\r\n      <li class=\"lgdc-card\" tabindex=\"0\" data-scene=\"topology\" data-caption=\"Mapa em tempo real de clusters, n\u00f3s, convidados, armazenamento e redes\">\r\n        <div class=\"lgdc-face\">\r\n        <h3>Topologia em tempo real<\/h3>\r\n        <p>Diagrama da infraestrutura em tempo real com clusters, n\u00f3s, convidados, armazenamento e redes. Vistas em \u00e1rvore e em rack, com exporta\u00e7\u00e3o para SVG e draw.io.<\/p>\r\n        <\/div>\r\n      <\/li>\r\n      <li class=\"lgdc-card\" tabindex=\"0\" data-scene=\"alerts\" data-caption=\"Um alerta enviado para e-mail, Slack, Teams e todos os outros canais\">\r\n        <div class=\"lgdc-face\">\r\n        <h3>Incident desk + alertas<\/h3>\r\n        <p>Sistema de tickets integrado com cronologia, base de conhecimento e sincroniza\u00e7\u00e3o bidirecional com o Zoho Desk. Motor de alertas que envia para e-mail, Slack, Microsoft Teams, Discord, ntfy, Gotify e webhooks gen\u00e9ricos: cada alerta chega a todos os canais que importam.<\/p>\r\n        <\/div>\r\n      <\/li>\r\n    <\/ul>\r\n  <\/div>\r\n\r\n  <script nowprocket>\r\n    (function () {\r\n      var s = document.currentScript;\r\n      var root = s && s.closest ? s.closest('.lgdc-about') : null;\r\n      if (!root) {\r\n        var all = document.querySelectorAll('.lgdc-about');\r\n        for (var n = 0; n < all.length; n++) { if (!all[n].__lgdcInit) { root = all[n]; break; } }\r\n      }\r\n      if (!root || root.__lgdcInit) return;\r\n      root.__lgdcInit = true;\r\n\r\n      var cards = Array.prototype.slice.call(root.querySelectorAll('.lgdc-card'));\r\n      var caption = root.querySelector('.lgdc-caption');\r\n      var reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n      var current = 0, timer = null, resume = null, visible = false;\r\n\r\n      function show(i) {\r\n        current = i;\r\n        root.setAttribute('data-scene', cards[i].getAttribute('data-scene'));\r\n        caption.textContent = cards[i].getAttribute('data-caption');\r\n        cards.forEach(function (c, k) {\r\n          c.classList.toggle('is-active', k === i);\r\n          if (k === i) { c.setAttribute('aria-current', 'true'); } else { c.removeAttribute('aria-current'); }\r\n        });\r\n      }\r\n      function stop() { clearInterval(timer); timer = null; clearTimeout(resume); }\r\n      function start() {\r\n        if (reduce || timer || !visible) return;\r\n        timer = setInterval(function () { show((current + 1) % cards.length); }, 4500);\r\n      }\r\n      function pauseThenResume(ms) { stop(); resume = setTimeout(start, ms); }\r\n\r\n      show(0);\r\n\r\n      var fine = window.matchMedia('(hover: hover) and (pointer: fine)').matches;\r\n      if (fine && !reduce) {\r\n        var raf = null;\r\n        root.addEventListener('pointermove', function (e) {\r\n          if (raf) return;\r\n          raf = requestAnimationFrame(function () {\r\n            raf = null;\r\n            var r = root.getBoundingClientRect();\r\n            root.style.setProperty('--mx', (((e.clientX - r.left) \/ r.width) * 2 - 1).toFixed(3));\r\n            root.style.setProperty('--my', (((e.clientY - r.top) \/ r.height) * 2 - 1).toFixed(3));\r\n          });\r\n        });\r\n        root.addEventListener('pointerleave', function () {\r\n          root.style.setProperty('--mx', 0);\r\n          root.style.setProperty('--my', 0);\r\n        });\r\n        cards.forEach(function (c) {\r\n          var face = c.querySelector('.lgdc-face');\r\n          c.addEventListener('pointermove', function (e) {\r\n            var r = face.getBoundingClientRect();\r\n            var x = (e.clientX - r.left) \/ r.width, y = (e.clientY - r.top) \/ r.height;\r\n            face.style.setProperty('--ry', ((x - 0.5) * 14).toFixed(2) + 'deg');\r\n            face.style.setProperty('--rx', ((0.5 - y) * 14).toFixed(2) + 'deg');\r\n            face.style.setProperty('--gx', (x * 100).toFixed(1) + '%');\r\n            face.style.setProperty('--gy', (y * 100).toFixed(1) + '%');\r\n            c.classList.add('is-tilting');\r\n          });\r\n          c.addEventListener('pointerleave', function () {\r\n            face.style.setProperty('--rx', '0deg');\r\n            face.style.setProperty('--ry', '0deg');\r\n            c.classList.remove('is-tilting');\r\n          });\r\n        });\r\n      }\r\n\r\n      cards.forEach(function (c, i) {\r\n        c.addEventListener('mouseenter', function () { stop(); show(i); });\r\n        c.addEventListener('mouseleave', function () { pauseThenResume(2500); });\r\n        c.addEventListener('focus', function () { stop(); show(i); });\r\n        c.addEventListener('blur', function () { pauseThenResume(2500); });\r\n        c.addEventListener('click', function () { show(i); pauseThenResume(9000); });\r\n      });\r\n\r\n      if ('IntersectionObserver' in window) {\r\n        new IntersectionObserver(function (entries) {\r\n          visible = entries[0].isIntersecting;\r\n          if (visible) { start(); } else { stop(); }\r\n        }, { threshold: 0 }).observe(root);\r\n      } else { visible = true; start(); }\r\n\r\n      if (!('IntersectionObserver' in window) || reduce) return;\r\n\r\n      var vh = window.innerHeight;\r\n      cards.forEach(function (c) { if (c.getBoundingClientRect().top < vh) c.classList.add('is-visible'); });\r\n      root.classList.add('lgdc-anim');\r\n\r\n      var io = new IntersectionObserver(function (entries) {\r\n        entries.forEach(function (e) {\r\n          if (e.isIntersecting) {\r\n            var i = cards.indexOf(e.target) % 3;\r\n            e.target.style.transitionDelay = (i * 80) + 'ms';\r\n            e.target.classList.add('is-visible');\r\n            (function (t) { setTimeout(function () { t.style.transitionDelay = ''; }, 800); })(e.target);\r\n            io.unobserve(e.target);\r\n          }\r\n        });\r\n      }, { threshold: 0.15 });\r\n      cards.forEach(function (c) { if (!c.classList.contains('is-visible')) io.observe(c); });\r\n    })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0478d09 e-flex e-con-boxed e-con e-parent\" data-id=\"0478d09\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8341d0f elementor-widget elementor-widget-html\" data-id=\"8341d0f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n    .lg-cta-section {\r\n        border-radius: 20px;\r\n        padding: 60px;\r\n        text-align: center;\r\n        position: relative;\r\n        overflow: hidden;\r\n        border: 1px solid var(--e-global-color-primary);\r\n        background: linear-gradient(135deg, var(--e-global-color-ffb3e68) 0%, var(--e-global-color-c502742) 100%);\r\n    }\r\n\r\n    .lg-cta-section::before {\r\n        content: '';\r\n        position: absolute;\r\n        top: -50%;\r\n        left: -50%;\r\n        width: 200%;\r\n        height: 200%;\r\n        background: radial-gradient(circle, rgba(20, 194, 163, 0.1) 0%, transparent 70%);\r\n        animation: lg-rotate 20s linear infinite;\r\n    }\r\n\r\n    @keyframes lg-rotate {\r\n        from { transform: rotate(0deg); }\r\n        to { transform: rotate(360deg); }\r\n    }\r\n\r\n    .lg-cta-section h2 {\r\n        text-transform: uppercase;\r\n        color: var(--e-global-color-accent);\r\n        margin-bottom: 20px;\r\n        position: relative;\r\n        z-index: 1;\r\n    }\r\n\r\n    .lg-cta-section p {\r\n        text-transform: uppercase;\r\n        color: var(--e-global-color-text);\r\n        margin-bottom: 40px;\r\n        position: relative;\r\n        z-index: 1;\r\n    }\r\n\r\n    .lg-btn {\r\n        padding: 20px 50px;\r\n        text-transform: uppercase;\r\n        border: none;\r\n        cursor: pointer;\r\n        transition: all 0.3s ease;\r\n        text-decoration: none;\r\n        display: inline-block;\r\n        border-radius: 10px;\r\n        position: relative;\r\n        z-index: 1;\r\n        background: linear-gradient(135deg, var(--e-global-color-primary) 0%, #0fa589 100%);\r\n        color: var(--e-global-color-secondary);\r\n        box-shadow: 0 10px 30px rgba(20, 194, 163, 0.5);\r\n    }\r\n\r\n    .lg-btn:hover {\r\n        transform: translateY(-5px);\r\n        box-shadow: 0 15px 40px rgba(20, 194, 163, 0.7);\r\n    }\r\n\r\n    @media (max-width: 768px) {\r\n        .lg-cta-section {\r\n            padding: 40px 30px;\r\n        }\r\n\r\n        .lg-btn {\r\n            display: block;\r\n            margin: 10px 0;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<div class=\"lg-cta-section\">\r\n    <h2>Pronto para centralizar a sua infraestrutura Proxmox?<\/h2>\r\n    <p>\r\n        Junte-se \u00e0s empresas e prestadores de servi\u00e7os que j\u00e1 utilizam o LoboGuard-DC<br>\r\n        para simplificar a gest\u00e3o multi-cluster, melhorar a visibilidade e fazer crescer os seus ambientes Proxmox com total confian\u00e7a.\r\n    <\/p>\r\n    <a href=\"https:\/\/loboguard.com\/pt-pt\/contacto\/\" class=\"lg-btn\">Contacte-nos agora<\/a>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-694779d e-con-full e-flex e-con e-parent\" data-id=\"694779d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6667094 elementor-widget elementor-widget-html\" data-id=\"6667094\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section class=\"lgdc-setup\" aria-labelledby=\"lgdc-setup-title\">\r\n  <style>\r\n    .lgdc-setup {\r\n      --lgdc-heading: var(--e-global-color-primary, #14C2A3);\r\n      --lgdc-text: var(--e-global-color-text, #B9B9BF);\r\n      --lgdc-accent: var(--e-global-color-primary, #14C2A3);\r\n      --lgdc-bg: var(--e-global-color-ad9a0db, #141A31);\r\n      --lgdc-card-bg: var(--e-global-color-secondary, #0C1226);\r\n      --lgdc-card-border: var(--e-global-color-34cc923, #FFFFFF33);\r\n      --lgdc-font-heading: var(--e-global-typography-primary-font-family, \"Chakra Petch\"), sans-serif;\r\n      --lgdc-font-text: var(--e-global-typography-text-font-family, \"IBM Plex Mono\"), monospace;\r\n\r\n      --lgdc-dim: var(--e-global-color-34cc923, #FFFFFF33);\r\n      --cut: clamp(24px, 5vw, 56px);\r\n      --lgdc-hex: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);\r\n      --lgdc-shape: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, var(--cut) 100%, 0 calc(100% - var(--cut)));\r\n\r\n      position: relative;\r\n      clip-path: var(--lgdc-shape);\r\n      overflow: clip;\r\n      isolation: isolate;\r\n      box-sizing: border-box;\r\n      width: 100%;\r\n      padding: clamp(2rem, 6vw, 5rem) clamp(1rem, 4vw, 2rem);\r\n      background: var(--lgdc-bg);\r\n      font-family: var(--lgdc-font-text);\r\n      color: var(--lgdc-text);\r\n    }\r\n    .lgdc-setup *, .lgdc-setup *::before, .lgdc-setup *::after { box-sizing: border-box; }\r\n\r\n    .lgdc-setup::before {\r\n      content: \"\";\r\n      position: absolute; inset: 0; z-index: 0;\r\n      background: linear-gradient(225deg, var(--lgdc-accent), var(--lgdc-dim) 22%, var(--lgdc-dim) 78%, var(--lgdc-accent));\r\n      clip-path: var(--lgdc-shape);\r\n    }\r\n    .lgdc-setup .lgdc-bg {\r\n      position: absolute; inset: 1px; z-index: 0;\r\n      overflow: hidden; pointer-events: none;\r\n      background: var(--lgdc-bg);\r\n      clip-path: polygon(0 0, calc(100% - var(--cut) + .5px) 0, 100% calc(var(--cut) - .5px), 100% 100%, calc(var(--cut) - .5px) 100%, 0 calc(100% - var(--cut) + .5px));\r\n    }\r\n    .lgdc-setup .lgdc-glow {\r\n      position: absolute; inset: 0;\r\n      background:\r\n        radial-gradient(50% 40% at 100% 0%, color-mix(in srgb, var(--lgdc-accent) 18%, transparent), transparent 70%),\r\n        radial-gradient(50% 40% at 0% 100%, color-mix(in srgb, var(--lgdc-accent) 18%, transparent), transparent 70%),\r\n        radial-gradient(40% 30% at 50% 50%, color-mix(in srgb, var(--lgdc-accent) 8%, transparent), transparent 70%);\r\n    }\r\n    .lgdc-setup .lgdc-honey {\r\n      position: absolute; left: 0; right: 0; top: -100px;\r\n      height: calc(100% + 200px);\r\n      color: var(--lgdc-accent);\r\n      opacity: .16;\r\n      -webkit-mask-image: linear-gradient(90deg, #000 0%, transparent 30%, transparent 70%, #000 100%);\r\n      mask-image: linear-gradient(90deg, #000 0%, transparent 30%, transparent 70%, #000 100%);\r\n    }\r\n    .lgdc-setup .lgdc-honey svg { display: block; width: 100%; height: 100%; animation: lgdc-drift 16s linear infinite; }\r\n    .lgdc-setup .lgdc-rain { position: absolute; inset: 0; }\r\n    .lgdc-setup .lgdc-rain i {\r\n      position: absolute; top: 0; bottom: 0;\r\n      width: 1px;\r\n      background: linear-gradient(to bottom, transparent, color-mix(in srgb, var(--lgdc-accent) 14%, transparent) 20%, color-mix(in srgb, var(--lgdc-accent) 14%, transparent) 80%, transparent);\r\n      overflow: hidden;\r\n    }\r\n    .lgdc-setup .lgdc-rain b {\r\n      position: absolute; left: -1px; top: 0;\r\n      width: 3px; height: 22%;\r\n      background: linear-gradient(to bottom, transparent, var(--lgdc-accent));\r\n      box-shadow: 0 0 8px var(--lgdc-accent);\r\n      transform: translate3d(0, -100%, 0);\r\n      animation: lgdc-rain var(--d, 7s) linear var(--o, 0s) infinite;\r\n    }\r\n    .lgdc-setup .lgdc-vignette {\r\n      position: absolute; inset: 0;\r\n      background: radial-gradient(ellipse at 50% 50%, transparent 45%, rgba(0, 0, 0, .4) 100%);\r\n    }\r\n    .lgdc-setup .lgdc-frame { position: absolute; inset: 0; }\r\n    .lgdc-setup .lgdc-frame i {\r\n      position: absolute;\r\n      width: 12px; height: 14px;\r\n      clip-path: var(--lgdc-hex);\r\n      background: var(--lgdc-accent);\r\n      animation: lgdc-port 2.6s ease-in-out infinite alternate;\r\n    }\r\n    .lgdc-setup .lgdc-frame .c1 { left: 14px; top: 14px; }\r\n    .lgdc-setup .lgdc-frame .c2 { right: calc(var(--cut) \/ 2 - 6px); top: calc(var(--cut) \/ 2 - 7px); animation-delay: -.6s; }\r\n    .lgdc-setup .lgdc-frame .c3 { left: calc(var(--cut) \/ 2 - 6px); bottom: calc(var(--cut) \/ 2 - 7px); animation-delay: -1.2s; }\r\n    .lgdc-setup .lgdc-frame .c4 { right: 14px; bottom: 14px; animation-delay: -1.8s; }\r\n    @keyframes lgdc-drift { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(0, 100px, 0); } }\r\n    @keyframes lgdc-rain { to { transform: translate3d(0, 560%, 0); } }\r\n    @keyframes lgdc-port { from { opacity: .35; } to { opacity: 1; } }\r\n\r\n    .lgdc-setup .lgdc-inner { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; }\r\n    .lgdc-setup .lgdc-head { max-width: 70ch; margin: 0 auto clamp(2rem, 5vw, 3.5rem); text-align: center; }\r\n    .lgdc-setup .lgdc-title {\r\n      margin: 0 0 1rem;\r\n      font-family: var(--lgdc-font-heading);\r\n      font-size: clamp(1.9rem, 4.5vw, 3rem);\r\n      font-weight: 700;\r\n      text-transform: uppercase;\r\n      line-height: 1.15;\r\n      color: var(--lgdc-heading);\r\n    }\r\n    .lgdc-setup .lgdc-intro { font-family: var(--lgdc-font-text); margin: 0; font-size: clamp(1rem, 2vw, 1.125rem); font-weight: 400; line-height: 1.6; color: var(--lgdc-text); }\r\n\r\n    .lgdc-setup .lgdc-steps {\r\n      display: flex;\r\n      flex-direction: column;\r\n      gap: clamp(1rem, 2.5vw, 1.75rem);\r\n      margin: 0;\r\n      padding: 0;\r\n      list-style: none;\r\n    }\r\n    .lgdc-setup .lgdc-step { display: flex; align-items: center; position: relative; }\r\n\r\n    .lgdc-setup .lgdc-card { flex: 1 1 auto; min-width: 0; display: flex; perspective: 900px; }\r\n    .lgdc-setup .lgdc-face {\r\n      position: relative;\r\n      flex: 1 1 auto;\r\n      min-width: 0;\r\n      padding: clamp(1.1rem, 2.5vw, 1.75rem);\r\n      background: var(--lgdc-card-bg);\r\n      border: 1px solid var(--lgdc-card-border);\r\n      transform-style: preserve-3d;\r\n      transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));\r\n      transition: transform .2s ease-out, border-color .5s ease, box-shadow .5s ease;\r\n    }\r\n    .lgdc-setup .lgdc-face::after {\r\n      content: \"\";\r\n      position: absolute; inset: 0;\r\n      background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgba(255, 255, 255, .12), transparent 55%);\r\n      opacity: 0;\r\n      transition: opacity .3s ease;\r\n      pointer-events: none;\r\n    }\r\n    .lgdc-setup .lgdc-card.is-tilting .lgdc-face::after { opacity: 1; }\r\n    .lgdc-setup .lgdc-step.is-lit .lgdc-face {\r\n      border-color: var(--lgdc-accent);\r\n      box-shadow: 0 0 0 1px var(--lgdc-accent), 0 18px 40px -14px color-mix(in srgb, var(--lgdc-accent) 55%, transparent);\r\n    }\r\n    .lgdc-setup .lgdc-top {\r\n      display: flex; align-items: center; gap: .85rem;\r\n      margin: 0 0 .7rem;\r\n      transform: translateZ(28px);\r\n    }\r\n    .lgdc-setup .lgdc-num {\r\n      position: relative;\r\n      flex: 0 0 auto;\r\n      display: grid; place-items: center;\r\n      width: 2.6rem; height: 3rem;\r\n      clip-path: var(--lgdc-hex);\r\n      background: var(--c);\r\n      font-family: var(--lgdc-font-heading);\r\n      font-size: .95rem;\r\n      font-weight: 700;\r\n      color: var(--lgdc-heading);\r\n      transition: background .5s ease, color .5s ease;\r\n    }\r\n    .lgdc-setup .lgdc-num::before {\r\n      content: \"\";\r\n      position: absolute; inset: 2px;\r\n      clip-path: var(--lgdc-hex);\r\n      background: var(--lgdc-card-bg);\r\n      transition: opacity .5s ease;\r\n    }\r\n    .lgdc-setup .lgdc-num span { position: relative; }\r\n    .lgdc-setup .lgdc-step.is-lit .lgdc-num { color: var(--lgdc-card-bg); }\r\n    .lgdc-setup .lgdc-step.is-lit .lgdc-num::before { opacity: 0; }\r\n    .lgdc-setup .lgdc-card h3 {\r\n      margin: 0;\r\n      font-family: var(--lgdc-font-heading);\r\n      font-size: clamp(1.05rem, 2.2vw, 1.4rem);\r\n      font-weight: 700;\r\n      text-transform: uppercase;\r\n      line-height: 1.25;\r\n      color: var(--lgdc-heading);\r\n    }\r\n    .lgdc-setup .lgdc-card p { transform: translateZ(12px); margin: 0; font-family: var(--lgdc-font-text); font-weight: 400; text-transform: none; line-height: 1.6; color: var(--lgdc-text); overflow-wrap: anywhere; }\r\n\r\n    .lgdc-setup .lgdc-line { display: none; }\r\n\r\n    .lgdc-setup .lgdc-step {\r\n      --c: var(--lgdc-dim);\r\n      --glow: none;\r\n      --dash-v: repeating-linear-gradient(to bottom, var(--lgdc-dim) 0 8px, transparent 8px 14px);\r\n      --dash-h: repeating-linear-gradient(to right, var(--lgdc-dim) 0 8px, transparent 8px 14px);\r\n    }\r\n    .lgdc-setup .lgdc-step.is-lit, .lgdc-setup .lgdc-step:hover {\r\n      --c: var(--lgdc-accent);\r\n      --dash-v: var(--lgdc-accent);\r\n      --dash-h: var(--lgdc-accent);\r\n    }\r\n    .lgdc-setup .lgdc-step.is-lit { --glow: 0 0 10px var(--lgdc-accent); }\r\n    .lgdc-setup.is-complete .lgdc-step { --glow: 0 0 16px var(--lgdc-accent); }\r\n\r\n    @media (min-width: 900px) {\r\n      .lgdc-setup {\r\n        --lgdc-trace: 2px;\r\n        --lgdc-branch: clamp(3rem, 7vw, 6rem);\r\n        --lgdc-pad: 16px;\r\n        --lgdc-gap: clamp(1.5rem, 3vw, 2.5rem);\r\n        --lgdc-top: 1.5rem;\r\n      }\r\n      .lgdc-setup .lgdc-steps { gap: var(--lgdc-gap); padding: var(--lgdc-top) 0 0; }\r\n\r\n      .lgdc-setup .lgdc-step { width: 50%; }\r\n      .lgdc-setup .lgdc-step:nth-child(even) { margin-left: auto; flex-direction: row-reverse; }\r\n\r\n      .lgdc-setup .lgdc-step:nth-child(-n+5)::after {\r\n        content: \"\";\r\n        position: absolute;\r\n        top: calc(var(--lgdc-gap) * -1);\r\n        bottom: calc(var(--lgdc-gap) * -1);\r\n        width: var(--lgdc-trace);\r\n        background: var(--dash-v);\r\n        box-shadow: var(--glow);\r\n        transform: translateX(-50%);\r\n        transition: box-shadow .5s ease;\r\n      }\r\n      .lgdc-setup .lgdc-step:nth-child(1)::after { top: calc(var(--lgdc-top) * -1); }\r\n      .lgdc-setup .lgdc-step:nth-child(odd)::after  { left: 100%; }\r\n      .lgdc-setup .lgdc-step:nth-child(even)::after { left: 0; }\r\n\r\n      .lgdc-setup .lgdc-step:first-child::before {\r\n        content: \"\";\r\n        position: absolute;\r\n        left: 100%;\r\n        top: calc(var(--lgdc-top) * -1);\r\n        width: 18px; height: 20px;\r\n        transform: translate(-50%, -50%);\r\n        clip-path: var(--lgdc-hex);\r\n        background: var(--c);\r\n        transition: background .5s ease;\r\n      }\r\n\r\n      .lgdc-setup .lgdc-line {\r\n        display: block;\r\n        position: relative;\r\n        flex: 0 0 var(--lgdc-branch);\r\n        height: var(--lgdc-trace);\r\n        background: var(--dash-h);\r\n        box-shadow: var(--glow);\r\n        transition: box-shadow .5s ease;\r\n      }\r\n      .lgdc-setup .lgdc-line::after {\r\n        content: \"\";\r\n        position: absolute;\r\n        top: 50%;\r\n        width: var(--lgdc-pad); height: calc(var(--lgdc-pad) * 1.1547);\r\n        clip-path: var(--lgdc-hex);\r\n        background: var(--c);\r\n        transition: background .5s ease;\r\n      }\r\n      .lgdc-setup .lgdc-step:nth-child(odd)  .lgdc-line::after { right: 0; transform: translate(50%, -50%); }\r\n      .lgdc-setup .lgdc-step:nth-child(even) .lgdc-line::after { left: 0;  transform: translate(-50%, -50%); }\r\n\r\n      .lgdc-setup .lgdc-line::before {\r\n        content: \"\";\r\n        position: absolute;\r\n        top: 50%;\r\n        width: 9px; height: 9px;\r\n        border: var(--lgdc-trace) solid var(--c);\r\n        background: var(--lgdc-bg);\r\n        transform: translateY(-50%) rotate(45deg);\r\n        transition: border-color .5s ease;\r\n      }\r\n      .lgdc-setup .lgdc-step:nth-child(odd)  .lgdc-line::before { left: -5px; }\r\n      .lgdc-setup .lgdc-step:nth-child(even) .lgdc-line::before { right: -5px; }\r\n\r\n      .lgdc-setup .lgdc-step:nth-child(6) {\r\n        width: min(100%, 40rem);\r\n        margin: 0 auto;\r\n        flex-direction: column-reverse;\r\n        align-items: center;\r\n      }\r\n      .lgdc-setup .lgdc-step:nth-child(6) .lgdc-card { width: 100%; }\r\n      .lgdc-setup .lgdc-step:nth-child(6) .lgdc-top { justify-content: center; }\r\n      .lgdc-setup .lgdc-step:nth-child(6) p { text-align: center; }\r\n      .lgdc-setup .lgdc-step:nth-child(6) .lgdc-line {\r\n        flex: 0 0 var(--lgdc-branch);\r\n        width: var(--lgdc-trace);\r\n        height: auto;\r\n        background: var(--dash-v);\r\n      }\r\n      .lgdc-setup .lgdc-step:nth-child(6) .lgdc-line::after {\r\n        top: 0; left: 50%; right: auto;\r\n        transform: translate(-50%, -50%);\r\n      }\r\n      .lgdc-setup .lgdc-step:nth-child(6) .lgdc-line::before {\r\n        top: auto; bottom: -5px; left: 50%; right: auto;\r\n        transform: translateX(-50%) rotate(45deg);\r\n      }\r\n    }\r\n\r\n    .lgdc-setup .lgdc-status {\r\n      margin: clamp(1.5rem, 4vw, 2.5rem) 0 0;\r\n      text-align: center;\r\n      font-family: var(--lgdc-font-text);\r\n      font-size: clamp(.8rem, 1.6vw, .95rem);\r\n      line-height: 1.6;\r\n      color: var(--lgdc-text);\r\n      opacity: 0;\r\n      transform: translateY(8px);\r\n      transition: opacity .6s ease, transform .6s ease;\r\n    }\r\n    .lgdc-setup .lgdc-status::before {\r\n      content: \"\";\r\n      display: inline-block;\r\n      width: .6em; height: .7em;\r\n      margin-right: .6em;\r\n      clip-path: var(--lgdc-hex);\r\n      background: var(--lgdc-accent);\r\n    }\r\n    .lgdc-setup.is-complete .lgdc-status { opacity: 1; transform: none; }\r\n\r\n    .lgdc-setup .lgdc-sheet { display: none; position: absolute; inset: 0; z-index: 5; overflow: hidden; }\r\n    .lgdc-setup.lgdc-cover .lgdc-sheet { display: block; }\r\n    .lgdc-setup .lgdc-base { position: absolute; inset: 0; background: var(--lgdc-card-bg); }\r\n    .lgdc-setup .lgdc-tiles { position: absolute; inset: 0; }\r\n    .lgdc-setup .lgdc-tile {\r\n      position: absolute;\r\n      clip-path: var(--lgdc-hex);\r\n      background: color-mix(in srgb, var(--lgdc-accent) 22%, var(--lgdc-card-bg));\r\n      backface-visibility: hidden;\r\n    }\r\n    .lgdc-setup .lgdc-tile::after {\r\n      content: \"\";\r\n      position: absolute; inset: 1.5px;\r\n      clip-path: var(--lgdc-hex);\r\n      background: linear-gradient(160deg, color-mix(in srgb, var(--lgdc-card-bg) 86%, var(--lgdc-accent)), var(--lgdc-card-bg) 70%);\r\n    }\r\n    .lgdc-setup .lgdc-tile:nth-child(7n+3)::after { background: linear-gradient(160deg, color-mix(in srgb, var(--lgdc-card-bg) 74%, var(--lgdc-accent)), var(--lgdc-card-bg) 80%); }\r\n    .lgdc-setup .lgdc-scan {\r\n      position: absolute;\r\n      left: 50%; top: var(--cy, 50%);\r\n      width: 160vmax; height: 160vmax;\r\n      margin: -80vmax 0 0 -80vmax;\r\n      border-radius: 50%;\r\n      background: conic-gradient(from 0deg, transparent 0deg 280deg, color-mix(in srgb, var(--lgdc-accent) 8%, transparent) 300deg, color-mix(in srgb, var(--lgdc-accent) 32%, transparent) 359deg, transparent 360deg);\r\n      opacity: 0;\r\n      pointer-events: none;\r\n    }\r\n    .lgdc-setup .lgdc-boot {\r\n      position: absolute;\r\n      left: 50%; top: var(--cy, 50%);\r\n      width: min(90%, 30rem);\r\n      transform: translate(-50%, -50%);\r\n      display: grid; justify-items: center; gap: .7rem;\r\n      padding: 1.4rem 1.2rem;\r\n      text-align: center;\r\n      background: color-mix(in srgb, var(--lgdc-card-bg) 85%, transparent);\r\n      border: 1px solid color-mix(in srgb, var(--lgdc-accent) 45%, transparent);\r\n      box-shadow: 0 0 40px -10px color-mix(in srgb, var(--lgdc-accent) 60%, transparent);\r\n    }\r\n    .lgdc-setup .lgdc-boot-title {\r\n      font-family: var(--lgdc-font-heading);\r\n      font-size: clamp(1.4rem, 5vw, 2.4rem);\r\n      font-weight: 700;\r\n      letter-spacing: .12em;\r\n      text-transform: uppercase;\r\n      color: var(--lgdc-heading);\r\n    }\r\n    .lgdc-setup .lgdc-boot-sub {\r\n      font-family: var(--lgdc-font-text);\r\n      font-size: .8rem;\r\n      letter-spacing: .2em;\r\n      text-transform: uppercase;\r\n      color: var(--lgdc-text);\r\n    }\r\n    .lgdc-setup .lgdc-boot-sub::after { content: \"_\"; animation: lgdc-caret .8s steps(1) infinite; }\r\n    .lgdc-setup .lgdc-bar {\r\n      position: relative;\r\n      width: 100%; height: 6px;\r\n      overflow: hidden;\r\n      background: color-mix(in srgb, var(--lgdc-accent) 15%, transparent);\r\n    }\r\n    .lgdc-setup .lgdc-bar i {\r\n      position: absolute; inset: 0;\r\n      background: repeating-linear-gradient(90deg, var(--lgdc-accent) 0 10px, color-mix(in srgb, var(--lgdc-accent) 60%, transparent) 10px 14px);\r\n      box-shadow: 0 0 10px var(--lgdc-accent);\r\n      transform-origin: 0 50%;\r\n      transform: scaleX(.04);\r\n    }\r\n    .lgdc-setup .lgdc-wave {\r\n      position: absolute;\r\n      left: 50%; top: var(--cy, 50%);\r\n      width: 40px; height: 40px;\r\n      margin: -20px 0 0 -20px;\r\n      border: 3px solid var(--lgdc-accent);\r\n      border-radius: 50%;\r\n      box-shadow: 0 0 24px var(--lgdc-accent), inset 0 0 24px var(--lgdc-accent);\r\n      opacity: 0;\r\n      pointer-events: none;\r\n    }\r\n\r\n    .lgdc-setup.is-boot .lgdc-scan { opacity: 1; animation: lgdc-spin 1.1s linear infinite; }\r\n    .lgdc-setup.is-boot .lgdc-bar i { animation: lgdc-load 1.6s cubic-bezier(.4, 0, .2, 1) forwards; }\r\n    .lgdc-setup.is-boot .lgdc-tile { animation: lgdc-ping 1.6s ease-in-out var(--pl, 0s) 1; }\r\n    .lgdc-setup.is-open .lgdc-scan { animation: none; opacity: 0; }\r\n    .lgdc-setup.is-open .lgdc-base { animation: lgdc-fadeout .35s ease forwards; }\r\n    .lgdc-setup.is-open .lgdc-boot { animation: lgdc-bootout .4s ease-in forwards; }\r\n    .lgdc-setup.is-open .lgdc-wave { animation: lgdc-wave 1.3s cubic-bezier(.2, .7, .3, 1) forwards; }\r\n    .lgdc-setup.is-open .lgdc-tile { animation: lgdc-tile .75s cubic-bezier(.55, 0, .75, .2) var(--dl, 0s) forwards; }\r\n\r\n    @keyframes lgdc-caret { 50% { opacity: 0; } }\r\n    @keyframes lgdc-spin { to { transform: rotate(360deg); } }\r\n    @keyframes lgdc-load { 0% { transform: scaleX(.04); } 35% { transform: scaleX(.45); } 60% { transform: scaleX(.58); } 100% { transform: scaleX(1); } }\r\n    @keyframes lgdc-ping { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }\r\n    @keyframes lgdc-fadeout { to { opacity: 0; } }\r\n    @keyframes lgdc-bootout { 0% { opacity: 1; transform: translate(-50%, -50%) scale(1); } 100% { opacity: 0; transform: translate(-50%, -50%) scale(1.25); } }\r\n    @keyframes lgdc-wave { 0% { opacity: 1; transform: scale(.2); } 100% { opacity: 0; transform: scale(var(--ws, 40)); } }\r\n    @keyframes lgdc-tile {\r\n      0% { opacity: 1; transform: scale(1) rotate(0deg); }\r\n      25% { opacity: 1; transform: scale(1.12) rotate(0deg); }\r\n      100% { opacity: 0; transform: scale(0) rotate(120deg); }\r\n    }\r\n\r\n    @media (prefers-reduced-motion: no-preference) {\r\n      .lgdc-setup.lgdc-anim .lgdc-card {\r\n        opacity: 0; transform: translateY(26px) scale(.96);\r\n        transition: opacity .7s ease var(--lgdc-delay, 0ms), transform .7s cubic-bezier(.2, .9, .3, 1.15) var(--lgdc-delay, 0ms);\r\n      }\r\n      .lgdc-setup.lgdc-anim .lgdc-step.is-visible .lgdc-card { opacity: 1; transform: none; }\r\n    }\r\n    @media (prefers-reduced-motion: reduce) {\r\n      .lgdc-setup .lgdc-frame i, .lgdc-setup .lgdc-rain b, .lgdc-setup .lgdc-honey svg { animation: none !important; }\r\n      .lgdc-setup .lgdc-step::after, .lgdc-setup .lgdc-step::before, .lgdc-setup .lgdc-line,\r\n      .lgdc-setup .lgdc-line::after, .lgdc-setup .lgdc-line::before, .lgdc-setup .lgdc-face, .lgdc-setup .lgdc-status, .lgdc-setup .lgdc-num { transition: none; }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"lgdc-bg\" aria-hidden=\"true\">\r\n    <div class=\"lgdc-glow\"><\/div>\r\n    <div class=\"lgdc-honey\">\r\n      <svg focusable=\"false\">\r\n        <defs>\r\n          <pattern id=\"lgdc-setup-hex\" width=\"56\" height=\"100\" patternUnits=\"userSpaceOnUse\">\r\n            <path d=\"M28 66L0 50L0 16L28 0L56 16L56 50L28 66L28 100\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1\"\/>\r\n          <\/pattern>\r\n        <\/defs>\r\n        <rect width=\"100%\" height=\"100%\" fill=\"url(#lgdc-setup-hex)\"\/>\r\n      <\/svg>\r\n    <\/div>\r\n    <div class=\"lgdc-rain\">\r\n      <i style=\"left:3%\"><b style=\"--d:7s;--o:-1s\"><\/b><\/i>\r\n      <i style=\"left:7.5%\"><b style=\"--d:9s;--o:-5s\"><\/b><\/i>\r\n      <i style=\"left:12%\"><b style=\"--d:6s;--o:-3s\"><\/b><\/i>\r\n      <i style=\"left:88%\"><b style=\"--d:8s;--o:-2s\"><\/b><\/i>\r\n      <i style=\"left:92.5%\"><b style=\"--d:6.5s;--o:-4s\"><\/b><\/i>\r\n      <i style=\"left:97%\"><b style=\"--d:9.5s;--o:-7s\"><\/b><\/i>\r\n    <\/div>\r\n    <div class=\"lgdc-vignette\"><\/div>\r\n    <div class=\"lgdc-frame\">\r\n      <i class=\"c1\"><\/i><i class=\"c2\"><\/i><i class=\"c3\"><\/i><i class=\"c4\"><\/i>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"lgdc-inner\">\r\n  <header class=\"lgdc-head\">\r\n    <h2 class=\"lgdc-title\" id=\"lgdc-setup-title\">Do que preciso?<\/h2>\r\n    <p class=\"lgdc-intro\">Para configurar o LoboGuard-DC precisa de uma licen\u00e7a v\u00e1lida, do servidor a correr em qualquer m\u00e1quina e de acesso do LoboGuard-DC \u00e0 API dos seus clusters Proxmox.<\/p>\r\n  <\/header>\r\n\r\n  <ol class=\"lgdc-steps\">\r\n    <li class=\"lgdc-step\">\r\n      <div class=\"lgdc-card\">\r\n        <div class=\"lgdc-face\">\r\n        <div class=\"lgdc-top\"><span class=\"lgdc-num\" aria-hidden=\"true\"><span>01<\/span><\/span><h3>Instale o servidor em qualquer lado<\/h3><\/div>\r\n        <p>Instale o LoboGuard-DC em qualquer m\u00e1quina dispon\u00edvel, desde uma m\u00e1quina virtual a um servidor dedicado. S\u00f3 precisa de Docker e de liga\u00e7\u00e3o de rede aos seus clusters Proxmox.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <span class=\"lgdc-line\" aria-hidden=\"true\"><\/span>\r\n    <\/li>\r\n    <li class=\"lgdc-step\">\r\n      <div class=\"lgdc-card\">\r\n        <div class=\"lgdc-face\">\r\n        <div class=\"lgdc-top\"><span class=\"lgdc-num\" aria-hidden=\"true\"><span>02<\/span><\/span><h3>Aceda ao servidor<\/h3><\/div>\r\n        <p>Por predefini\u00e7\u00e3o, o LoboGuard-DC est\u00e1 acess\u00edvel em https:\/\/iploboguarddc:9443 ou na porta externa que definir ao iniciar o Docker.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <span class=\"lgdc-line\" aria-hidden=\"true\"><\/span>\r\n    <\/li>\r\n    <li class=\"lgdc-step\">\r\n      <div class=\"lgdc-card\">\r\n        <div class=\"lgdc-face\">\r\n        <div class=\"lgdc-top\"><span class=\"lgdc-num\" aria-hidden=\"true\"><span>03<\/span><\/span><h3>Altere a palavra-passe<\/h3><\/div>\r\n        <p>Da primeira vez que iniciar sess\u00e3o, ter\u00e1 obrigatoriamente de alterar a palavra-passe.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <span class=\"lgdc-line\" aria-hidden=\"true\"><\/span>\r\n    <\/li>\r\n    <li class=\"lgdc-step\">\r\n      <div class=\"lgdc-card\">\r\n        <div class=\"lgdc-face\">\r\n        <div class=\"lgdc-top\"><span class=\"lgdc-num\" aria-hidden=\"true\"><span>04<\/span><\/span><h3>Execute o assistente<\/h3><\/div>\r\n        <p>Execute o assistente de configura\u00e7\u00e3o inteligente, que o guia passo a passo na ativa\u00e7\u00e3o da licen\u00e7a, no registo dos clusters e nas prefer\u00eancias iniciais.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <span class=\"lgdc-line\" aria-hidden=\"true\"><\/span>\r\n    <\/li>\r\n    <li class=\"lgdc-step\">\r\n      <div class=\"lgdc-card\">\r\n        <div class=\"lgdc-face\">\r\n        <div class=\"lgdc-top\"><span class=\"lgdc-num\" aria-hidden=\"true\"><span>05<\/span><\/span><h3>Adicione os seus clusters<\/h3><\/div>\r\n        <p>Registe cada cluster Proxmox VE com o respetivo endpoint de API e credenciais. O LoboGuard-DC deteta automaticamente cada n\u00f3, convidado, armazenamento e rede. Agrupe-os por cliente se trabalhar em modo multi-tenant.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <span class=\"lgdc-line\" aria-hidden=\"true\"><\/span>\r\n    <\/li>\r\n    <li class=\"lgdc-step\">\r\n      <div class=\"lgdc-card\">\r\n        <div class=\"lgdc-face\">\r\n        <div class=\"lgdc-top\"><span class=\"lgdc-num\" aria-hidden=\"true\"><span>06<\/span><\/span><h3>Comece a operar<\/h3><\/div>\r\n        <p>Abra a vista Datacenter. A \u00e1rvore completa da sua infraestrutura aparece \u00e0 esquerda. Alterne entre Overview, Topology, Inventory, Monitor, Incidents, Capacity e as restantes ferramentas na barra superior. Configure alertas, defina permiss\u00f5es, procure vulnerabilidades. A alcateia \u00e9 sua para liderar.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n      <span class=\"lgdc-line\" aria-hidden=\"true\"><\/span>\r\n    <\/li>\r\n  <\/ol>\r\n  <p class=\"lgdc-status\" aria-live=\"polite\">Datacenter online. O LoboGuard-DC est\u00e1 a gerir a sua infraestrutura.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"lgdc-sheet\" aria-hidden=\"true\">\r\n    <div class=\"lgdc-base\"><\/div>\r\n    <div class=\"lgdc-tiles\"><\/div>\r\n    <div class=\"lgdc-scan\"><\/div>\r\n    <div class=\"lgdc-wave\"><\/div>\r\n    <div class=\"lgdc-boot\">\r\n      <span class=\"lgdc-boot-title\">LoboGuard-DC<\/span>\r\n      <span class=\"lgdc-boot-sub\">A inicializar o datacenter<\/span>\r\n      <span class=\"lgdc-bar\"><i><\/i><\/span>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script nowprocket>\r\n    (function () {\r\n      var s = document.currentScript;\r\n      var root = s && s.closest ? s.closest('.lgdc-setup') : null;\r\n      if (!root) {\r\n        var all = document.querySelectorAll('.lgdc-setup');\r\n        for (var n = 0; n < all.length; n++) { if (!all[n].__lgdcInit) { root = all[n]; break; } }\r\n      }\r\n      if (!root || root.__lgdcInit) return;\r\n      root.__lgdcInit = true;\r\n\r\n      var steps = Array.prototype.slice.call(root.querySelectorAll('.lgdc-step'));\r\n      var reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n      var fine = window.matchMedia('(hover: hover) and (pointer: fine)').matches;\r\n      var ticking = false;\r\n\r\n      function update() {\r\n        ticking = false;\r\n        var line = window.innerHeight * 0.65;\r\n        steps.forEach(function (li) {\r\n          var r = li.getBoundingClientRect();\r\n          li.classList.toggle('is-lit', r.top + r.height \/ 2 < line);\r\n        });\r\n        root.classList.toggle('is-complete', steps[steps.length - 1].classList.contains('is-lit'));\r\n      }\r\n      function request() { if (!ticking) { ticking = true; requestAnimationFrame(update); } }\r\n      window.addEventListener('scroll', request, { passive: true });\r\n      window.addEventListener('resize', request);\r\n      update();\r\n\r\n      if (fine && !reduce) {\r\n        steps.forEach(function (li) {\r\n          var card = li.querySelector('.lgdc-card');\r\n          var face = li.querySelector('.lgdc-face');\r\n          card.addEventListener('pointermove', function (e) {\r\n            var r = face.getBoundingClientRect();\r\n            var x = (e.clientX - r.left) \/ r.width, y = (e.clientY - r.top) \/ r.height;\r\n            face.style.setProperty('--ry', ((x - 0.5) * 14).toFixed(2) + 'deg');\r\n            face.style.setProperty('--rx', ((0.5 - y) * 14).toFixed(2) + 'deg');\r\n            face.style.setProperty('--gx', (x * 100).toFixed(1) + '%');\r\n            face.style.setProperty('--gy', (y * 100).toFixed(1) + '%');\r\n            card.classList.add('is-tilting');\r\n          });\r\n          card.addEventListener('pointerleave', function () {\r\n            face.style.setProperty('--rx', '0deg');\r\n            face.style.setProperty('--ry', '0deg');\r\n            card.classList.remove('is-tilting');\r\n          });\r\n        });\r\n      }\r\n\r\n      function revealCards() {\r\n        var io = new IntersectionObserver(function (entries) {\r\n          var k = 0;\r\n          entries.forEach(function (e) {\r\n            if (e.isIntersecting) {\r\n              e.target.style.setProperty('--lgdc-delay', (k++ * 140) + 'ms');\r\n              e.target.classList.add('is-visible');\r\n              io.unobserve(e.target);\r\n            }\r\n          });\r\n        }, { threshold: 0.15 });\r\n        steps.forEach(function (st) { io.observe(st); });\r\n      }\r\n\r\n      if (!('IntersectionObserver' in window) || reduce) return;\r\n      if (root.getBoundingClientRect().top < window.innerHeight * 0.6) return;\r\n\r\n      root.classList.add('lgdc-anim');\r\n      root.classList.add('lgdc-cover');\r\n\r\n      var sheet = root.querySelector('.lgdc-sheet');\r\n      var tilesBox = root.querySelector('.lgdc-tiles');\r\n      var tiles = [];\r\n      var builtW = 0, builtH = 0;\r\n\r\n      function buildTiles() {\r\n        var W = sheet.offsetWidth, H = sheet.offsetHeight;\r\n        if (!W || !H || (W === builtW && H === builtH)) return;\r\n        builtW = W; builtH = H;\r\n        var tw = Math.max(70, W \/ 12, Math.sqrt(W * H \/ 150));\r\n        var th = tw * 1.1547;\r\n        var step = th * 0.75;\r\n        var rows = Math.ceil(H \/ step) + 1;\r\n        var cols = Math.ceil(W \/ tw) + 1;\r\n        var frag = document.createDocumentFragment();\r\n        tiles = [];\r\n        for (var r = 0; r < rows; r++) {\r\n          for (var c = 0; c < cols; c++) {\r\n            var x = c * tw - (r % 2 ? 0 : tw \/ 2);\r\n            var y = r * step - th \/ 4;\r\n            var el = document.createElement('i');\r\n            el.className = 'lgdc-tile';\r\n            el.style.left = x.toFixed(1) + 'px';\r\n            el.style.top = y.toFixed(1) + 'px';\r\n            el.style.width = (tw + 1).toFixed(1) + 'px';\r\n            el.style.height = (th + 1).toFixed(1) + 'px';\r\n            el.style.setProperty('--pl', (Math.random() * 1.2).toFixed(2) + 's');\r\n            frag.appendChild(el);\r\n            tiles.push({ el: el, cx: x + tw \/ 2, cy: y + th \/ 2 });\r\n          }\r\n        }\r\n        tilesBox.textContent = '';\r\n        tilesBox.appendChild(frag);\r\n      }\r\n\r\n      function aim() {\r\n        var r = root.getBoundingClientRect();\r\n        var cy = Math.min(Math.max(window.innerHeight \/ 2 - r.top, 120), sheet.offsetHeight - 120);\r\n        var cx = sheet.offsetWidth \/ 2;\r\n        root.style.setProperty('--cy', cy.toFixed(0) + 'px');\r\n        var reach = Math.hypot(Math.max(cx, sheet.offsetWidth - cx), window.innerHeight) || 1;\r\n        root.style.setProperty('--ws', (reach * 2.2 \/ 40).toFixed(1));\r\n        tiles.forEach(function (t) {\r\n          var d = Math.hypot(t.cx - cx, t.cy - cy) \/ reach;\r\n          t.el.style.setProperty('--dl', (Math.min(d, 1) * 0.85 + Math.random() * 0.08).toFixed(3) + 's');\r\n        });\r\n      }\r\n\r\n      buildTiles();\r\n\r\n      var done = false;\r\n      function cleanup() {\r\n        if (done) return;\r\n        done = true;\r\n        root.classList.remove('lgdc-cover', 'is-boot', 'is-open');\r\n        tilesBox.textContent = '';\r\n      }\r\n\r\n      var watcher = new IntersectionObserver(function (entries) {\r\n        if (!entries[0].isIntersecting) return;\r\n        watcher.disconnect();\r\n        buildTiles();\r\n        aim();\r\n        requestAnimationFrame(function () {\r\n          root.classList.add('is-boot');\r\n          setTimeout(function () {\r\n            root.classList.add('is-open');\r\n            setTimeout(revealCards, 350);\r\n            setTimeout(cleanup, 1900);\r\n          }, 1700);\r\n        });\r\n      }, { rootMargin: '0px 0px -40% 0px', threshold: 0 });\r\n      watcher.observe(root);\r\n    })();\r\n  <\/script>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-29f7fa22 e-flex e-con-boxed e-con e-parent\" data-id=\"29f7fa22\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-159a66a9 e-con-full e-flex e-con e-child\" data-id=\"159a66a9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-54c92bb2 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"54c92bb2\" 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<h2 class=\"elementor-heading-title elementor-size-default\">PARTNERS<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-71f65487 e-flex e-con-boxed e-con e-parent\" data-id=\"71f65487\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-636450df e-con-full e-flex e-con e-child\" data-id=\"636450df\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6dd665f4 elementor-invisible elementor-widget elementor-widget-image-carousel\" data-id=\"6dd665f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;slides_to_show&quot;:&quot;5&quot;,&quot;navigation&quot;:&quot;none&quot;,&quot;slides_to_show_tablet&quot;:&quot;4&quot;,&quot;slides_to_show_mobile&quot;:&quot;2&quot;,&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:280,&quot;lazyload&quot;:&quot;yes&quot;,&quot;autoplay&quot;:&quot;yes&quot;,&quot;pause_on_hover&quot;:&quot;yes&quot;,&quot;autoplay_speed&quot;:5000,&quot;infinite&quot;:&quot;yes&quot;,&quot;speed&quot;:500}\" data-widget_type=\"image-carousel.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-image-carousel-wrapper swiper\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Image Carousel\" dir=\"ltr\">\n\t\t\t<div class=\"elementor-image-carousel swiper-wrapper\" aria-live=\"off\">\n\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"1 of 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/loboguard.com\/wp-content\/uploads\/2025\/11\/logo-proxmox-2.svg\" alt=\"Proxmox\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"2 of 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/loboguard.com\/wp-content\/uploads\/2025\/11\/logo-fujitsu-2.svg\" alt=\"Fujitsu\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"3 of 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/loboguard.com\/wp-content\/uploads\/2025\/11\/logo-ovh-vertical-2.svg\" alt=\"OVHcloud\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"4 of 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/loboguard.com\/wp-content\/uploads\/2025\/11\/logo-virtual-cable-vertical-2.svg\" alt=\"VirtualCable\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"5 of 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/loboguard.com\/wp-content\/uploads\/2025\/11\/logo-ucm-2.svg\" alt=\"Universidad Complutense de Madrid\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div><div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"6 of 6\"><figure class=\"swiper-slide-inner\"><img class=\"swiper-slide-image swiper-lazy\" data-src=\"https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/Velorcios-scaled.png\" alt=\"Velorcios\" \/><div class=\"swiper-lazy-preloader\"><\/div><\/figure><\/div>\t\t\t<\/div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-160e8eca e-flex e-con-boxed e-con e-parent\" data-id=\"160e8eca\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-3fb1c307 e-con-full e-flex e-con e-child\" data-id=\"3fb1c307\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-57b67ad2 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"57b67ad2\" 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<h2 class=\"elementor-heading-title elementor-size-default\">BLOG<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-13515079 elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"13515079\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeInUp&quot;,&quot;_animation_delay&quot;:70}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">\u00daltimas Not\u00edcias<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4ee44657 e-flex e-con-boxed e-con e-parent\" data-id=\"4ee44657\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-3413a16c e-con-full e-flex e-con e-child\" data-id=\"3413a16c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c0cc9d0 elementor-widget elementor-widget-shortcode\" data-id=\"c0cc9d0\" 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\"><div class=\"feedzy-914bee3c1118afbbb833ea4d58b28963 feedzy-rss\"><ul><li  style=\"padding: 15px 0 25px\" class=\"rss_item\"><span class=\"title\"><a href=\"https:\/\/tech.lobobrothers.com\/en\/smart-honeypot-that-returns-attacks-to-the-attacker\/\" target=\"_blank\" rel=\" noopener\">Smart Honeypot that Returns Attacks to the Attacker<\/a><\/span><div class=\"rss_content\" style=\"\"><small>por <a href=\"\/\/tech.lobobrothers.com\" target=\"_blank\" title=\"tech.lobobrothers.com\">admin<\/a> on 26 de Julho, 2025 at 17:20 <\/small><p>The Attacker\u2019s Infinite Loop In this guide, I will teach you how to deploy a honeypot that not only simulates [&hellip;]<\/p><\/div><\/li><li  style=\"padding: 15px 0 25px\" class=\"rss_item\"><span class=\"title\"><a href=\"https:\/\/tech.lobobrothers.com\/en\/send-all-traffic-through-the-tor-network\/\" target=\"_blank\" rel=\" noopener\">Send all traffic through the Tor network<\/a><\/span><div class=\"rss_content\" style=\"\"><small>por <a href=\"\/\/tech.lobobrothers.com\" target=\"_blank\" title=\"tech.lobobrothers.com\">TL<\/a> on 3 de Julho, 2025 at 17:41 <\/small><p>Torifying Traffic Let\u2019s create a short guide on how to route all your machine\u2019s traffic through the Tor network. [&hellip;]<\/p><\/div><\/li><li  style=\"padding: 15px 0 25px\" class=\"rss_item\"><span class=\"title\"><a href=\"https:\/\/tech.lobobrothers.com\/en\/har2locust\/\" target=\"_blank\" rel=\" noopener\">Har2locust<\/a><\/span><div class=\"rss_content\" style=\"\"><small>por <a href=\"\/\/tech.lobobrothers.com\" target=\"_blank\" title=\"tech.lobobrothers.com\">TL<\/a> on 26 de Abril, 2025 at 11:30 <\/small><p>Creating a Locust file with Har2Locust As promised, if you have followed the locust.io post: load testing made easy, I [&hellip;]<\/p><\/div><\/li><li  style=\"padding: 15px 0 25px\" class=\"rss_item\"><span class=\"title\"><a href=\"https:\/\/tech.lobobrothers.com\/en\/locust-io-load-testing-made-easy\/\" target=\"_blank\" rel=\" noopener\">Locust.io: Load Testing Made Easy<\/a><\/span><div class=\"rss_content\" style=\"\"><small>por <a href=\"\/\/tech.lobobrothers.com\" target=\"_blank\" title=\"tech.lobobrothers.com\">TL<\/a> on 17 de Abril, 2025 at 10:31 <\/small><p>What is Locust.io and why should you care? Imagine you\u2019ve just launched your website or app. Everything looks great, [&hellip;]<\/p><\/div><\/li><\/ul> <\/div><style type=\"text\/css\" media=\"all\">.feedzy-rss .rss_item .rss_image{float:left;position:relative;border:none;text-decoration:none;max-width:100%}.feedzy-rss .rss_item .rss_image span{display:inline-block;position:absolute;width:100%;height:100%;background-position:50%;background-size:cover}.feedzy-rss .rss_item .rss_image{margin:.3em 1em 0 0;content-visibility:auto}.feedzy-rss ul{list-style:none}.feedzy-rss ul li{display:inline-block}<\/style><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>LOBOGUARDGEST\u00c3O DE DATA CENTER PROXMOX Um \u00fanico ambiente. Todos os clusters. Controlo total. O LoboGuard-DC unifica todos os clusters, tenants e funcionalidades do Proxmox numa \u00fanica plataforma. Veja tudo, gerencie tudo, proteja tudo. A sua infraestrutura, os seus tenants, a decis\u00e3o \u00e9 sua. O que \u00e9 o LoboGuard-DC O LoboGuard-DC \u00e9 uma plataforma de gest\u00e3o [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3046","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Home LoboGuard-DC - LoboGuard<\/title>\n<meta name=\"description\" content=\"Gest\u00e3o unificada para Proxmox VE em qualquer escala. Multicluster, multi-tenant, com topologia integrada, prote\u00e7\u00e3o contra ransomware, scanner CVE e centro de atendimento de incidentes.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/loboguard.com\/pt-pt\/loboguard-dc\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Home LoboGuard-DC - LoboGuard\" \/>\n<meta property=\"og:description\" content=\"Gest\u00e3o unificada para Proxmox VE em qualquer escala. Multicluster, multi-tenant, com topologia integrada, prote\u00e7\u00e3o contra ransomware, scanner CVE e centro de atendimento de incidentes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/loboguard.com\/pt-pt\/loboguard-dc\/\" \/>\n<meta property=\"og:site_name\" content=\"LoboGuard\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-19T22:59:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1919\" \/>\n\t<meta property=\"og:image:height\" content=\"944\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@LoboBrothers\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/loboguard-dc\\\/\",\"url\":\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/loboguard-dc\\\/\",\"name\":\"Home LoboGuard-DC - LoboGuard\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/loboguard-dc\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/loboguard-dc\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/loboguard.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/loboguard-dc.png\",\"datePublished\":\"2026-10-14T10:58:42+00:00\",\"dateModified\":\"2026-10-19T22:59:26+00:00\",\"description\":\"Gest\u00e3o unificada para Proxmox VE em qualquer escala. Multicluster, multi-tenant, com topologia integrada, prote\u00e7\u00e3o contra ransomware, scanner CVE e centro de atendimento de incidentes.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/loboguard-dc\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/loboguard-dc\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/loboguard-dc\\\/#primaryimage\",\"url\":\"https:\\\/\\\/loboguard.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/loboguard-dc.png\",\"contentUrl\":\"https:\\\/\\\/loboguard.com\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/loboguard-dc.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/loboguard-dc\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Home LoboGuard-DC\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/#website\",\"url\":\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/\",\"name\":\"LoboGuard\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/#organization\",\"name\":\"Lobo Brothers Technology\",\"alternateName\":\"LoboGuard\",\"url\":\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/loboguard.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/cropped-loboguard.png\",\"contentUrl\":\"https:\\\/\\\/loboguard.com\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/cropped-loboguard.png\",\"width\":512,\"height\":512,\"caption\":\"Lobo Brothers Technology\"},\"image\":{\"@id\":\"https:\\\/\\\/loboguard.com\\\/pt-pt\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/LoboBrothers\",\"https:\\\/\\\/es.linkedin.com\\\/company\\\/lobobrothers\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Home LoboGuard-DC - LoboGuard","description":"Gest\u00e3o unificada para Proxmox VE em qualquer escala. Multicluster, multi-tenant, com topologia integrada, prote\u00e7\u00e3o contra ransomware, scanner CVE e centro de atendimento de incidentes.","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:\/\/loboguard.com\/pt-pt\/loboguard-dc\/","og_locale":"pt_PT","og_type":"article","og_title":"Home LoboGuard-DC - LoboGuard","og_description":"Gest\u00e3o unificada para Proxmox VE em qualquer escala. Multicluster, multi-tenant, com topologia integrada, prote\u00e7\u00e3o contra ransomware, scanner CVE e centro de atendimento de incidentes.","og_url":"https:\/\/loboguard.com\/pt-pt\/loboguard-dc\/","og_site_name":"LoboGuard","article_modified_time":"2026-10-19T22:59:26+00:00","og_image":[{"width":1919,"height":944,"url":"https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@LoboBrothers","twitter_misc":{"Tempo estimado de leitura":"4 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/loboguard.com\/pt-pt\/loboguard-dc\/","url":"https:\/\/loboguard.com\/pt-pt\/loboguard-dc\/","name":"Home LoboGuard-DC - LoboGuard","isPartOf":{"@id":"https:\/\/loboguard.com\/pt-pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/loboguard.com\/pt-pt\/loboguard-dc\/#primaryimage"},"image":{"@id":"https:\/\/loboguard.com\/pt-pt\/loboguard-dc\/#primaryimage"},"thumbnailUrl":"https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc.png","datePublished":"2026-10-14T10:58:42+00:00","dateModified":"2026-10-19T22:59:26+00:00","description":"Gest\u00e3o unificada para Proxmox VE em qualquer escala. Multicluster, multi-tenant, com topologia integrada, prote\u00e7\u00e3o contra ransomware, scanner CVE e centro de atendimento de incidentes.","breadcrumb":{"@id":"https:\/\/loboguard.com\/pt-pt\/loboguard-dc\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/loboguard.com\/pt-pt\/loboguard-dc\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/loboguard.com\/pt-pt\/loboguard-dc\/#primaryimage","url":"https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc.png","contentUrl":"https:\/\/loboguard.com\/wp-content\/uploads\/2026\/05\/loboguard-dc.png"},{"@type":"BreadcrumbList","@id":"https:\/\/loboguard.com\/pt-pt\/loboguard-dc\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/loboguard.com\/pt-pt\/"},{"@type":"ListItem","position":2,"name":"Home LoboGuard-DC"}]},{"@type":"WebSite","@id":"https:\/\/loboguard.com\/pt-pt\/#website","url":"https:\/\/loboguard.com\/pt-pt\/","name":"LoboGuard","description":"","publisher":{"@id":"https:\/\/loboguard.com\/pt-pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/loboguard.com\/pt-pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/loboguard.com\/pt-pt\/#organization","name":"Lobo Brothers Technology","alternateName":"LoboGuard","url":"https:\/\/loboguard.com\/pt-pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/loboguard.com\/pt-pt\/#\/schema\/logo\/image\/","url":"https:\/\/loboguard.com\/wp-content\/uploads\/2025\/08\/cropped-loboguard.png","contentUrl":"https:\/\/loboguard.com\/wp-content\/uploads\/2025\/08\/cropped-loboguard.png","width":512,"height":512,"caption":"Lobo Brothers Technology"},"image":{"@id":"https:\/\/loboguard.com\/pt-pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/LoboBrothers","https:\/\/es.linkedin.com\/company\/lobobrothers"]}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/loboguard.com\/pt-pt\/wp-json\/wp\/v2\/pages\/3046","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/loboguard.com\/pt-pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/loboguard.com\/pt-pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/loboguard.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/loboguard.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=3046"}],"version-history":[{"count":29,"href":"https:\/\/loboguard.com\/pt-pt\/wp-json\/wp\/v2\/pages\/3046\/revisions"}],"predecessor-version":[{"id":4109,"href":"https:\/\/loboguard.com\/pt-pt\/wp-json\/wp\/v2\/pages\/3046\/revisions\/4109"}],"wp:attachment":[{"href":"https:\/\/loboguard.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=3046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}