      /* ════════════════════════════════════════════════
       DESIGN TOKENS — edita aquí la paleta de colores
       ════════════════════════════════════════════════ */
      :root {
        --navy: #1a1f2e;
        --navy-mid: #22283a;
        --royal: #1a4baa;
        --royal-light: #2560cc;
        --celeste: #25a0d2;
        --celeste-light: #3bbde4;
        --crystal: #ebf5fa;
        --white: #ffffff;
        --text-muted: #7eb8d4;
        --radius: 10px;
        --radius-lg: 18px;
        --shadow: 0 4px 32px rgba(11, 31, 58, 0.5);
        --shadow-sm: 0 2px 14px rgba(11, 31, 58, 0.2);
        --transition: 0.28s cubic-bezier(0.4, 0, 0.2, 1);
      }

      /* ════════════════════════════════════════════════
       RESET & BASE
       ════════════════════════════════════════════════ */
      *,
      *::before,
      *::after {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
      }
      html {
        scroll-behavior: smooth;
        overflow-x: hidden;
        width: 100%;
        max-width: 100vw;
      }
      /* Anclas (#calculadora, #planes, etc.): dejar 80px de aire arriba para que el nav fijo no tape el contenido al hacer scroll desde una URL con # */
      #funcionalidades,
      #tenna,
      #planes,
      #precios,
      #contacto,
      #calculadora {
        scroll-margin-top: 80px;
      }
      body {
        font-family: 'Plus Jakarta Sans', sans-serif;
        color: var(--navy);
        background: var(--white);
        overflow-x: hidden;
        width: 100%;
        max-width: 100vw;
        position: relative;
      }
      img {
        display: block;
        max-width: 100%;
      }
      a {
        text-decoration: none;
        color: inherit;
      }

      /* ════════════════════════════════════════════════
       NAV FIJA
       ════════════════════════════════════════════════ */
      nav {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 100;
        background: rgba(11, 31, 58, 0.96);
        backdrop-filter: blur(10px);
        border-bottom: 1px solid rgba(37, 160, 210, 0.18);
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 5%;
        height: 64px;
        overflow: visible;
      }
      @media (max-width: 900px) {
        nav {
          padding: 0 16px;
        }
      }
      .nav-logo img {
        height: 42px;
        mix-blend-mode: screen;
      }
      .nav-links {
        display: flex;
        align-items: center;
        gap: 32px;
        list-style: none;
      }
      .nav-links a {
        color: var(--text-muted);
        font-size: 1rem;
        font-weight: 500;
        letter-spacing: normal;
        text-transform: none;
        transition: color var(--transition);
      }
      .nav-links a:hover {
        color: var(--celeste);
      }
      /* CTA "Demo" del menú — pill celeste sólido */
      .nav-cta {
        display: inline-block;
        background: var(--celeste);
        color: #fff !important;
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-size: 0.9rem;
        font-weight: 700;
        padding: 10px 22px;
        border-radius: 999px;
        margin-left: 12px;
        white-space: nowrap;
        text-decoration: none;
        transition: all 0.25s ease;
      }
      .nav-cta:hover {
        background: var(--celeste-light);
        color: #fff !important;
        transform: translateY(-1px);
        box-shadow: 0 6px 16px rgba(37, 160, 210, 0.35);
      }

      /* ════════════════════════════════════════════════
       HERO
       ════════════════════════════════════════════════ */
      #hero {
        min-height: 100vh;
        background: var(--navy);
        display: flex;
        align-items: center;
        padding: 100px 5% 80px;
        overflow: hidden;
      }
      /* Circuitos decorativos inspirados en el logo */
      #hero::before {
        content: '';
        position: absolute;
        top: -120px;
        right: -120px;
        width: 600px;
        height: 600px;
        border-radius: 50%;
        border: 1.5px solid rgba(37, 160, 210, 0.12);
        pointer-events: none;
      }
      #hero::after {
        content: '';
        position: absolute;
        top: -60px;
        right: -60px;
        width: 360px;
        height: 360px;
        border-radius: 50%;
        border: 1px solid rgba(37, 160, 210, 0.15);
        pointer-events: none;
      }
      .hero-inner {
        max-width: 1200px;
        margin: 0 auto;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 520px;
        gap: 60px;
        align-items: flex-start;
        position: relative;
        z-index: 2;
      }
      @media (max-width: 960px) {
        .hero-inner {
          display: flex;
          flex-direction: column;
          gap: 48px;
        }
        .hero-cube-wrap {
          display: none;
        }
        #hero {
          padding: 84px 5% 48px;
          min-height: auto;
        }
        .hero-bullets {
          margin: 12px 0 24px;
          gap: 12px;
        }
        .hero-bullets li {
          font-size: 0.9rem;
        }
      }
      .hero-cube-wrap {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
      }
      .hero-cube-wrap img {
        width: 100%;
        max-width: 460px;
        animation: floatCube 5s ease-in-out infinite;
        filter: drop-shadow(0 0 40px rgba(37, 160, 210, 0.25));
      }
      @keyframes floatCube {
        0%,
        100% {
          transform: translateY(0) rotate(0deg);
        }
        50% {
          transform: translateY(-16px) rotate(1deg);
        }
      }
      .hero-badge {
        margin-bottom: 36px;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: rgba(37, 160, 210, 0.12);
        border: 1px solid rgba(37, 160, 210, 0.3);
        color: var(--celeste);
        padding: 6px 16px;
        border-radius: 50px;
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        margin-bottom: 24px;
      }
      .hero-badge span {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: var(--celeste);
        animation: pulse 1.8s infinite;
      }
      @keyframes pulse {
        0%,
        100% {
          opacity: 1;
          transform: scale(1);
        }
        50% {
          opacity: 0.4;
          transform: scale(0.7);
        }
      }
      .hero-title {
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 900;
        font-size: clamp(2.2rem, 3.8vw, 3.8rem);
        line-height: 1;
        color: var(--white);
        margin-bottom: 12px;
        letter-spacing: -0.02em;
      }
      .hero-title .accent {
        color: var(--celeste);
      }
      .hero-sub {
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 600;
        font-size: clamp(1.15rem, 1.9vw, 1.75rem);
        color: var(--text-muted);
        margin-bottom: 24px;
        line-height: 1.2;
        white-space: nowrap;
      }
      @media (max-width: 800px) {
        .hero-sub {
          white-space: normal;
          font-size: 1.3rem;
        }
      }
      .hero-desc {
        color: rgba(235, 242, 250, 0.7);
        font-size: 1.05rem;
        line-height: 1.7;
        margin-bottom: 40px;
        max-width: 680px;
      }
      .hero-actions {
        display: flex;
        gap: 16px;
        flex-wrap: wrap;
      }
      .btn-primary {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #25d366;
        color: var(--white);
        width: 52px;
        height: 52px;
        border-radius: 50%;
        transition:
          background var(--transition),
          transform var(--transition),
          box-shadow var(--transition);
        box-shadow: 0 4px 20px rgba(37, 211, 102, 0.3);
        flex-shrink: 0;
      }
      .btn-primary:hover {
        background: #1ebe5a;
        transform: scale(1.1);
        box-shadow: 0 6px 28px rgba(37, 211, 102, 0.4);
      }
      .btn-primary svg {
        width: 26px;
        height: 26px;
        flex-shrink: 0;
      }
      .btn-primary .btn-label {
        display: none;
      }
      .btn-secondary {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        border: 1.5px solid rgba(37, 160, 210, 0.5);
        color: var(--celeste);
        padding: 14px 28px;
        border-radius: 50px;
        font-weight: 700;
        font-size: 1rem;
        transition: all var(--transition);
      }
      .btn-secondary:hover {
        background: rgba(37, 160, 210, 0.1);
        border-color: var(--celeste);
      }
      .hero-logo-wrap {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
      }
      .hero-logo-wrap img {
        width: 100%;
        max-width: 440px;
        mix-blend-mode: screen;
        filter: drop-shadow(0 0 40px rgba(37, 160, 210, 0.35));
        animation: floatLogo 5s ease-in-out infinite;
      }
      @keyframes floatLogo {
        0%,
        100% {
          transform: translateY(0);
        }
        50% {
          transform: translateY(-14px);
        }
      }

      /* ════════════════════════════════════════════════
       SECCIÓN PROBLEMA
       ════════════════════════════════════════════════ */
      #problema {
        background: var(--crystal);
        padding: 100px 5%;
      }
      .section-label {
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: var(--celeste);
        margin-bottom: 12px;
      }
      .section-title {
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 800;
        font-size: clamp(1.8rem, 3vw, 2.6rem);
        color: var(--navy);
        line-height: 1.1;
        margin-bottom: 16px;
      }
      .section-sub {
        font-size: 1.05rem;
        color: #4a6080;
        max-width: 900px;
        line-height: 1.7;
        margin-bottom: 60px;
        white-space: nowrap;
      }
      @media (max-width: 800px) {
        .section-sub {
          white-space: normal;
          max-width: 100%;
        }
      }
      .pain-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
        max-width: 1200px;
        margin: 0 auto;
      }
      .pain-card {
        background: var(--white);
        border: 1.5px solid rgba(37, 160, 210, 0.1);
        border-radius: var(--radius-lg);
        padding: 28px 24px;
        display: flex;
        gap: 16px;
        align-items: flex-start;
        transition:
          box-shadow var(--transition),
          transform var(--transition),
          border-color var(--transition);
      }
      .pain-card:hover {
        box-shadow: var(--shadow-sm);
        transform: translateY(-3px);
        border-color: rgba(37, 160, 210, 0.35);
      }
      .pain-icon {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        background: rgba(37, 160, 210, 0.08);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
      }
      .pain-icon svg {
        width: 22px;
        height: 22px;
        color: var(--celeste);
      }
      .pain-text strong {
        display: block;
        font-size: 0.95rem;
        color: var(--navy);
        margin-bottom: 4px;
      }
      .pain-text span {
        font-size: 0.85rem;
        color: #4a6080;
        line-height: 1.5;
      }

      /* ════════════════════════════════════════════════
       SECCIÓN CÓMO FUNCIONA (Diagrama 360)
       ════════════════════════════════════════════════ */
      #como-funciona {
        background: var(--white);
        padding: 100px 5%;
        text-align: center;
      }
      .diagram-wrap {
        max-width: 820px;
        margin: 0 auto;
        position: relative;
      }
      .diagram-center {
        width: 140px;
        height: 140px;
        border-radius: 50%;
        background: var(--navy);
        border: 3px solid var(--celeste);
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 0;
        position: relative;
        z-index: 3;
        box-shadow:
          0 0 0 16px rgba(37, 160, 210, 0.08),
          var(--shadow);
      }
      .diagram-center img {
        width: 88px;
        mix-blend-mode: screen;
      }
      .orbit-ring {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        border-radius: 50%;
        border: 1px dashed rgba(37, 160, 210, 0.2);
        pointer-events: none;
      }
      .sucursal-nodes {
        display: flex;
        justify-content: center;
        gap: 32px;
        margin-top: 48px;
        flex-wrap: wrap;
      }
      .node-group {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
      }
      .node-dot {
        width: 58px;
        height: 58px;
        border-radius: 14px;
        background: var(--crystal);
        border: 1.5px solid rgba(37, 160, 210, 0.18);
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        transition:
          border-color var(--transition),
          background var(--transition);
      }
      .node-dot:hover {
        background: rgba(37, 160, 210, 0.08);
        border-color: var(--celeste);
      }
      .node-dot svg {
        width: 26px;
        height: 26px;
        color: var(--celeste);
      }
      .node-dot::before {
        content: '';
        position: absolute;
        top: -24px;
        left: 50%;
        transform: translateX(-50%);
        width: 1px;
        height: 20px;
        background: linear-gradient(to top, rgba(37, 160, 210, 0.3), transparent);
      }
      .node-label {
        font-size: 0.78rem;
        color: #4a6080;
        font-weight: 700;
        text-align: center;
      }
      .outputs-row {
        display: flex;
        justify-content: center;
        gap: 20px;
        margin-top: 56px;
        flex-wrap: wrap;
      }
      .output-chip {
        background: var(--navy);
        color: var(--white);
        padding: 10px 20px;
        border-radius: 50px;
        font-size: 0.83rem;
        font-weight: 700;
        display: flex;
        align-items: center;
        gap: 8px;
        border: 1px solid rgba(37, 160, 210, 0.3);
      }
      .output-chip svg {
        width: 15px;
        height: 15px;
        color: var(--celeste);
      }
      .sync-label {
        font-size: 0.75rem;
        color: var(--text-muted);
        margin-top: 18px;
        letter-spacing: 0.06em;
      }
      .sync-label span {
        color: var(--celeste);
        font-weight: 700;
      }

      /* ════════════════════════════════════════════════
       SECCIÓN FUNCIONALIDADES
       ════════════════════════════════════════════════ */
      #funcionalidades {
        background: #1a1f2e;
        padding: 100px 5%;
      }
      #funcionalidades .section-title {
        color: #fff;
      }
      #funcionalidades .section-sub {
        color: rgba(255, 255, 255, 0.45);
      }
      .feat-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 20px;
        max-width: 1200px;
        margin: 0 auto;
      }
      @media (max-width: 1100px) {
        .feat-grid {
          grid-template-columns: repeat(2, 1fr);
        }
      }
      .feat-card {
        background: #1e2d44;
        border-radius: var(--radius-lg);
        padding: 28px 24px;
        border: 1px solid rgba(37, 160, 210, 0.12);
        transition:
          border-color var(--transition),
          transform var(--transition);
        position: relative;
        overflow: hidden;
        display: flex;
        flex-direction: column;
      }
      .feat-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 3px;
        background: linear-gradient(90deg, #25a0d2, transparent);
        opacity: 0;
        transition: opacity var(--transition);
      }
      .feat-card:hover {
        border-color: rgba(37, 160, 210, 0.4);
        transform: translateY(-4px);
      }
      .feat-card:hover::before {
        opacity: 1;
      }
      .feat-icon {
        width: 48px;
        height: 48px;
        border-radius: 12px;
        background: rgba(37, 160, 210, 0.12);
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 18px;
        flex-shrink: 0;
      }
      .feat-icon svg {
        width: 24px;
        height: 24px;
        color: var(--celeste);
      }
      /* Avatar de Tenna — solo en su tarjeta de Funcionalidades */
      .feat-icon-tenna {
        width: 64px;
        height: 64px;
        border-radius: 50%;
        object-fit: cover;
        object-position: center top;
        margin-bottom: 18px;
        flex-shrink: 0;
        box-shadow: 0 0 0 2px rgba(37, 160, 210, 0.35);
        background: rgba(37, 160, 210, 0.08);
      }
      .feat-card h3 {
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 700;
        font-size: 1.1rem;
        color: #fff;
        margin-bottom: 8px;
      }
      .feat-card p {
        font-size: 0.88rem;
        color: rgba(255, 255, 255, 0.5);
        line-height: 1.65;
        flex: 1;
      }

      /* Botón "Ver más..." dentro de las tarjetas */
      .feat-more {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-top: 14px;
        padding: 0;
        background: transparent;
        border: none;
        color: var(--celeste);
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 600;
        font-size: 0.85rem;
        cursor: pointer;
        transition:
          color var(--transition),
          gap var(--transition);
        align-self: flex-start;
      }
      .feat-more:hover {
        color: var(--celeste-light);
        gap: 10px;
      }
      .feat-more svg {
        width: 14px;
        height: 14px;
      }

      /* Badge "Plan Elite IA" — dorado real para destacar plan premium */
      .feat-badge-elite {
        position: absolute;
        top: 16px;
        right: 16px;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 5px 10px;
        border-radius: 999px;
        background: linear-gradient(135deg, rgba(245, 194, 107, 0.22), rgba(212, 169, 71, 0.14));
        border: 1px solid rgba(230, 183, 90, 0.55);
        color: #f5c26b;
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 700;
        font-size: 0.68rem;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        z-index: 2;
        box-shadow: 0 2px 10px rgba(212, 169, 71, 0.18);
      }
      .feat-badge-elite svg {
        width: 10px;
        height: 10px;
      }

      /* ════════════════════════════════════════════════
       FLIP CARD (tarjeta de Reportes operativos)
       ════════════════════════════════════════════════ */
      .feat-card.flip-card {
        background: transparent;
        padding: 0;
        border: none;
        overflow: visible;
        perspective: 1200px;
        min-height: 320px;
      }
      .feat-card.flip-card::before {
        display: none;
      }
      .feat-card.flip-card:hover {
        transform: none;
      }
      .flip-inner {
        position: relative;
        width: 100%;
        height: 100%;
        min-height: 320px;
        transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
        transform-style: preserve-3d;
      }
      .feat-card.flip-card.is-flipped .flip-inner {
        transform: rotateY(180deg);
      }
      .flip-face {
        position: absolute;
        inset: 0;
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        background: #1e2d44;
        border-radius: var(--radius-lg);
        padding: 28px 24px;
        border: 1px solid rgba(37, 160, 210, 0.12);
        display: flex;
        flex-direction: column;
        overflow: hidden;
      }
      .flip-face::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 3px;
        background: linear-gradient(90deg, #25a0d2, transparent);
        opacity: 0;
        transition: opacity var(--transition);
      }
      .feat-card.flip-card:hover .flip-face {
        border-color: rgba(37, 160, 210, 0.4);
      }
      .feat-card.flip-card:hover .flip-face::before {
        opacity: 1;
      }
      .flip-back {
        transform: rotateY(180deg);
        background: linear-gradient(160deg, #1e2d44 0%, #1a2438 100%);
        padding: 18px 20px;
      }
      .flip-back-title {
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 700;
        font-size: 0.82rem;
        color: var(--celeste);
        margin-bottom: 10px;
        line-height: 1.35;
      }
      .flip-back-list {
        list-style: none;
        padding: 0;
        margin: 0;
        flex: 1;
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 12px;
        row-gap: 0;
        align-content: start;
      }
      .flip-back-list li {
        display: flex;
        align-items: center;
        gap: 6px;
        padding: 3px 0;
        font-size: 0.76rem;
        color: rgba(255, 255, 255, 0.82);
        line-height: 1.25;
      }
      .flip-back-list li svg {
        width: 11px;
        height: 11px;
        color: var(--celeste);
        flex-shrink: 0;
      }
      /* En pantallas muy chicas (cuando las tarjetas ya son full-width) da más aire */
      @media (max-width: 520px) {
        .flip-back-list {
          column-gap: 10px;
        }
        .flip-back-list li {
          font-size: 0.82rem;
          padding: 4px 0;
        }
      }
      .flip-back-btn {
        margin-top: 12px;
        padding-top: 10px;
        border-top: 1px solid rgba(255, 255, 255, 0.06);
        align-self: stretch;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: transparent;
        border-left: none;
        border-right: none;
        border-bottom: none;
        color: var(--text-muted);
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 600;
        font-size: 0.82rem;
        cursor: pointer;
        transition: color var(--transition);
      }
      .flip-back-btn:hover {
        color: var(--celeste);
      }
      .flip-back-btn svg {
        width: 14px;
        height: 14px;
      }

      /* ════════════════════════════════════════════════
       SECCIÓN SIRIUS GALENO — Split: intro + chat WhatsApp
       ════════════════════════════════════════════════ */
      #tenna {
        background: var(--navy);
        padding: 100px 5%;
        position: relative;
      }
      #tenna .section-title {
        color: #fff;
      }

      /* Badge "Incluido en el Plan Elite IA" debajo del título */
      .sg-section-badge-wrap {
        text-align: center;
        margin-bottom: 40px;
      }
      .sg-section-badge {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 8px 18px;
        border-radius: 999px;
        background: linear-gradient(135deg, rgba(245, 194, 107, 0.22), rgba(212, 169, 71, 0.14));
        border: 1px solid rgba(230, 183, 90, 0.55);
        color: #f5c26b;
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 700;
        font-size: 0.8rem;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        box-shadow: 0 4px 16px rgba(212, 169, 71, 0.18);
      }
      .sg-section-badge svg {
        width: 13px;
        height: 13px;
      }

      /* Contenedor split reutilizado del modal anterior */
      .sg-split {
        width: 100%;
        max-width: 980px;
        margin: 0 auto;
        height: 620px;
        background: #0b141a;
        border-radius: 20px;
        overflow: hidden;
        box-shadow:
          0 30px 80px rgba(0, 0, 0, 0.45),
          0 0 0 1px rgba(37, 160, 210, 0.18);
        display: grid;
        grid-template-columns: 1fr 440px;
      }

      /* PANEL IZQUIERDO — Intro de Tenna */
      .sg-intro {
        position: relative;
        padding: 40px 36px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        color: #fff;
        overflow: hidden;
        background-color: #0c1829;
        min-height: 0;
      }
      .sg-intro-bg {
        position: absolute;
        inset: 0;
        background-image: url('assets/tenna-bg.png');
        background-size: cover;
        background-position: center;
        filter: blur(4px) brightness(0.58) saturate(1.15);
        transform: scale(1.08);
        z-index: 0;
      }
      .sg-intro-overlay {
        position: absolute;
        inset: 0;
        background:
        /* velo suave en el centro para legibilidad del texto */
          radial-gradient(
            ellipse 75% 65% at 30% 50%,
            rgba(10, 20, 40, 0.55) 0%,
            rgba(10, 20, 40, 0.35) 55%,
            transparent 100%
          ),
          /* gradient global más ligero */
          linear-gradient(165deg, rgba(10, 20, 40, 0.55) 0%, rgba(12, 24, 41, 0.42) 55%, rgba(20, 42, 80, 0.38) 100%);
        z-index: 1;
      }
      .sg-intro-content {
        position: relative;
        z-index: 2;
        display: flex;
        flex-direction: column;
        height: 100%;
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
        overflow-y: auto;
        min-height: 0;
      }
      .sg-intro-content::-webkit-scrollbar {
        width: 5px;
      }
      .sg-intro-content::-webkit-scrollbar-thumb {
        background: rgba(255, 255, 255, 0.15);
        border-radius: 3px;
      }
      .sg-intro-top {
        flex: 1;
      }
      .sg-intro-badge {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 6px 12px;
        border-radius: 999px;
        background: linear-gradient(135deg, rgba(245, 194, 107, 0.22), rgba(212, 169, 71, 0.14));
        border: 1px solid rgba(230, 183, 90, 0.55);
        color: #f5c26b;
        font-weight: 700;
        font-size: 0.7rem;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        margin-bottom: 22px;
        align-self: flex-start;
        box-shadow: 0 2px 10px rgba(212, 169, 71, 0.18);
      }
      .sg-intro-badge svg {
        width: 11px;
        height: 11px;
      }
      .sg-intro-avatar-wrap {
        display: flex;
        align-items: center;
        gap: 16px;
        margin-bottom: 22px;
      }
      .sg-intro-avatar {
        width: 88px;
        height: 88px;
        border-radius: 50%;
        object-fit: cover;
        border: 3px solid rgba(59, 189, 228, 0.6);
        box-shadow:
          0 0 0 4px rgba(37, 160, 210, 0.15),
          0 8px 24px rgba(0, 0, 0, 0.5);
        background: #1f2c33;
        flex-shrink: 0;
      }
      .sg-intro-avatar-info h3 {
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 800;
        font-size: 1.35rem;
        color: #fff;
        line-height: 1.15;
        margin: 0 0 4px;
      }
      .sg-intro-avatar-info .sg-intro-role {
        font-size: 0.82rem;
        color: #7ed4ee;
        font-weight: 500;
      }
      .sg-intro-desc {
        font-size: 0.92rem;
        line-height: 1.6;
        color: rgba(255, 255, 255, 0.82);
        margin-bottom: 22px;
      }
      .sg-intro-desc strong {
        color: #fff;
        font-weight: 700;
      }
      .sg-intro-features {
        list-style: none;
        padding: 0;
        margin: 0 0 24px;
        display: flex;
        flex-direction: column;
        gap: 10px;
      }
      .sg-intro-features li {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        font-size: 0.85rem;
        color: rgba(255, 255, 255, 0.78);
        line-height: 1.45;
      }
      .sg-intro-features li svg {
        width: 16px;
        height: 16px;
        color: var(--celeste-light);
        flex-shrink: 0;
        margin-top: 2px;
      }
      /* Wrap del CTA con chip dorado encima */
      .sg-cta-wrap {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
      }
      .sg-cta-chip {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 5px 12px;
        border-radius: 999px;
        background: linear-gradient(135deg, rgba(245, 194, 107, 0.22), rgba(212, 169, 71, 0.14));
        border: 1px solid rgba(230, 183, 90, 0.55);
        color: #f5c26b;
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 700;
        font-size: 0.68rem;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        box-shadow: 0 2px 10px rgba(212, 169, 71, 0.18);
        animation: sgChipPulse 2.6s ease-in-out infinite;
      }
      .sg-cta-chip svg {
        width: 10px;
        height: 10px;
      }
      @keyframes sgChipPulse {
        0%,
        100% {
          transform: translateY(0);
          box-shadow: 0 2px 10px rgba(212, 169, 71, 0.18);
        }
        50% {
          transform: translateY(-2px);
          box-shadow: 0 4px 16px rgba(212, 169, 71, 0.35);
        }
      }
      .sg-intro-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 12px 22px;
        background: linear-gradient(135deg, var(--celeste) 0%, var(--celeste-light) 100%);
        color: #fff;
        border-radius: 999px;
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 700;
        font-size: 0.92rem;
        border: none;
        cursor: pointer;
        transition:
          transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
          box-shadow 0.25s ease;
        text-decoration: none;
        box-shadow:
          0 8px 24px rgba(37, 160, 210, 0.35),
          0 0 0 1px rgba(59, 189, 228, 0.4);
      }
      .sg-intro-cta:hover {
        transform: translateY(-2px) scale(1.02);
        box-shadow:
          0 14px 36px rgba(37, 160, 210, 0.5),
          0 4px 16px rgba(245, 194, 107, 0.25),
          0 0 0 1px rgba(59, 189, 228, 0.6);
      }
      .sg-intro-cta:active {
        transform: translateY(0) scale(1);
      }
      .sg-intro-cta svg {
        width: 14px;
        height: 14px;
      }

      /* PANEL DERECHO — Chat WhatsApp (sin cambios grandes) */
      .sg-wa-panel {
        display: flex;
        flex-direction: column;
        min-height: 0;
        background: #0b141a;
        border-left: 1px solid rgba(255, 255, 255, 0.04);
        overflow: hidden;
      }

      /* Header estilo WhatsApp */
      .sg-wa-header {
        background: #1f2c33;
        padding: 12px 14px;
        display: flex;
        align-items: center;
        gap: 12px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.04);
        flex-shrink: 0;
      }
      .sg-wa-back {
        background: transparent;
        border: none;
        color: #aebac1;
        cursor: pointer;
        padding: 4px;
        display: flex;
        align-items: center;
      }
      .sg-wa-back svg {
        width: 22px;
        height: 22px;
      }
      .sg-wa-avatar {
        width: 42px;
        height: 42px;
        border-radius: 50%;
        object-fit: cover;
        background: #25d366;
        flex-shrink: 0;
      }
      .sg-wa-info {
        flex: 1;
        min-width: 0;
      }
      .sg-wa-name {
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 600;
        font-size: 0.98rem;
        color: #e9edef;
        line-height: 1.2;
      }
      .sg-wa-status {
        font-size: 0.75rem;
        color: #8696a0;
        line-height: 1.2;
        margin-top: 2px;
      }
      .sg-wa-status.online::before {
        content: '';
        display: inline-block;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: #25d366;
        margin-right: 6px;
        vertical-align: middle;
      }
      .sg-wa-header-actions {
        display: flex;
        gap: 14px;
        color: #aebac1;
      }
      .sg-wa-header-actions svg {
        width: 20px;
        height: 20px;
      }

      /* Cuerpo del chat */
      .sg-wa-body {
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        padding: 16px 12px 12px;
        background-color: #0b141a;
        background-image:
          radial-gradient(circle at 20% 30%, rgba(37, 160, 210, 0.06) 0, transparent 40%),
          radial-gradient(circle at 80% 70%, rgba(37, 211, 102, 0.04) 0, transparent 40%);
        display: flex;
        flex-direction: column;
        gap: 4px;
        scroll-behavior: smooth;
      }
      .sg-wa-body::-webkit-scrollbar {
        width: 6px;
      }
      .sg-wa-body::-webkit-scrollbar-thumb {
        background: rgba(255, 255, 255, 0.12);
        border-radius: 3px;
      }

      /* Separador de hora */
      .sg-wa-divider {
        align-self: center;
        background: rgba(31, 44, 51, 0.8);
        color: #8696a0;
        font-size: 0.7rem;
        font-weight: 500;
        padding: 4px 11px;
        border-radius: 6px;
        margin: 6px 0;
      }

      /* Burbujas */
      .sg-bubble {
        max-width: 85%;
        padding: 7px 10px 5px;
        border-radius: 8px;
        font-size: 0.87rem;
        line-height: 1.4;
        color: #e9edef;
        position: relative;
        word-wrap: break-word;
        opacity: 0;
        transform: translateY(8px);
        animation: sgBubbleIn 0.32s ease forwards;
      }
      @keyframes sgBubbleIn {
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }
      .sg-bubble.in {
        align-self: flex-start;
        background: #1f2c33;
        border-top-left-radius: 2px;
      }
      .sg-bubble.out {
        align-self: flex-end;
        background: #005c4b;
        border-top-right-radius: 2px;
      }
      .sg-bubble strong {
        color: #fff;
        font-weight: 600;
      }
      .sg-bubble-time {
        display: inline-block;
        font-size: 0.64rem;
        color: rgba(233, 237, 239, 0.5);
        margin-left: 8px;
        float: right;
        margin-top: 4px;
        line-height: 1;
      }
      .sg-bubble.out .sg-bubble-time::after {
        content: ' ✓✓';
        color: #53bdeb;
      }
      .sg-bubble pre {
        font-family: 'Plus Jakarta Sans', sans-serif;
        white-space: pre-wrap;
        margin: 0;
        font-size: 0.87rem;
        line-height: 1.5;
      }

      /* Botones decorativos estilo WhatsApp Business "quick reply" — pegados al fondo de la burbuja */
      .sg-bubble-actions {
        display: flex;
        flex-direction: column;
        gap: 1px;
        margin: 8px -10px -5px -10px;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
      }
      .sg-bubble-action {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 9px 12px;
        background: transparent;
        border: none;
        border-top: 1px solid rgba(255, 255, 255, 0.06);
        color: #53bdeb;
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 500;
        font-size: 0.82rem;
        cursor: default;
        transition: background 0.2s ease;
        letter-spacing: 0.01em;
      }
      .sg-bubble-action:first-child {
        border-top: none;
      }
      .sg-bubble-action:hover {
        background: rgba(83, 189, 235, 0.08);
      }
      .sg-bubble-action svg {
        width: 14px;
        height: 14px;
        flex-shrink: 0;
      }
      /* Asegurar que cuando hay actions, la burbuja no muestre el time pegado a las acciones */
      .sg-bubble:has(.sg-bubble-actions) .sg-bubble-time {
        margin-bottom: 6px;
      }

      /* Indicador "escribiendo..." */
      .sg-typing {
        align-self: flex-start;
        background: #1f2c33;
        padding: 10px 14px;
        border-radius: 8px;
        border-top-left-radius: 2px;
        display: inline-flex;
        gap: 3px;
        opacity: 0;
        transform: translateY(8px);
        animation: sgBubbleIn 0.25s ease forwards;
      }
      .sg-typing span {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #8696a0;
        animation: sgTypingDot 1.1s infinite;
      }
      .sg-typing span:nth-child(2) {
        animation-delay: 0.18s;
      }
      .sg-typing span:nth-child(3) {
        animation-delay: 0.36s;
      }
      @keyframes sgTypingDot {
        0%,
        60%,
        100% {
          opacity: 0.3;
          transform: translateY(0);
        }
        30% {
          opacity: 1;
          transform: translateY(-3px);
        }
      }

      /* Footer / barra de input simulada */
      .sg-wa-footer {
        background: #1f2c33;
        padding: 10px 12px;
        display: flex;
        align-items: center;
        gap: 10px;
        flex-shrink: 0;
      }
      .sg-wa-input-fake {
        flex: 1;
        background: #2a3942;
        border-radius: 20px;
        padding: 9px 14px;
        color: #8696a0;
        font-size: 0.88rem;
      }
      .sg-wa-replay {
        background: var(--celeste);
        color: #fff;
        border: none;
        border-radius: 999px;
        padding: 8px 14px;
        height: 38px;
        display: inline-flex;
        align-items: center;
        gap: 7px;
        cursor: pointer;
        transition:
          background var(--transition),
          transform var(--transition);
        flex-shrink: 0;
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 600;
        font-size: 0.78rem;
        white-space: nowrap;
      }
      .sg-wa-replay:hover {
        background: var(--celeste-light);
        transform: scale(1.04);
      }
      .sg-wa-replay svg {
        width: 15px;
        height: 15px;
        flex-shrink: 0;
      }
      .sg-wa-replay:disabled {
        opacity: 0.4;
        cursor: not-allowed;
        transform: none;
      }
      /* En mobile, si hace falta, ocultamos el texto y dejamos solo el ícono */
      @media (max-width: 380px) {
        .sg-wa-replay span {
          display: none;
        }
        .sg-wa-replay {
          padding: 8px 10px;
          border-radius: 50%;
          width: 38px;
        }
      }

      /* Responsive: stack vertical en mobile/tablet */
      @media (max-width: 860px) {
        .sg-split {
          grid-template-columns: 1fr;
          grid-template-rows: auto auto;
          height: auto;
          max-width: 480px;
        }
        .sg-intro {
          padding: 28px 22px 22px;
          min-width: 0;
          overflow: hidden;
        }
        .sg-intro-content {
          overflow: visible;
          height: auto;
          min-width: 0;
        }
        .sg-intro-avatar {
          width: 74px;
          height: 74px;
        }
        .sg-intro-avatar-info h3 {
          font-size: 1.2rem;
        }
        .sg-intro-avatar-info {
          min-width: 0;
        }
        .sg-intro-desc {
          font-size: 0.9rem;
          margin-bottom: 16px;
          line-height: 1.55;
          word-wrap: break-word;
        }
        .sg-intro-features {
          margin-bottom: 18px;
        }
        .sg-intro-avatar-wrap {
          margin-bottom: 16px;
          min-width: 0;
        }
        .sg-intro-cta {
          margin-top: 18px;
        }

        /* Panel chat en mobile — altura fija para scroll interno tipo WhatsApp real */
        .sg-wa-panel {
          border-left: none;
          border-top: 1px solid rgba(255, 255, 255, 0.04);
          height: 540px;
          max-width: 100%;
          min-width: 0;
          box-sizing: border-box;
          overflow: hidden;
          display: flex;
          flex-direction: column;
        }
        .sg-wa-header {
          flex-shrink: 0;
        }
        .sg-wa-body {
          flex: 1;
          min-height: 0;
          overflow-y: auto;
          overflow-x: hidden;
        }
        .sg-wa-footer {
          flex-shrink: 0;
        }
        .sg-bubble {
          max-width: 82%;
          word-wrap: break-word;
          overflow-wrap: break-word;
        }
        .sg-bubble pre {
          white-space: pre-wrap;
          word-break: break-word;
        }

        /* Ajustes de sección en mobile */
        #tenna {
          padding: 60px 5%;
        }
        .sg-section-badge-wrap {
          margin-bottom: 28px;
        }
        .sg-section-badge {
          font-size: 0.72rem;
          padding: 7px 14px;
        }
      }
      @media (max-width: 499px) {
        #tenna {
          padding: 50px 16px;
        }
        .sg-intro-avatar {
          width: 64px;
          height: 64px;
        }
      }

      /* ════════════════════════════════════════════════
       SECCIÓN PLANES
       ════════════════════════════════════════════════ */
      #planes {
        background: var(--navy);
        padding: 100px 5%;
      }
      #planes .section-label {
        color: var(--celeste);
      }
      #planes .section-title {
        color: var(--white);
      }
      #planes .section-sub {
        color: var(--text-muted);
      }
      /* ── Tabla comparativa de planes ── */
      .planes-table-wrap {
        max-width: 1000px;
        margin: 0 auto;
        overflow-x: auto;
      }
      table.planes-table {
        width: 100%;
        border-collapse: collapse;
        background: transparent;
        table-layout: fixed;
      }
      .planes-table thead th {
        padding: 10px 12px 18px;
        text-align: center;
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.04em;
      }
      .planes-table thead th:first-child {
        text-align: left;
        width: 34%;
      }
      .planes-table td {
        padding: 12px 10px;
      }
      .planes-table td:first-child {
        padding: 12px 10px 12px 14px;
      }
      .planes-table .plan-th-inner {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
      }
      .planes-table .plan-th-name {
        display: inline-block;
        padding: 5px 22px;
        border-radius: 50px;
        font-size: 0.9rem;
        font-weight: 700;
      }
      .th-starter-pill {
        background: rgba(255, 255, 255, 0.1);
        color: #e2e8f0;
        border: 1px solid rgba(255, 255, 255, 0.2);
      }
      .th-silver-pill {
        background: rgba(255, 255, 255, 0.13);
        color: #f0f6ff;
        border: 1px solid rgba(255, 255, 255, 0.22);
      }
      .th-gold-pill {
        background: rgba(37, 160, 210, 0.22);
        color: #7dd3f0;
        border: 1px solid rgba(37, 160, 210, 0.5);
      }
      .th-platino-pill {
        background: rgba(180, 160, 230, 0.18);
        color: #d4c8f5;
        border: 1px solid rgba(180, 160, 230, 0.35);
      }
      .popular-badge {
        display: inline-block;
        background: rgba(37, 160, 210, 0.2);
        color: var(--celeste);
        font-size: 0.68rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        padding: 2px 12px;
        border-radius: 50px;
        text-transform: uppercase;
      }
      .planes-table .section-row td {
        padding: 14px 20px 8px;
        font-size: 0.7rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: var(--text-muted);
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        background: transparent;
      }
      .planes-table tbody tr.feat-row {
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        transition: background var(--transition);
      }
      .planes-table tbody tr.feat-row:hover {
        background: rgba(255, 255, 255, 0.03);
      }
      .planes-table td {
        padding: 14px 20px;
        text-align: center;
        vertical-align: middle;
      }
      .planes-table td:first-child {
        text-align: left;
        font-size: 0.9rem;
        color: rgba(235, 242, 250, 0.75);
      }
      .check-yes {
        color: var(--celeste);
        display: inline-block;
      }
      .check-no {
        color: rgba(255, 255, 255, 0.18);
        display: inline-block;
      }
      .check-yes svg,
      .check-no svg {
        width: 18px;
        height: 18px;
        vertical-align: middle;
      }
      .planes-table .col-gold {
        background: rgba(37, 160, 210, 0.04);
      }
      .planes-cta-row td {
        padding: 24px 20px 4px;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
      }
      .btn-plan {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 7px;
        padding: 10px 20px;
        border-radius: 50px;
        font-size: 0.82rem;
        font-weight: 700;
        transition: all var(--transition);
        white-space: nowrap;
      }
      .btn-plan .wa-circle {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: #25d366;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        transition:
          background var(--transition),
          transform var(--transition);
      }
      .btn-plan .wa-circle svg {
        width: 17px;
        height: 17px;
        color: white;
      }
      .btn-plan:hover .wa-circle {
        background: #1ebe5a;
        transform: scale(1.1);
      }
      .btn-plan.outline {
        border: 1.5px solid rgba(255, 255, 255, 0.2);
        color: rgba(235, 242, 250, 0.7);
      }
      .btn-plan.outline:hover {
        border-color: var(--celeste);
        color: var(--celeste);
      }
      .btn-plan.gold-btn {
        background: var(--celeste);
        color: #fff;
      }
      .btn-plan.gold-btn:hover {
        background: var(--celeste-light);
        transform: translateY(-2px);
        box-shadow: 0 4px 16px rgba(37, 160, 210, 0.35);
      }
      .btn-plan svg {
        width: 15px;
        height: 15px;
        flex-shrink: 0;
      }

      /* ════════════════════════════════════════════════
       SECCIÓN PRECIOS
       ════════════════════════════════════════════════ */
      #precios {
        background: var(--white);
        padding: 100px 5%;
      }
      .precio-intro {
        max-width: 1200px;
        margin: 0 auto 56px;
      }
      .precio-note {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: rgba(37, 160, 210, 0.08);
        border: 1px solid rgba(37, 160, 210, 0.25);
        color: var(--celeste);
        font-size: 0.8rem;
        font-weight: 700;
        padding: 8px 18px;
        border-radius: 50px;
        margin-bottom: 48px;
      }

      /* ════════════════════════════════════════════════
       TABLA DE PRECIOS — EDITAR AQUÍ
       Para actualizar precios, modifica los <td> con
       class="price-cell" en cada columna.
       Reemplaza "—" por el precio, ej: "$X,XXX/mes"
       ════════════════════════════════════════════════ */
      .price-table-wrap {
        max-width: 1100px;
        margin: 0 auto;
        overflow-x: auto;
        border-radius: var(--radius-lg);
        box-shadow: var(--shadow-sm);
        border: 1px solid rgba(11, 31, 58, 0.1);
      }
      table.price-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 0.93rem;
        background: var(--white);
      }
      .price-table thead tr {
        background: var(--navy);
      }
      .price-table thead th {
        padding: 20px 24px;
        text-align: center;
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 700;
        font-size: 1.1rem;
        letter-spacing: 0.04em;
        color: var(--text-muted);
      }
      .price-table thead th:first-child {
        text-align: left;
        color: var(--white);
      }
      .th-silver {
        color: #7eb8d4 !important;
      }
      .th-gold {
        color: var(--celeste) !important;
      }
      .th-plat {
        color: #b8e0f0 !important;
      }
      .price-table tbody tr {
        border-bottom: 1px solid rgba(11, 31, 58, 0.07);
        transition: background var(--transition);
      }
      .price-table tbody tr:last-child {
        border-bottom: none;
      }
      .price-table tbody tr:hover {
        background: var(--crystal);
      }
      .price-table td {
        padding: 16px 24px;
        text-align: center;
        color: var(--navy);
      }
      .price-table td:first-child {
        text-align: left;
        font-weight: 700;
        color: #2a3f5a;
        font-size: 0.88rem;
      }
      /* ════════════════════════════════════════════════
       CELDAS DE PRECIO — edita solo el contenido de
       estas celdas para actualizar la tabla
       ════════════════════════════════════════════════ */
      .price-cell {
        font-weight: 700;
        color: var(--navy);
        font-size: 0.9rem;
      }
      .price-cell.empty {
        color: #b0bec5;
        font-weight: 400;
      }
      .featured-col {
        background: rgba(37, 160, 210, 0.04);
      }
      .price-table tfoot td {
        padding: 14px 24px;
        font-size: 0.8rem;
        color: #8fa8c8;
        text-align: center;
        background: var(--navy);
        border-top: 2px solid rgba(37, 160, 210, 0.2);
      }
      .price-table tfoot td:first-child {
        text-align: left;
        color: var(--celeste);
        font-weight: 700;
      }

      /* ════════════════════════════════════════════════
       CTA FINAL
       ════════════════════════════════════════════════ */
      #contacto {
        background: var(--navy);
        padding: 100px 5%;
        text-align: center;
        position: relative;
        overflow: hidden;
      }
      #contacto::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 700px;
        height: 700px;
        border-radius: 50%;
        border: 1px solid rgba(37, 160, 210, 0.08);
        pointer-events: none;
      }
      .cta-title {
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 800;
        font-size: clamp(1.9rem, 3.4vw, 3rem);
        color: var(--white);
        margin-bottom: 16px;
        line-height: 1.1;
        position: relative;
        z-index: 2;
      }
      .cta-title .accent {
        color: var(--celeste);
      }
      .cta-sub {
        color: var(--text-muted);
        font-size: 1.05rem;
        margin-bottom: 40px;
        position: relative;
        z-index: 2;
      }
      .btn-wa-big {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: #25d366;
        color: var(--white);
        width: 72px;
        height: 72px;
        border-radius: 50%;
        box-shadow: 0 6px 32px rgba(37, 211, 102, 0.35);
        transition: all var(--transition);
        position: relative;
        z-index: 2;
      }
      .btn-wa-big:hover {
        background: #1ebe5a;
        transform: scale(1.12);
        box-shadow: 0 10px 40px rgba(37, 211, 102, 0.45);
      }
      .btn-wa-big svg {
        width: 36px;
        height: 36px;
      }
      .btn-wa-big .btn-label {
        display: none;
      }
      .contact-row {
        margin-top: 40px;
        display: flex;
        justify-content: center;
        gap: 40px;
        flex-wrap: wrap;
        position: relative;
        z-index: 2;
      }
      .contact-item {
        display: flex;
        align-items: center;
        gap: 8px;
        color: var(--text-muted);
        font-size: 0.9rem;
        transition: color var(--transition);
      }
      .contact-item:hover {
        color: var(--celeste);
      }
      .contact-item svg {
        width: 18px;
        height: 18px;
      }

      /* ════════════════════════════════════════════════
       FOOTER
       ════════════════════════════════════════════════ */
      footer {
        background: #060f1e;
        padding: 32px 5%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 16px;
        border-top: 1px solid rgba(37, 160, 210, 0.1);
      }
      footer img {
        height: 32px;
        mix-blend-mode: screen;
        opacity: 0.7;
      }
      footer p {
        font-size: 0.8rem;
        color: rgba(143, 168, 200, 0.5);
      }
      footer a {
        color: var(--celeste);
        font-size: 0.8rem;
        opacity: 0.8;
        transition: opacity var(--transition);
      }
      footer a:hover {
        opacity: 1;
      }

      /* ════════════════════════════════════════════════
       ANIMACIÓN DE ENTRADA (Intersection Observer)
       ════════════════════════════════════════════════ */
      .reveal {
        opacity: 0;
        transform: translateY(28px);
        transition:
          opacity 0.6s ease,
          transform 0.6s ease;
      }
      .reveal.visible {
        opacity: 1;
        transform: translateY(0);
      }

      /* ════════════════════════════════════════════════
       RESPONSIVE
       ════════════════════════════════════════════════ */
      @media (max-width: 900px) {
        .hero-inner {
          grid-template-columns: 1fr;
          gap: 40px;
        }
        .hero-logo-wrap {
          order: -1;
        }
        .hero-logo-wrap img {
          max-width: 280px;
          margin: 0 auto;
        }
        .planes-grid {
          grid-template-columns: 1fr;
          max-width: 420px;
        }
        .nav-links {
          display: none;
        }
        .nav-cta {
          display: none;
        }
      }

      /* ════════════════════════════════════════════════
       MENÚ HAMBURGUESA MOBILE (drawer lateral)
       ════════════════════════════════════════════════ */
      /* Botón hamburguesa — visible solo en mobile (<900px) */
      /* position:absolute para que sea inmune a cualquier overflow/squeeze del flex del nav */
      .nav-hamburger {
        display: none;
        position: absolute;
        top: 50%;
        right: 16px;
        transform: translateY(-50%);
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        background: rgba(37, 160, 210, 0.15);
        border: 1px solid rgba(37, 160, 210, 0.45);
        border-radius: 8px;
        cursor: pointer;
        padding: 0;
        margin: 0;
        color: #fff;
        -webkit-appearance: none;
        appearance: none;
        flex-shrink: 0;
        z-index: 101;
        transition:
          background 0.25s ease,
          border-color 0.25s ease;
      }
      .nav-hamburger:hover,
      .nav-hamburger:active {
        background: rgba(37, 160, 210, 0.3);
        border-color: var(--celeste);
      }
      .nav-hamburger svg {
        width: 22px;
        height: 22px;
        display: block;
        pointer-events: none;
      }
      .nav-hamburger svg line {
        stroke: #ffffff;
        stroke-width: 2.5;
        stroke-linecap: round;
      }

      .nav-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 199;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.25s ease;
      }
      .nav-overlay.is-open {
        opacity: 1;
        pointer-events: auto;
      }

      .nav-drawer {
        display: none;
        position: fixed;
        top: 0;
        right: 0;
        width: min(320px, 85vw);
        height: 100vh;
        background: var(--navy);
        border-left: 1px solid rgba(37, 160, 210, 0.15);
        box-shadow: -8px 0 32px rgba(0, 0, 0, 0.4);
        padding: 80px 0 24px;
        z-index: 200;
        pointer-events: none;
        overflow-y: auto;
      }
      /* En mobile: cerrado = display none (no genera overflow). Abierto = visible con animación */
      @media (max-width: 900px) {
        .nav-drawer.is-open {
          display: block;
          animation: drawerSlideIn 0.3s ease forwards;
          pointer-events: auto;
        }
      }
      @keyframes drawerSlideIn {
        from {
          transform: translateX(100%);
        }
        to {
          transform: translateX(0);
        }
      }
      .nav-drawer-close {
        position: absolute;
        top: 16px;
        right: 16px;
        width: 44px;
        height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: transparent;
        border: none;
        cursor: pointer;
        color: rgba(255, 255, 255, 0.7);
        padding: 0;
        transition: color 0.25s ease;
      }
      .nav-drawer-close:hover {
        color: var(--celeste);
      }
      .nav-drawer-close svg {
        width: 18px;
        height: 18px;
      }
      .nav-drawer-list {
        list-style: none;
        padding: 0;
        margin: 0;
      }
      .nav-drawer-list li {
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      }
      .nav-drawer-list a {
        display: block;
        padding: 14px 24px;
        color: rgba(255, 255, 255, 0.85);
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-size: 1.05rem;
        font-weight: 500;
        text-decoration: none;
        transition:
          background 0.2s ease,
          color 0.2s ease;
      }
      .nav-drawer-list a:hover,
      .nav-drawer-list a:focus {
        background: rgba(37, 160, 210, 0.08);
        color: var(--celeste);
      }
      .nav-drawer-cta-wrap {
        padding: 20px 24px 0;
      }
      .nav-drawer-cta {
        display: block;
        width: 100%;
        padding: 14px 24px;
        background: var(--celeste);
        color: #fff;
        text-align: center;
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-size: 1rem;
        font-weight: 700;
        border-radius: 999px;
        text-decoration: none;
        transition: all 0.25s ease;
      }
      .nav-drawer-cta:hover {
        background: var(--celeste-light);
        transform: translateY(-1px);
        box-shadow: 0 6px 16px rgba(37, 160, 210, 0.35);
      }
      /* Activación del drawer en mobile */
      @media (max-width: 900px) {
        .nav-overlay {
          display: block;
        }
        .nav-hamburger {
          display: flex !important;
        }
      }
      /* Bloqueo de scroll del body cuando el drawer está abierto */
      body.nav-drawer-open {
        overflow: hidden;
      }

      /* ── Botón WhatsApp flotante móvil ── */
      .wa-float-mobile {
        display: none;
        position: fixed;
        bottom: 24px;
        right: 20px;
        z-index: 200;
        width: 54px;
        height: 54px;
        border-radius: 50%;
        background: #25d366;
        align-items: center;
        justify-content: center;
        box-shadow: 0 4px 20px rgba(37, 211, 102, 0.45);
        transition:
          transform var(--transition),
          opacity var(--transition);
        opacity: 0;
        pointer-events: none;
      }
      .wa-float-mobile.visible {
        opacity: 1;
        pointer-events: auto;
      }
      .wa-float-mobile svg {
        width: 28px;
        height: 28px;
      }
      @media (max-width: 900px) {
        .wa-float-mobile {
          display: flex;
        }
      }
      @media (max-width: 600px) {
        .pain-grid {
          grid-template-columns: 1fr;
        }
        @media (max-width: 1100px) and (min-width: 601px) {
          .pain-grid {
            grid-template-columns: repeat(2, 1fr);
          }
        }
        .feat-grid {
          grid-template-columns: 1fr;
        }
        .outputs-row {
          gap: 12px;
        }
      }

      /* ════════════════════════════════════════
       CARDS DE PLANES (Propuesta 1)
       ════════════════════════════════════════ */
      .plan-cards-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 14px;
        max-width: 1100px;
        margin: 0 auto;
      }
      .plan-card-v2 {
        background: #1e2b3c;
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 16px;
        padding: 26px 20px 22px;
        display: flex;
        flex-direction: column;
        position: relative;
        transition:
          border-color var(--transition),
          transform var(--transition);
      }
      .plan-card-v2:hover {
        border-color: rgba(37, 160, 210, 0.3);
        transform: translateY(-4px);
      }
      .plan-card-v2.featured {
        background: #0e2a45;
        border-color: #25a0d2;
        box-shadow: 0 0 0 1px #25a0d2;
      }
      /* Plan Elite IA — borde dorado para marcarlo como plan premium */
      .plan-card-v2.plan-elite {
        border-color: rgba(230, 183, 90, 0.6);
        box-shadow:
          0 0 0 1px rgba(230, 183, 90, 0.35),
          0 8px 32px rgba(212, 169, 71, 0.12);
      }
      .plan-card-v2.plan-elite:hover {
        border-color: rgba(245, 194, 107, 0.85);
        box-shadow:
          0 0 0 1px rgba(245, 194, 107, 0.55),
          0 10px 36px rgba(212, 169, 71, 0.22);
      }
      .plan-card-v2.plan-elite .pcv2-name {
        background: linear-gradient(135deg, #f5c26b 0%, #d4a947 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
      }
      .pcv2-badge {
        position: absolute;
        top: -12px;
        left: 50%;
        transform: translateX(-50%);
        background: #25a0d2;
        color: #fff;
        font-size: 9px;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        padding: 3px 16px;
        border-radius: 50px;
        white-space: nowrap;
      }
      .pcv2-name {
        font-size: 22px;
        font-weight: 800;
        color: #fff;
        margin-bottom: 3px;
      }
      .plan-card-v2.featured .pcv2-name {
        color: #7dd3f0;
      }
      .pcv2-suc {
        font-size: 11px;
        color: rgba(255, 255, 255, 0.38);
        margin-bottom: 18px;
      }
      .pcv2-price {
        font-size: 38px;
        font-weight: 900;
        color: #fff;
        line-height: 1;
        letter-spacing: -0.02em;
      }
      .plan-card-v2.featured .pcv2-price {
        color: #7dd3f0;
      }
      .pcv2-price-note {
        font-size: 10px;
        color: rgba(255, 255, 255, 0.32);
        margin-bottom: 20px;
        margin-top: 4px;
      }
      .pcv2-divider {
        height: 1px;
        background: rgba(255, 255, 255, 0.07);
        margin-bottom: 18px;
      }
      .pcv2-feats {
        display: flex;
        flex-direction: column;
        gap: 9px;
        flex: 1;
        margin-bottom: 22px;
      }
      .pcv2-feat {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 11.5px;
      }
      .pcv2-feat.yes {
        color: rgba(255, 255, 255, 0.78);
      }
      .pcv2-feat.no {
        color: rgba(255, 255, 255, 0.22);
        text-decoration: line-through;
      }
      .pcv2-dot {
        width: 17px;
        height: 17px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
      }
      .pcv2-dot.yes {
        background: rgba(37, 160, 210, 0.2);
      }
      .pcv2-dot.no {
        background: rgba(255, 255, 255, 0.05);
      }
      .pcv2-dot svg {
        width: 9px;
        height: 9px;
      }
      .pcv2-cot {
        font-size: 10px;
        font-weight: 700;
        color: #25a0d2;
      }
      /* Botones de plan */
      .pcv2-btns {
        display: flex;
        flex-direction: column;
        gap: 8px;
      }
      .pcv2-btn-primary {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 11px 16px;
        border-radius: 50px;
        font-size: 13px;
        font-weight: 700;
        background: #25a0d2;
        color: #fff;
        border: none;
        cursor: pointer;
        transition:
          background var(--transition),
          transform var(--transition);
        text-decoration: none;
      }
      .pcv2-btn-primary:hover {
        background: #3bbde4;
        transform: scale(1.02);
      }
      .plan-card-v2.featured .pcv2-btn-primary {
        background: #25a0d2;
      }
      .pcv2-btn-secondary {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 10px 16px;
        border-radius: 50px;
        font-size: 12px;
        font-weight: 600;
        background: transparent;
        color: rgba(255, 255, 255, 0.5);
        border: 1px solid rgba(255, 255, 255, 0.12);
        cursor: pointer;
        transition: all var(--transition);
        text-decoration: none;
      }
      .pcv2-btn-secondary:hover {
        border-color: rgba(37, 160, 210, 0.4);
        color: #7dd3f0;
      }
      .pcv2-btn-secondary svg,
      .pcv2-btn-primary svg {
        width: 14px;
        height: 14px;
        flex-shrink: 0;
      }
      @media (max-width: 1000px) {
        .plan-cards-grid {
          grid-template-columns: repeat(2, 1fr);
        }
      }
      @media (max-width: 600px) {
        .plan-cards-grid {
          grid-template-columns: 1fr;
        }
      }

      .pcv2-info-row {
        display: flex;
        gap: 14px;
        margin-bottom: 10px;
        flex-wrap: wrap;
      }
      .pcv2-info-item {
        display: flex;
        align-items: center;
        gap: 5px;
        font-size: 11px;
        color: rgba(255, 255, 255, 0.42);
      }
      .pcv2-soporte {
        display: flex;
        align-items: center;
        gap: 6px;
        font-size: 10.5px;
        color: rgba(255, 255, 255, 0.38);
        margin-bottom: 16px;
        line-height: 1.4;
      }
      .plan-card-v2.featured .pcv2-info-item,
      .plan-card-v2.featured .pcv2-soporte {
        color: rgba(125, 211, 240, 0.55);
      }

      .pcv2-desde {
        font-size: 11px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.35);
        text-transform: lowercase;
        letter-spacing: 0.04em;
        margin-bottom: 2px;
      }
      .plan-card-v2.featured .pcv2-desde {
        color: rgba(125, 211, 240, 0.45);
      }
      .pcv2-dot.opt {
        background: rgba(255, 255, 255, 0.06);
      }
      .pcv2-feat.opt {
        color: rgba(255, 255, 255, 0.55);
      }
      .pcv2-sub-feats {
        margin-left: 25px;
        margin-top: 5px;
        display: flex;
        flex-direction: column;
        gap: 4px;
      }
      .pcv2-sub-feat {
        font-size: 10.5px;
        color: rgba(255, 255, 255, 0.38);
        line-height: 1.4;
      }
      .pcv2-soporte-row {
        display: flex;
        align-items: flex-start;
        gap: 6px;
        font-size: 10.5px;
        color: rgba(255, 255, 255, 0.38);
        margin-top: 14px;
        margin-bottom: 16px;
        line-height: 1.4;
        padding-top: 12px;
        border-top: 1px solid rgba(255, 255, 255, 0.06);
      }
      .plan-card-v2.featured .pcv2-soporte-row {
        color: rgba(125, 211, 240, 0.5);
      }

      /* Bloque "Configuración inicial" en cada card */
      .pcv2-setup {
        padding: 12px 14px;
        margin-bottom: 16px;
        background: rgba(255, 255, 255, 0.02);
        border: 1px solid rgba(255, 255, 255, 0.06);
        border-radius: 10px;
      }
      .pcv2-setup-label {
        font-size: 10.5px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: rgba(255, 255, 255, 0.55);
        margin-bottom: 6px;
      }
      .pcv2-setup-price {
        font-size: 14px;
        font-weight: 700;
        color: rgba(255, 255, 255, 0.85);
        line-height: 1.35;
      }
      .pcv2-setup-note {
        display: block;
        font-size: 10px;
        font-weight: 500;
        color: rgba(255, 255, 255, 0.45);
        margin-top: 1px;
      }
      .pcv2-setup-extra {
        margin-top: 6px;
        padding-top: 6px;
        border-top: 1px dashed rgba(255, 255, 255, 0.08);
        font-size: 11px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.65);
        line-height: 1.45;
      }
      .pcv2-setup-extra .pcv2-setup-note {
        color: rgba(255, 255, 255, 0.4);
      }
      /* Variantes por plan */
      .plan-card-v2.featured .pcv2-setup-label {
        color: rgba(125, 211, 240, 0.65);
      }
      .plan-card-v2.featured .pcv2-setup-price {
        color: rgba(125, 211, 240, 0.95);
      }
      .plan-card-v2.plan-elite .pcv2-setup-label {
        color: rgba(245, 194, 107, 0.7);
      }
      .plan-card-v2.plan-elite .pcv2-setup-price {
        color: rgba(245, 194, 107, 0.95);
      }

      /* ════════════════════════════════════════
       TABLA DE PRECIOS REDISEÑADA
       ════════════════════════════════════════ */
      #precios {
        background: var(--white);
        padding: 100px 5%;
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
        box-sizing: border-box;
      }
      #precios .section-label {
        color: var(--royal);
      }
      #precios .section-title {
        color: var(--navy);
      }
      #precios .section-sub {
        color: #4a6080;
      }

      .price-table-wrap {
        max-width: 1100px;
        margin: 0 auto 60px;
        border-radius: 20px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        box-shadow: 0 8px 40px rgba(11, 31, 58, 0.12);
        border: 1px solid rgba(11, 31, 58, 0.08);
      }
      table.price-table {
        min-width: 640px;
      }
      table.price-table {
        width: 100%;
        border-collapse: collapse;
        background: var(--white);
      }
      .price-table thead tr {
        background: #0d1420;
      }
      .price-table {
        table-layout: fixed;
      }
      .price-table thead th {
        padding: 18px 12px;
        text-align: center;
        font-weight: 800;
        font-size: 0.95rem;
        letter-spacing: 0.02em;
        width: 16%;
      }
      .price-table thead th:first-child {
        text-align: left;
        color: rgba(255, 255, 255, 0.6);
        font-size: 0.82rem;
        font-weight: 600;
        width: 36%;
      }
      .price-table td {
        padding: 16px 12px;
      }
      .price-table td:first-child {
        padding: 16px 12px 16px 20px;
      }
      @media (max-width: 768px) {
        .price-table-wrap {
          display: block;
          width: 100%;
          max-width: 100%;
          overflow-x: scroll;
          -webkit-overflow-scrolling: touch;
          border-radius: 16px;
          position: relative;
        }
        table.price-table {
          min-width: 780px;
        }
        .price-table thead th:first-child {
          width: 140px;
        }
        .price-table thead th {
          width: 110px;
        }
        /* En mobile: sin background ni border-radius en las celdas para que la tabla se vea integrada */
        .pc.pro,
        .pc.elite {
          background: transparent;
          border-radius: 0;
          padding: 16px 12px;
        }
        .price-table thead th.th-elite {
          border-radius: 0;
        }
        .scroll-fade {
          position: absolute;
          top: 0;
          right: 0;
          width: 48px;
          height: 100%;
          background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.95));
          pointer-events: none;
          border-radius: 0 16px 16px 0;
          opacity: 1;
          transition: opacity 0.25s ease;
        }
        .scroll-fade.is-hidden {
          opacity: 0;
        }
      }
      @media (min-width: 769px) {
        .scroll-fade {
          display: none;
        }
      }
      .price-table tbody tr {
        border-bottom: 1px solid rgba(11, 31, 58, 0.06);
        transition: background 0.2s;
      }
      .price-table tbody tr:last-child {
        border-bottom: none;
      }
      .price-table tbody tr:hover {
        background: #f8faff;
      }
      .price-table td {
        padding: 16px 20px;
        text-align: center;
        color: var(--navy);
        font-size: 0.9rem;
      }
      .price-table td:first-child {
        text-align: left;
        font-weight: 600;
        color: #2a3f5a;
        font-size: 0.88rem;
      }
      .pc {
        font-weight: 800;
        font-size: 1rem;
        position: relative;
      }
      .pc-note {
        display: block;
        font-size: 0.68rem;
        font-weight: 500;
        margin-top: 2px;
      }
      .pc.starter {
        color: #94a3b8;
      }
      .pc.starter .pc-note {
        color: #94a3b8;
      }
      .pc.core {
        color: #64748b;
      }
      .pc.core .pc-note {
        color: #94a3b8;
      }
      .pc.pro {
        color: #0369a1;
        background: rgba(37, 160, 210, 0.06);
        border-radius: 8px;
        padding: 8px 6px;
      }
      .pc.pro .pc-note {
        color: #0ea5e9;
      }
      .pc.elite {
        color: #b8862f;
        background: rgba(245, 194, 107, 0.07);
        border-radius: 8px;
        padding: 8px 6px;
        font-weight: 700;
      }
      .pc.elite .pc-note {
        color: #b8862f;
        opacity: 0.75;
      }
      .pc.na {
        color: #cbd5e1;
        font-size: 0.8rem;
        font-weight: 500;
        font-style: italic;
      }
      /* Header dorado de Elite IA — sin border-radius para que se integre con la fila */
      .price-table thead th.th-elite {
        background: rgba(245, 194, 107, 0.08);
      }
      .pc-desc {
        display: block;
        font-size: 0.72rem;
        font-weight: 600;
        color: #25a0d2;
        margin-top: 3px;
        font-style: italic;
      }
      /* Tfoot tabla precios — 3 filas: disclaimer técnico, asterisco, CTA */
      .price-table tfoot td {
        background: #0d1420;
        text-align: center;
        vertical-align: middle;
        line-height: 1.55;
      }
      /* Filas 1 y 2: disclaimers tenues (mismo tamaño, peso y color) */
      .price-table tfoot tr.tfoot-disclaimer-row td {
        padding: 12px 24px 4px;
        font-size: 0.76rem;
        font-weight: 500;
        color: rgba(255, 255, 255, 0.45);
        border-top: none;
      }
      .price-table tfoot tr.tfoot-disclaimer-row:first-child td {
        padding-top: 16px;
        border-top: 2px solid rgba(37, 160, 210, 0.2);
      }
      .price-table tfoot tr.tfoot-disclaimer-row + tr.tfoot-disclaimer-row td {
        padding-top: 4px;
        padding-bottom: 8px;
      }
      /* Fila 3: CTA — mismo tamaño que disclaimers, peso 600 para diferenciarlo sutilmente */
      .price-table tfoot tr.tfoot-cta-row td {
        padding: 10px 24px 16px;
        font-size: 0.8rem;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.7);
        border-top: 1px solid rgba(255, 255, 255, 0.06);
      }
      .price-table tfoot tr.tfoot-cta-row a {
        color: inherit;
        text-decoration: none;
      }
      .price-table tfoot tr.tfoot-cta-row strong {
        color: #7dd3f0;
        font-weight: 700;
      }

      /* Fila "Configuración inicial" — visualmente separada del resto */
      .price-table tr.setup-row td {
        border-top: 2px solid rgba(11, 31, 58, 0.12);
        padding-top: 22px;
        padding-bottom: 18px;
        vertical-align: top;
        background: rgba(11, 31, 58, 0.025);
      }
      .price-table tr.setup-row td:first-child {
        font-weight: 700;
        color: #2a3f5a;
      }
      .price-table tr.setup-row .setup-label-note {
        display: block;
        font-size: 0.72rem;
        font-weight: 500;
        color: #94a3b8;
        margin-top: 3px;
        font-style: italic;
      }
      .price-table tr.setup-row .pc {
        background: transparent !important;
        border-radius: 0 !important;
        padding: 0 !important;
        font-weight: 700;
        font-size: 0.92rem;
      }
      .price-table tr.setup-row .pc.pc-elite-setup {
        color: #b8862f;
      }
      .price-table tr.setup-row .pc.pc-pro-setup {
        color: #0369a1;
      }
      .price-table tr.setup-row .pc-tenna-line {
        display: block;
        font-size: 0.78rem;
        font-weight: 600;
        color: #b8862f;
        margin-top: 4px;
        line-height: 1.35;
      }
      .price-table tr.setup-row .asterisk {
        font-size: 0.9rem;
        vertical-align: super;
        margin-left: 1px;
      }
      /* Nota al pie con asterisco — ahora dentro del tfoot, ver .tfoot-asterisk-row arriba */
      @media (max-width: 768px) {
        .price-table tr.setup-row .pc {
          font-size: 0.82rem;
        }
        .price-table tr.setup-row .pc-tenna-line {
          font-size: 0.68rem;
        }
      }
      /* ════════════════════════════════════════
       CALCULADORA
       ════════════════════════════════════════ */
      .calc-wrap {
        max-width: 900px;
        margin: 0 auto;
        background: linear-gradient(135deg, #0d1420 0%, #0f2a45 100%);
        border-radius: 24px;
        padding: 40px 44px;
        position: relative;
        overflow: hidden;
        box-shadow: 0 20px 60px rgba(11, 31, 58, 0.3);
      }
      .calc-wrap::before {
        content: '';
        position: absolute;
        top: -80px;
        right: -80px;
        width: 300px;
        height: 300px;
        border-radius: 50%;
        border: 1px solid rgba(37, 160, 210, 0.1);
        pointer-events: none;
      }
      .calc-header {
        display: flex;
        align-items: flex-start;
        gap: 16px;
        margin-bottom: 32px;
      }
      .calc-icon {
        width: 48px;
        height: 48px;
        border-radius: 14px;
        background: rgba(37, 160, 210, 0.15);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
      }
      .calc-icon svg {
        width: 24px;
        height: 24px;
        stroke: #25a0d2;
      }
      .calc-title {
        font-size: 1.3rem;
        font-weight: 800;
        color: #fff;
        margin-bottom: 4px;
      }
      .calc-sub {
        font-size: 0.88rem;
        color: rgba(255, 255, 255, 0.45);
      }
      .calc-controls {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 32px;
        margin-bottom: 32px;
      }
      .calc-group {
        display: flex;
        flex-direction: column;
        gap: 12px;
      }
      .calc-label {
        font-size: 0.82rem;
        font-weight: 700;
        color: rgba(255, 255, 255, 0.6);
        letter-spacing: 0.04em;
        text-transform: uppercase;
      }
      .calc-slider-row {
        display: flex;
        align-items: center;
        gap: 14px;
      }
      .calc-slider {
        flex: 1;
        -webkit-appearance: none;
        appearance: none;
        height: 6px;
        border-radius: 3px;
        background: rgba(255, 255, 255, 0.1);
        outline: none;
      }
      .calc-slider::-webkit-slider-thumb {
        -webkit-appearance: none;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: #25a0d2;
        cursor: pointer;
        border: 3px solid #fff;
        box-shadow: 0 2px 8px rgba(37, 160, 210, 0.4);
      }
      .calc-val {
        min-width: 36px;
        text-align: center;
        font-size: 1.1rem;
        font-weight: 800;
        color: #25a0d2;
      }
      .calc-suc-marks {
        display: flex;
        justify-content: space-between;
        font-size: 0.7rem;
        color: rgba(255, 255, 255, 0.25);
        padding: 0 2px;
      }
      .calc-plan-tabs {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
      }
      .calc-tab {
        padding: 8px 16px;
        border-radius: 50px;
        border: 1.5px solid rgba(255, 255, 255, 0.12);
        background: transparent;
        color: rgba(255, 255, 255, 0.45);
        font-size: 0.82rem;
        font-weight: 700;
        cursor: pointer;
        font-family: inherit;
        transition: all 0.2s;
      }
      .calc-tab:hover {
        border-color: rgba(37, 160, 210, 0.4);
        color: #7dd3f0;
      }
      .calc-tab.active {
        background: #25a0d2;
        border-color: #25a0d2;
        color: #fff;
      }
      .calc-result {
        background: rgba(255, 255, 255, 0.04);
        border: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 16px;
        padding: 28px;
      }
      .calc-result-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
        margin-bottom: 24px;
      }
      .calc-metric {
        display: flex;
        flex-direction: column;
        gap: 6px;
        text-align: center;
      }
      .calc-metric-label {
        font-size: 0.72rem;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.4);
        text-transform: uppercase;
        letter-spacing: 0.06em;
      }
      .calc-metric-val {
        font-size: 1.5rem;
        font-weight: 900;
        color: #fff;
      }
      .calc-metric.highlight .calc-metric-val {
        color: #25a0d2;
        font-size: 1.8rem;
      }
      .calc-metric.accent {
        background: rgba(37, 160, 210, 0.08);
        border-radius: 12px;
        padding: 12px 8px;
      }
      .calc-metric.accent .calc-metric-val {
        color: #7dd3f0;
      }
      .calc-divider {
        height: 1px;
        background: rgba(255, 255, 255, 0.08);
        margin-bottom: 20px;
      }
      .calc-msg {
        display: flex;
        align-items: flex-start;
        gap: 14px;
        padding-top: 20px;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
      }
      .calc-msg-emoji {
        font-size: 2rem;
        line-height: 1;
        flex-shrink: 0;
      }
      #calc-msg-text {
        font-size: 0.92rem;
        color: rgba(255, 255, 255, 0.7);
        line-height: 1.65;
      }
      #calc-msg-text strong {
        color: #7dd3f0;
      }
      @media (max-width: 700px) {
        .calc-controls {
          grid-template-columns: 1fr;
        }
        .calc-result-grid {
          grid-template-columns: 1fr;
        }
        .calc-wrap {
          padding: 28px 22px;
        }
      }

      /* ── Cubo móvil: visible solo en pantallas angostas ── */
      .hero-cube-mobile {
        display: none;
        justify-content: center;
        margin: 20px 0 16px;
      }
      .hero-cube-mobile img {
        height: 180px;
        width: auto;
        animation: floatCube 5s ease-in-out infinite;
        filter: drop-shadow(0 0 24px rgba(37, 160, 210, 0.3));
      }

      /* ══ COMO FUNCIONA DIAGRAMA ══ */
      @keyframes cfring {
        0% {
          stroke-dashoffset: 292;
          stroke: #25a0d2;
        }
        40% {
          stroke-dashoffset: 0;
          stroke: #22c55e;
        }
        60% {
          stroke-dashoffset: 0;
          stroke: #22c55e;
        }
        100% {
          stroke-dashoffset: 292;
          stroke: #25a0d2;
        }
      }
      @keyframes cfspin {
        0% {
          transform: rotate(-90deg);
        }
        100% {
          transform: rotate(270deg);
        }
      }
      @keyframes cfdot {
        0%,
        100% {
          opacity: 1;
        }
        50% {
          opacity: 0.3;
        }
      }
      .cf-desktop {
        display: grid;
        grid-template-columns: 1fr 52px 1fr 52px 1fr;
        align-items: center;
        min-height: 320px;
      }
      @media (max-width: 768px) {
        .cf-desktop {
          display: none;
        }
      }
      .cf-mobile {
        display: none;
        flex-direction: column;
        align-items: center;
      }
      @media (max-width: 768px) {
        .cf-mobile {
          display: flex;
        }
      }
      .cf-col-suc,
      .cf-col-out {
        display: flex;
        flex-direction: column;
        gap: 11px;
      }
      .cf-suc,
      .cf-out {
        border-radius: 12px;
        padding: 9px 13px;
        display: flex;
        align-items: center;
        gap: 10px;
      }
      .cf-suc {
        background: var(--white);
        border: 1.5px solid rgba(37, 160, 210, 0.15);
        box-shadow: 0 1px 4px rgba(11, 31, 58, 0.05);
      }
      .cf-ghost {
        border-style: dashed !important;
        opacity: 0.5;
      }
      .cf-out {
        background: #0d1420;
        border: 1px solid rgba(37, 160, 210, 0.18);
      }
      .cf-ico,
      .cf-out-ico {
        width: 32px;
        height: 32px;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
      }
      .cf-ico {
        background: rgba(37, 160, 210, 0.1);
      }
      .cf-out-ico {
        background: rgba(37, 160, 210, 0.15);
      }
      .cf-suc-n {
        font-size: 11.5px;
        font-weight: 700;
        color: var(--navy);
      }
      .cf-suc-s {
        font-size: 10px;
        color: #94a3b8;
        display: flex;
        align-items: center;
        gap: 4px;
      }
      .cf-dot {
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: #22c55e;
        display: inline-block;
        animation: cfdot 1.8s ease-in-out infinite;
      }
      .cf-out-n {
        font-size: 11.5px;
        font-weight: 700;
        color: #fff;
      }
      .cf-out-d {
        font-size: 10px;
        color: rgba(255, 255, 255, 0.4);
      }
      .cf-center {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
      }
      .cf-ring {
        position: relative;
        width: 108px;
        height: 108px;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .cf-inner {
        width: 90px;
        height: 90px;
        border-radius: 50%;
        background: #0d1420;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        z-index: 1;
        position: relative;
      }
      .cf-live {
        position: absolute;
        top: 7px;
        right: 9px;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: #22c55e;
        animation: cfdot 1.8s ease-in-out infinite;
      }
      .cf-ct {
        font-size: 8px;
        font-weight: 800;
        color: #fff;
        letter-spacing: 0.03em;
        text-align: center;
        line-height: 1.4;
      }
      .cf-ct span {
        color: #25a0d2;
      }
      .cf-badge {
        background: var(--white);
        border: 1px solid rgba(37, 160, 210, 0.25);
        border-radius: 50px;
        padding: 5px 14px;
        display: flex;
        align-items: center;
        gap: 7px;
        box-shadow: 0 1px 4px rgba(37, 160, 210, 0.1);
        min-height: 30px;
        transition: opacity 0.3s;
        white-space: nowrap;
      }
      .cf-badge-txt {
        font-size: 10px;
        font-weight: 700;
        color: #1a4baa;
      }
      .cf-lines-col {
        height: 320px;
        position: relative;
      }
      /* Móvil pills */
      .cf-m-pills {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        width: 100%;
        margin-bottom: 0;
      }
      .cf-pill {
        background: #0d1420;
        border: 1px solid rgba(37, 160, 210, 0.2);
        border-radius: 50px;
        padding: 8px 14px;
        display: flex;
        align-items: center;
        gap: 7px;
        font-size: 11px;
        font-weight: 700;
        color: #fff;
      }

      .cf-m-line {
        height: 56px;
        width: 2px;
        background: rgba(37, 160, 210, 0.15);
        position: relative;
        margin: 4px auto;
      }
      .cf-m-center {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
      }
      .cf-m-suc-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 10px;
        width: 100%;
        margin-top: 0;
      }
      .cf-m-suc {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
      }
      .cf-m-suc-ico {
        width: 44px;
        height: 44px;
        border-radius: 12px;
        background: rgba(37, 160, 210, 0.08);
        border: 1.5px solid rgba(37, 160, 210, 0.2);
        display: flex;
        align-items: center;
        justify-content: center;
      }
      .cf-m-suc-ico svg {
        width: 20px;
        height: 20px;
        stroke: #25a0d2;
        fill: none;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
      }
      .cf-m-suc-n {
        font-size: 9.5px;
        font-weight: 600;
        color: var(--navy);
        text-align: center;
      }

      /* ════════════════════════════════════════
       HERO DASHBOARD MOCKUP
       ════════════════════════════════════════ */
      .hero-dash-wrap {
        width: 100%;
        max-width: 680px;
        padding-top: 20px;
      }
      .hero-mock {
        background: #0d1420;
        border-radius: 14px;
        overflow: hidden;
        border: 1px solid rgba(37, 160, 210, 0.25);
        box-shadow:
          0 20px 60px rgba(0, 0, 0, 0.5),
          0 0 0 1px rgba(37, 160, 210, 0.08);
      }
      .hm-bar {
        background: #080e1a;
        padding: 9px 14px;
        display: flex;
        align-items: center;
        gap: 10px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
      }
      .hm-dots {
        display: flex;
        gap: 5px;
      }
      .hm-dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
      }
      .hm-dot-r {
        background: #ff5f57;
      }
      .hm-dot-y {
        background: #febc2e;
      }
      .hm-dot-g {
        background: #28c840;
      }
      .hm-url {
        flex: 1;
        background: rgba(255, 255, 255, 0.06);
        border-radius: 4px;
        padding: 3px 10px;
        font-size: 9px;
        color: rgba(255, 255, 255, 0.3);
        font-family: monospace;
      }
      .hm-tabs {
        background: #080e1a;
        display: flex;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        padding: 0 10px;
        overflow-x: auto;
        scrollbar-width: none;
      }
      .hm-tabs::-webkit-scrollbar {
        display: none;
      }
      .hm-tab {
        font-size: 9px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.35);
        padding: 8px 11px;
        border-bottom: 2px solid transparent;
        white-space: nowrap;
        cursor: pointer;
        transition: all 0.3s;
        font-family: 'Plus Jakarta Sans', sans-serif;
      }
      .hm-tab.active {
        color: #25a0d2;
        border-bottom-color: #25a0d2;
      }
      .hm-slides {
        position: relative;
        height: 300px;
        overflow: hidden;
      }
      .hm-slide {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        padding: 13px;
        opacity: 0;
        transform: translateX(20px);
        transition: all 0.45s ease;
        pointer-events: none;
      }
      .hm-slide.active {
        opacity: 1;
        transform: translateX(0);
        pointer-events: auto;
      }

      /* KPI grid */
      .hm-kpi-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 6px;
        margin-bottom: 9px;
      }
      .hm-kpi {
        background: #1a2438;
        border-radius: 7px;
        padding: 11px 12px;
        border: 1px solid rgba(255, 255, 255, 0.05);
      }
      .hm-kpi-lbl {
        font-size: 7px;
        font-weight: 700;
        color: rgba(255, 255, 255, 0.4);
        text-transform: uppercase;
        letter-spacing: 0.06em;
        margin-bottom: 3px;
      }
      .hm-kpi-val {
        font-size: 18px;
        font-weight: 800;
        color: #fff;
        line-height: 1;
      }
      .hm-kpi-val.tc {
        color: #25a0d2;
      }
      .hm-badge {
        display: inline-flex;
        align-items: center;
        gap: 2px;
        font-size: 7.5px;
        font-weight: 700;
        padding: 2px 5px;
        border-radius: 3px;
        margin-top: 3px;
      }
      .hm-g {
        background: rgba(34, 197, 94, 0.15);
        color: #4ade80;
      }
      .hm-r {
        background: rgba(239, 68, 68, 0.15);
        color: #f87171;
      }

      /* Chart */
      .hm-chart {
        background: #1a2438;
        border-radius: 7px;
        padding: 8px 11px;
        border: 1px solid rgba(255, 255, 255, 0.05);
      }
      .hm-chart-title {
        font-size: 8px;
        font-weight: 700;
        color: rgba(255, 255, 255, 0.4);
        margin-bottom: 5px;
      }

      /* Productos */
      .hm-prod-hdr {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 8px;
      }
      .hm-prod-title {
        font-size: 10px;
        font-weight: 700;
        color: #fff;
      }
      .hm-prod-lbl {
        font-size: 8.5px;
        color: #25a0d2;
        font-weight: 700;
      }
      .hm-prod-thead {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr;
        padding: 0 0 5px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        margin-bottom: 3px;
      }
      .hm-prod-th {
        font-size: 7px;
        font-weight: 700;
        color: rgba(255, 255, 255, 0.3);
        text-transform: uppercase;
      }
      .hm-prod-th:not(:first-child) {
        text-align: right;
      }
      .hm-prod-row {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr;
        padding: 5px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.04);
        align-items: center;
      }
      .hm-prod-n {
        font-size: 9px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.8);
      }
      .hm-prod-pct {
        font-size: 7.5px;
        color: rgba(255, 255, 255, 0.3);
      }
      .hm-prod-val {
        font-size: 9.5px;
        font-weight: 700;
        color: #fff;
        text-align: right;
      }
      .hm-mpill {
        display: inline-flex;
        font-size: 8.5px;
        font-weight: 700;
        padding: 2px 6px;
        border-radius: 3px;
        float: right;
      }
      .hm-mg {
        background: rgba(34, 197, 94, 0.15);
        color: #4ade80;
      }
      .hm-mr {
        background: rgba(239, 68, 68, 0.15);
        color: #f87171;
      }
      .hm-nb {
        font-size: 7.5px;
        color: rgba(255, 255, 255, 0.3);
        margin-right: 4px;
      }

      /* Inventario */
      .hm-inv-kpis {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 6px;
        margin-bottom: 9px;
      }
      .hm-inv-kpi {
        background: #1a2438;
        border-radius: 7px;
        padding: 8px 8px;
        border-top: 2px solid;
      }
      .hm-ir {
        border-color: #ef4444;
      }
      .hm-ia {
        border-color: #f59e0b;
      }
      .hm-ib {
        border-color: #3b82f6;
      }
      .hm-it {
        border-color: #25a0d2;
      }
      .hm-inv-lbl {
        font-size: 7px;
        font-weight: 700;
        color: rgba(255, 255, 255, 0.4);
        text-transform: uppercase;
        margin-bottom: 2px;
      }
      .hm-inv-val {
        font-size: 17px;
        font-weight: 800;
      }
      .hm-ir .hm-inv-val {
        color: #ef4444;
      }
      .hm-ia .hm-inv-val {
        color: #f59e0b;
      }
      .hm-ib .hm-inv-val {
        color: #60a5fa;
      }
      .hm-it .hm-inv-val {
        color: #25a0d2;
      }
      .hm-inv-sub {
        font-size: 7px;
        color: rgba(255, 255, 255, 0.3);
      }
      .hm-inv-tbl-title {
        font-size: 8.5px;
        font-weight: 700;
        color: rgba(255, 255, 255, 0.5);
        margin-bottom: 5px;
      }
      .hm-inv-row {
        display: grid;
        grid-template-columns: 28px 1fr 52px 30px 36px;
        gap: 3px;
        padding: 5px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.04);
        align-items: center;
      }
      .hm-inv-days {
        font-weight: 800;
        color: #f59e0b;
        font-size: 8.5px;
      }
      .hm-inv-prod {
        font-size: 8.5px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.78);
      }
      .hm-inv-suc {
        font-size: 7px;
        color: rgba(255, 255, 255, 0.35);
      }
      .hm-inv-ex {
        font-size: 8.5px;
        color: rgba(255, 255, 255, 0.45);
        text-align: right;
      }
      .hm-inv-sg {
        font-size: 8.5px;
        color: #ef4444;
        font-weight: 800;
        text-align: right;
      }

      /* Ranking */
      .hm-rank-hdr {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 9px;
      }
      .hm-rank-title {
        font-size: 10px;
        font-weight: 700;
        color: #fff;
      }
      .hm-rank-tabs {
        display: flex;
        gap: 3px;
      }
      .hm-rank-tab {
        font-size: 8px;
        font-weight: 700;
        padding: 3px 8px;
        border-radius: 4px;
        color: rgba(255, 255, 255, 0.4);
      }
      .hm-rank-tab.active {
        background: #25a0d2;
        color: #fff;
      }
      .hm-rank-thead {
        display: grid;
        grid-template-columns: 1.3fr 1fr 0.7fr 0.5fr 0.5fr 0.45fr;
        padding: 0 0 5px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        margin-bottom: 3px;
      }
      .hm-rank-th {
        font-size: 7px;
        font-weight: 700;
        color: rgba(255, 255, 255, 0.3);
        text-transform: uppercase;
      }
      .hm-rank-th:not(:first-child) {
        text-align: right;
      }
      .hm-rank-row {
        display: grid;
        grid-template-columns: 1.3fr 1fr 0.7fr 0.5fr 0.5fr 0.45fr;
        padding: 6px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        align-items: center;
      }
      .hm-rank-suc {
        font-size: 9.5px;
        font-weight: 800;
        color: #fff;
      }
      .hm-rank-bar {
        height: 2px;
        background: rgba(37, 160, 210, 0.15);
        border-radius: 2px;
        margin-top: 3px;
      }
      .hm-rank-fill {
        height: 100%;
        background: #25a0d2;
        border-radius: 2px;
      }
      .hm-rank-val {
        font-size: 9.5px;
        font-weight: 700;
        color: #fff;
        text-align: right;
      }
      .hm-rank-bg {
        display: inline-flex;
        font-size: 7.5px;
        font-weight: 700;
        padding: 1px 5px;
        border-radius: 3px;
        float: right;
        background: rgba(34, 197, 94, 0.15);
        color: #4ade80;
      }
      .hm-rank-br {
        display: inline-flex;
        font-size: 7.5px;
        font-weight: 700;
        padding: 1px 5px;
        border-radius: 3px;
        float: right;
        background: rgba(239, 68, 68, 0.15);
        color: #f87171;
      }
      .hm-rank-mg {
        font-size: 9px;
        font-weight: 700;
        text-align: right;
      }
      .hm-rank-tk {
        font-size: 9px;
        color: rgba(255, 255, 255, 0.55);
        text-align: right;
      }
      .hm-rank-pt {
        font-size: 9px;
        color: rgba(255, 255, 255, 0.5);
        text-align: right;
      }

      /* Dots nav */
      .hm-dots-nav {
        display: flex;
        justify-content: center;
        gap: 5px;
        padding: 8px;
        background: #080e1a;
        border-top: 1px solid rgba(255, 255, 255, 0.04);
      }
      .hm-dn {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.2);
        transition: all 0.3s;
        cursor: pointer;
      }
      .hm-dn.active {
        background: #25a0d2;
        width: 18px;
        border-radius: 3px;
      }

      /* ── Slide "Tenna" — premium dorado ── */
      /* Tab Tenna: estrella dorada + activo dorado en vez de celeste */
      .hm-tab.tenna-tab {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        color: rgba(245, 194, 107, 0.55);
      }
      .hm-tab.tenna-tab svg {
        width: 9px;
        height: 9px;
        fill: currentColor;
      }
      .hm-tab.tenna-tab.active {
        color: #f5c26b;
        border-bottom-color: #f5c26b;
      }
      /* Dot Tenna: dorado tenue desde reposo, dorado pleno + ancho doble cuando activo */
      .hm-dn.tenna-dot {
        background: rgba(245, 194, 107, 0.45);
      }
      .hm-dn.tenna-dot.active {
        background: #f5c26b;
        width: 18px;
        border-radius: 3px;
      }

      /* Layout del slide Tenna */
      .tn-slide-head {
        text-align: center;
        margin-bottom: 10px;
      }
      .tn-eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        font-size: 9px;
        font-weight: 800;
        color: #f5c26b;
        text-transform: uppercase;
        letter-spacing: 0.14em;
        margin-bottom: 4px;
      }
      .tn-eyebrow svg {
        width: 9px;
        height: 9px;
        fill: currentColor;
      }
      .tn-title {
        font-size: 14px;
        font-weight: 800;
        color: #fff;
        line-height: 1.25;
      }
      .tn-title em {
        font-style: normal;
        color: var(--celeste);
      }
      .tn-body {
        display: grid;
        grid-template-columns: 1fr 0.85fr;
        gap: 12px;
        align-items: stretch;
        height: calc(100% - 56px);
      }
      /* Columna izquierda: chat al aire (sin marco WhatsApp) */
      .tn-chat {
        display: flex;
        flex-direction: column;
        gap: 8px;
        padding-top: 4px;
      }
      .tn-msg {
        max-width: 92%;
        padding: 9px 12px 10px;
        border-radius: 12px;
        font-size: 11px;
        line-height: 1.45;
        color: rgba(255, 255, 255, 0.92);
        position: relative;
        opacity: 0;
        transform: translateY(8px);
        animation: tnMsgIn 0.35s ease forwards;
      }
      .tn-msg .tn-meta {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 3px;
        font-size: 8.5px;
        color: rgba(255, 255, 255, 0.45);
        margin-top: 3px;
      }
      .tn-msg .tn-meta svg {
        width: 11px;
        height: 7px;
        flex-shrink: 0;
      }
      .tn-msg .tn-hl {
        color: var(--celeste-light);
        font-weight: 600;
      }
      /* Burbuja Tenna (azulada, izquierda) */
      .tn-msg.tn-in {
        align-self: flex-start;
        background: linear-gradient(135deg, #1e3a5f 0%, #1a2d4a 100%);
        border: 1px solid rgba(37, 160, 210, 0.25);
        border-bottom-left-radius: 4px;
      }
      /* Burbuja Usuario (verdosa, derecha) */
      .tn-msg.tn-out {
        align-self: flex-end;
        background: #1f4d2f;
        border: 1px solid rgba(74, 222, 128, 0.25);
        border-bottom-right-radius: 4px;
      }
      .tn-msg.tn-day1 {
        animation-delay: 0.1s;
      }
      .tn-msg.tn-day2 {
        animation-delay: 1.1s;
      }
      .tn-msg.tn-day3 {
        animation-delay: 2.1s;
      }
      @keyframes tnMsgIn {
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }
      /* Re-trigger: cuando el slide pierde .active, las burbujas vuelven al estado inicial */
      .hm-slide:not(.active) .tn-msg {
        opacity: 0;
        transform: translateY(8px);
        animation: none;
      }

      /* Columna derecha: imagen de Tenna sobre glow */
      .tn-figure {
        position: relative;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        min-height: 100%;
      }
      .tn-figure::before {
        content: '';
        position: absolute;
        inset: 0;
        background: radial-gradient(ellipse at center bottom, rgba(37, 160, 210, 0.22) 0%, transparent 70%);
        pointer-events: none;
      }
      .tn-figure img {
        position: relative;
        max-height: 100%;
        max-width: 100%;
        object-fit: contain;
        object-position: bottom right;
        filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.4));
      }

      @media (max-width: 960px) {
        /* En mobile/tablet: ocultamos el cubo de Tennyou y mostramos el dashboard animado */
        .hero-cube-mobile {
          display: none !important;
        }
        .hero-dash-wrap {
          display: block;
          max-width: 100%;
          padding-top: 8px;
          margin-top: 0;
          order: -1; /* gancho visual: el mockup va primero en mobile */
        }
        .hero-dash-wrap .hero-badge {
          font-size: 0.68rem;
          margin-bottom: 12px;
        }
        .hero-mock {
          border-radius: 12px;
          box-shadow:
            0 16px 40px rgba(0, 0, 0, 0.45),
            0 0 0 1px rgba(37, 160, 210, 0.08);
        }
        /* Comprimir contenido interno del mockup en mobile */
        .hm-slides {
          height: 260px;
        }
        .hm-kpi {
          padding: 9px 10px;
        }
        .hm-kpi-val {
          font-size: 16px;
        }
        .hm-kpi-lbl {
          margin-bottom: 2px;
        }
        /* Slide Tenna: ajustar al mockup comprimido */
        .tn-body {
          grid-template-columns: 1fr 0.7fr;
          gap: 8px;
        }
        .tn-msg {
          font-size: 10px;
          padding: 7px 10px 8px;
        }
        .tn-title {
          font-size: 13px;
        }
        .tn-eyebrow {
          font-size: 8.5px;
        }
      }

      .hero-bullets {
        list-style: none;
        padding: 0;
        margin: 16px 0 40px;
        display: flex;
        flex-direction: column;
        gap: 15px;
        max-width: 560px;
      }
      .hero-bullets li {
        display: flex;
        align-items: flex-start;
        gap: 10px;
        font-size: 0.95rem;
        color: rgba(235, 242, 250, 0.72);
        line-height: 1.5;
      }
      .hero-bullets li::before {
        content: '';
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #25a0d2;
        flex-shrink: 0;
        margin-top: 7px;
      }
      .hero-bullets li strong {
        color: #7dd3f0;
        font-weight: 700;
      }
