<section class="pv-hero">
  <div class="pv-grid"></div>
  <div class="pv-particles" aria-hidden="true">
    <span></span><span></span><span></span><span></span><span></span>
    <span></span><span></span><span></span><span></span><span></span>
  </div>

  <div class="pv-hero-inner">
    <div class="pv-hero-copy">
      <div class="pv-kicker">
        <span></span>
        SISTEMAS QUE TRABAJAN
      </div>

      <h1>
        Las fugas que no ves.<br>
        <em>Yo las encuentro.</em>
      </h1>

      <p>
        Tu web no debería limitarse a enseñar información.
        Debería detectar oportunidades, conectar procesos y trabajar
        cuando nadie está mirando.
      </p>

      <div class="pv-actions">
        <a href="#contacto" class="pv-btn pv-btn-main">Ver dónde se escapa el negocio →</a>
        <a href="#sistema" class="pv-btn pv-btn-ghost">Cómo funciona</a>
      </div>
    </div>

    <div class="pv-hero-visual">
      <div class="pv-orbit-card">
        <div class="pv-node pv-node-main">
          <small>NODO CENTRAL</small>
          <strong>Sistema Productivia</strong>
          <span>detecta · decide · actúa</span>
        </div>

        <div class="pv-node pv-node-web">WEB</div>
        <div class="pv-node pv-node-crm">CRM</div>
        <div class="pv-node pv-node-ai">AGENTE</div>
        <div class="pv-node pv-node-data">DATOS</div>

        <div class="pv-line pv-line-1"></div>
        <div class="pv-line pv-line-2"></div>
        <div class="pv-line pv-line-3"></div>
        <div class="pv-line pv-line-4"></div>

        <div class="pv-dot pv-dot-1"></div>
        <div class="pv-dot pv-dot-2"></div>
        <div class="pv-dot pv-dot-3"></div>
        <div class="pv-dot pv-dot-4"></div>
      </div>
    </div>
  </div>
</section>

<style>
  .pv-hero {
    position: relative;
    min-height: 100vh;
    background: #050505;
    color: #fff;
    overflow: hidden;
    padding: 90px 7vw;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  }

  .pv-grid {
    position: absolute;
    inset: 0;
    background-image:
      linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: radial-gradient(circle at 45% 40%, black 0%, transparent 70%);
    opacity: .8;
  }

  .pv-hero::before {
    content: "";
    position: absolute;
    width: 680px;
    height: 680px;
    right: -220px;
    top: -180px;
    background: radial-gradient(circle, rgba(207,159,61,.22), transparent 62%);
    filter: blur(40px);
  }

  .pv-hero::after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    left: -180px;
    bottom: -200px;
    background: radial-gradient(circle, rgba(0,194,142,.16), transparent 65%);
    filter: blur(45px);
  }

  .pv-particles span {
    position: absolute;
    width: 5px;
    height: 5px;
    background: #d8a83f;
    border-radius: 999px;
    box-shadow: 0 0 16px rgba(216,168,63,.9);
    opacity: .75;
    animation: pvFloat 8s ease-in-out infinite;
  }

  .pv-particles span:nth-child(1) { top: 18%; left: 12%; animation-delay: 0s; }
  .pv-particles span:nth-child(2) { top: 32%; left: 72%; animation-delay: 1s; }
  .pv-particles span:nth-child(3) { top: 74%; left: 18%; animation-delay: 2s; }
  .pv-particles span:nth-child(4) { top: 62%; left: 84%; animation-delay: 3s; }
  .pv-particles span:nth-child(5) { top: 14%; left: 88%; animation-delay: 1.5s; }

  .pv-particles span:nth-child(6),
  .pv-particles span:nth-child(7),
  .pv-particles span:nth-child(8),
  .pv-particles span:nth-child(9),
  .pv-particles span:nth-child(10) {
    background: #00c28e;
    box-shadow: 0 0 16px rgba(0,194,142,.8);
    width: 4px;
    height: 4px;
  }

  .pv-particles span:nth-child(6) { top: 24%; left: 54%; animation-delay: 2.5s; }
  .pv-particles span:nth-child(7) { top: 68%; left: 62%; animation-delay: .5s; }
  .pv-particles span:nth-child(8) { top: 42%; left: 8%; animation-delay: 3.2s; }
  .pv-particles span:nth-child(9) { top: 82%; left: 76%; animation-delay: 1.8s; }
  .pv-particles span:nth-child(10) { top: 12%; left: 36%; animation-delay: 4s; }

  @keyframes pvFloat {
    0%, 100% { transform: translateY(0) scale(1); opacity: .45; }
    50% { transform: translateY(-18px) scale(1.35); opacity: 1; }
  }

  .pv-hero-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
    min-height: calc(100vh - 180px);
  }

  .pv-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #d8a83f;
    border: 1px solid rgba(216,168,63,.35);
    background: rgba(216,168,63,.08);
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .22em;
    margin-bottom: 46px;
  }

  .pv-kicker span {
    width: 11px;
    height: 11px;
    background: #d8a83f;
    border-radius: 50%;
    box-shadow: 0 0 18px rgba(216,168,63,.9);
  }

  .pv-hero h1 {
    font-size: clamp(54px, 7vw, 112px);
    line-height: .92;
    letter-spacing: -0.07em;
    font-weight: 300;
    margin: 0 0 34px;
  }

  .pv-hero h1 em {
    font-style: italic;
    color: rgba(255,255,255,.36);
    font-weight: 200;
  }

  .pv-hero p {
    max-width: 640px;
    color: rgba(255,255,255,.76);
    font-size: clamp(18px, 1.5vw, 24px);
    line-height: 1.55;
    margin-bottom: 42px;
  }

  .pv-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
  }

  .pv-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding: 0 28px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 800;
    font-size: 15px;
    transition: transform .25s ease, background .25s ease, border-color .25s ease;
  }

  .pv-btn:hover {
    transform: translateY(-3px);
  }

  .pv-btn-main {
    background: #fff;
    color: #050505;
  }

  .pv-btn-ghost {
    border: 1px solid rgba(255,255,255,.18);
    color: #fff;
    background: rgba(255,255,255,.04);
  }

  .pv-hero-visual {
    display: flex;
    justify-content: center;
  }

  .pv-orbit-card {
    position: relative;
    width: min(560px, 42vw);
    aspect-ratio: 1;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 28px;
    background:
      radial-gradient(circle at 50% 50%, rgba(216,168,63,.18), transparent 30%),
      rgba(255,255,255,.025);
    box-shadow: inset 0 0 80px rgba(255,255,255,.035);
    overflow: hidden;
  }

  .pv-orbit-card::before {
    content: "";
    position: absolute;
    inset: 12%;
    border-radius: 50%;
    border: 1px dashed rgba(216,168,63,.28);
    animation: pvRotate 30s linear infinite;
  }

  .pv-orbit-card::after {
    content: "";
    position: absolute;
    inset: 26%;
    border-radius: 50%;
    border: 1px dashed rgba(0,194,142,.25);
    animation: pvRotateReverse 24s linear infinite;
  }

  @keyframes pvRotate {
    to { transform: rotate(360deg); }
  }

  @keyframes pvRotateReverse {
    to { transform: rotate(-360deg); }
  }

  .pv-node {
    position: absolute;
    z-index: 2;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(5,5,5,.86);
    backdrop-filter: blur(12px);
    border-radius: 14px;
    color: #fff;
    padding: 14px 18px;
    font-size: 12px;
    letter-spacing: .16em;
    font-weight: 800;
    text-align: center;
  }

  .pv-node-main {
    left: 50%;
    top: 50%;
    width: 240px;
    transform: translate(-50%, -50%);
    border-color: rgba(216,168,63,.45);
    box-shadow: 0 0 32px rgba(216,168,63,.12);
  }

  .pv-node-main small {
    display: block;
    color: #d8a83f;
    font-size: 10px;
    margin-bottom: 8px;
  }

  .pv-node-main strong {
    display: block;
    font-size: 22px;
    letter-spacing: -0.03em;
    margin-bottom: 8px;
  }

  .pv-node-main span {
    display: block;
    color: rgba(255,255,255,.58);
    font-size: 11px;
    letter-spacing: .08em;
  }

  .pv-node-web { left: 8%; top: 16%; color: #d8a83f; }
  .pv-node-crm { right: 8%; top: 18%; color: #00c28e; }
  .pv-node-ai { right: 11%; bottom: 16%; color: #d8a83f; }
  .pv-node-data { left: 10%; bottom: 18%; color: #00c28e; }

  .pv-line {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 36%;
    height: 1px;
    transform-origin: left center;
    background: linear-gradient(90deg, rgba(216,168,63,.65), transparent);
    opacity: .6;
  }

  .pv-line-1 { transform: rotate(220deg); }
  .pv-line-2 { transform: rotate(320deg); }
  .pv-line-3 { transform: rotate(42deg); }
  .pv-line-4 { transform: rotate(138deg); }

  .pv-dot {
    position: absolute;
    z-index: 3;
    width: 9px;
    height: 9px;
    background: #d8a83f;
    border-radius: 50%;
    box-shadow: 0 0 18px rgba(216,168,63,.9);
    animation: pvPulse 2.6s ease-in-out infinite;
  }

  .pv-dot-1 { left: 31%; top: 32%; animation-delay: 0s; }
  .pv-dot-2 { right: 31%; top: 33%; animation-delay: .5s; }
  .pv-dot-3 { right: 34%; bottom: 31%; animation-delay: 1s; }
  .pv-dot-4 { left: 32%; bottom: 33%; animation-delay: 1.5s; }

  @keyframes pvPulse {
    0%, 100% { transform: scale(.8); opacity: .45; }
    50% { transform: scale(1.4); opacity: 1; }
  }

  @media (max-width: 980px) {
    .pv-hero {
      padding: 70px 24px;
    }

    .pv-hero-inner {
      grid-template-columns: 1fr;
      gap: 50px;
    }

    .pv-orbit-card {
      width: 100%;
      max-width: 520px;
    }
  }

  @media (max-width: 560px) {
    .pv-hero {
      min-height: auto;
      padding: 64px 20px;
    }

    .pv-kicker {
      font-size: 10px;
      letter-spacing: .16em;
      margin-bottom: 34px;
    }

    .pv-hero h1 {
      font-size: 52px;
    }

    .pv-hero p {
      font-size: 17px;
    }

    .pv-btn {
      width: 100%;
    }

    .pv-node-main {
      width: 190px;
    }

    .pv-node-main strong {
      font-size: 18px;
    }

    .pv-node {
      font-size: 9px;
      padding: 10px 12px;
    }
  }
</style>