.elementor-21 .elementor-element.elementor-element-26fdd84{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:211px;--padding-bottom:211px;--padding-left:50px;--padding-right:050px;}.elementor-21 .elementor-element.elementor-element-26fdd84:not(.elementor-motion-effects-element-type-background), .elementor-21 .elementor-element.elementor-element-26fdd84 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#333333;}.elementor-21 .elementor-element.elementor-element-e912d4f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-21 .elementor-element.elementor-element-490b56e{font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:400;color:#FFFFFF;}.elementor-21 .elementor-element.elementor-element-e10aac2{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-c5ed290{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-b619f6e{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-21 .elementor-element.elementor-element-e912d4f{--width:100%;}}@media(max-width:767px){.elementor-21 .elementor-element.elementor-element-26fdd84{--padding-top:111px;--padding-bottom:111px;--padding-left:20px;--padding-right:20px;}.elementor-21 .elementor-element.elementor-element-490b56e{font-size:15px;}}/* Start custom CSS for html, class: .elementor-element-e27ec29 */<canvas id="mp-canvas" style="position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;"></canvas>
<div style="position:absolute;inset:0;background:radial-gradient(ellipse at center, transparent 40%, #0d0d0d 100%);z-index:1;pointer-events:none;"></div>
<div style="position:absolute;left:-100px;top:50%;transform:translateY(-50%);width:400px;height:400px;background:radial-gradient(circle, rgba(0,212,160,0.12) 0%, transparent 70%);z-index:1;pointer-events:none;"></div>

<script>
(function () {
  const canvas = document.getElementById('mp-canvas');
  const ctx = canvas.getContext('2d');

  function getSection() {
    let el = canvas.parentElement;
    while (el) {
      if (
        el.classList.contains('elementor-section') ||
        el.classList.contains('e-container') ||
        el.classList.contains('mp-hero-section') ||
        el.tagName === 'SECTION'
      ) return el;
      el = el.parentElement;
    }
    return canvas.parentElement;
  }

  function resize() {
    const section = getSection();
    canvas.width = section.offsetWidth;
    canvas.height = section.offsetHeight;
  }

  const TOTAL = 70;
  let dots = [];

  function initDots() {
    dots = [];
    for (let i = 0; i < TOTAL; i++) {
      dots.push({
        x: Math.random() * canvas.width,
        y: Math.random() * canvas.height,
        vx: (Math.random() - 0.5) * 0.5,
        vy: (Math.random() - 0.5) * 0.5,
        r: Math.random() * 1.8 + 0.8,
        opacity: Math.random() * 0.6 + 0.3
      });
    }
  }

  function drawGrid() {
    ctx.strokeStyle = 'rgba(0,212,160,0.07)';
    ctx.lineWidth = 1;
    for (let x = 0; x < canvas.width; x += 60) {
      ctx.beginPath(); ctx.moveTo(x, 0); ctx.lineTo(x, canvas.height); ctx.stroke();
    }
    for (let y = 0; y < canvas.height; y += 60) {
      ctx.beginPath(); ctx.moveTo(0, y); ctx.lineTo(canvas.width, y); ctx.stroke();
    }
  }

  function draw() {
    ctx.clearRect(0, 0, canvas.width, canvas.height);
    drawGrid();

    for (let i = 0; i < dots.length; i++) {
      for (let j = i + 1; j < dots.length; j++) {
        const dx = dots[i].x - dots[j].x;
        const dy = dots[i].y - dots[j].y;
        const dist = Math.sqrt(dx * dx + dy * dy);
        if (dist < 140) {
          ctx.strokeStyle = `rgba(0,212,160,${(1 - dist / 140) * 0.3})`;
          ctx.lineWidth = 0.8;
          ctx.beginPath();
          ctx.moveTo(dots[i].x, dots[i].y);
          ctx.lineTo(dots[j].x, dots[j].y);
          ctx.stroke();
        }
      }
    }

    dots.forEach(d => {
      ctx.beginPath();
      ctx.arc(d.x, d.y, d.r, 0, Math.PI * 2);
      ctx.fillStyle = `rgba(0,212,160,${d.opacity})`;
      ctx.fill();
      d.x += d.vx;
      d.y += d.vy;
      if (d.x < 0 || d.x > canvas.width) d.vx *= -1;
      if (d.y < 0 || d.y > canvas.height) d.vy *= -1;
    });

    requestAnimationFrame(draw);
  }

  window.addEventListener('load', function () {
    resize();
    initDots();
    draw();
  });

  window.addEventListener('resize', resize);
})();
</script>/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-26fdd84 */.mp-hero-section {
  position: relative !important;
  overflow: hidden !important;
  background: #0d0d0d !important;
}

.mp-hero-section > .elementor-container,
.mp-hero-section > .e-con-inner {
  position: relative;
  z-index: 2;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c5ed290 */.mp-secao2 {
  position: relative !important;
  overflow: hidden !important;
  background: #0d0d0d !important;
}/* End custom CSS */