* { margin: 0; padding: 0; box-sizing: border-box; }
  :root {
    --bg: #020204; --bg-hero: #050505; --surface: #0c0c0c; --surface-hover: #111;
    --border: #1a1a1a; --border-hover: #333;
    --text-primary: #fff; --text-secondary: #ccc; --text-muted: #888;
    --text-dim: #666; --text-faint: #555; --text-ghost: #444;
    --accent-red: #e57373; --accent-green: #81c784; --accent-yellow: #cc8;
    --phase-1: #ff6b6b; --phase-2: #ffa94d; --phase-3: #ffd43b; --phase-4: #69db7c; --phase-5: #4dabf7;
    --reveal-distance: 40px; --reveal-duration: 0.7s;
    --reveal-easing: cubic-bezier(0.16, 1, 0.3, 1); --reveal-stagger: 0.12s;
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  }
  body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    background: var(--bg); color: var(--text-secondary); line-height: 1.6;
    overflow-x: hidden; -webkit-font-smoothing: antialiased;
    cursor: none; /* Ocultamos cursor nativo para usar el prisma */
  }
  h1,h2,h3,h4 { font-weight: 500; letter-spacing: -0.02em; color: var(--text-primary); }
  a { text-decoration: none; color: inherit; }
  ul { list-style: none; }
  .container { max-width: 1100px; margin: 0 auto; padding: 0 24px; }
  .skip-link { position:fixed;z-index:300000;left:16px;top:12px;padding:11px 16px;border-radius:8px;background:#eef7ff;color:#07101a;font-weight:600;transform:translateY(-150%);transition:transform .2s; }
  .skip-link:focus { transform:translateY(0); }
  :where(a,button,input,select,textarea,[tabindex]):focus-visible { outline:2px solid #77cee4; outline-offset:3px; }
  .section-header { text-align: center; margin-bottom: 56px; }
  .section-header h2 { font-size: clamp(1.8rem, 4vw, 2.6rem); margin-bottom: 12px; }
  .section-header p { font-size: 1.05rem; color: var(--text-muted); max-width: 540px; margin: 0 auto; line-height: 1.6; }

  /* ===== CURSOR PRISMA OVERLAY ===== */
  #cursorCanvas {
    position: fixed; top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 99999; pointer-events: none;
  }
  /* En móviles recuperamos cursor nativo */
  @media (pointer: coarse) {
    body { cursor: auto; }
    #cursorCanvas { display: none; }
  }

  /* ===== 1. SCROLL REVEAL ===== */
  [data-reveal] { opacity: 0; will-change: opacity, transform; }
  [data-reveal="fade-up"] { transform: translateY(var(--reveal-distance)); transition: opacity var(--reveal-duration) var(--reveal-easing), transform var(--reveal-duration) var(--reveal-easing); }
  [data-reveal="fade-down"] { transform: translateY(calc(var(--reveal-distance) * -1)); transition: opacity var(--reveal-duration) var(--reveal-easing), transform var(--reveal-duration) var(--reveal-easing); }
  [data-reveal="fade-left"] { transform: translateX(var(--reveal-distance)); transition: opacity var(--reveal-duration) var(--reveal-easing), transform var(--reveal-duration) var(--reveal-easing); }
  [data-reveal="fade-right"] { transform: translateX(calc(var(--reveal-distance) * -1)); transition: opacity var(--reveal-duration) var(--reveal-easing), transform var(--reveal-duration) var(--reveal-easing); }
  [data-reveal="fade-scale"] { transform: scale(0.94); transition: opacity var(--reveal-duration) var(--reveal-easing), transform var(--reveal-duration) var(--reveal-easing); }
  [data-reveal="fade-only"] { transition: opacity var(--reveal-duration) var(--reveal-easing); }
  [data-reveal].is-visible { opacity: 1; transform: translateY(0) translateX(0) scale(1); }
  [data-reveal-group] > [data-reveal]:nth-child(1) { transition-delay: 0s; }
  [data-reveal-group] > [data-reveal]:nth-child(2) { transition-delay: calc(var(--reveal-stagger) * 1); }
  [data-reveal-group] > [data-reveal]:nth-child(3) { transition-delay: calc(var(--reveal-stagger) * 2); }
  [data-reveal-group] > [data-reveal]:nth-child(4) { transition-delay: calc(var(--reveal-stagger) * 3); }
  [data-reveal-group] > [data-reveal]:nth-child(5) { transition-delay: calc(var(--reveal-stagger) * 4); }
  [data-reveal-group] > [data-reveal]:nth-child(6) { transition-delay: calc(var(--reveal-stagger) * 5); }

  /* ===== 2. HERO CINEMATOGRÁFICO CON PRISMA ===== */
  .cinematic-hero {
    position: relative; width: 100%; height: 100vh;
    overflow: hidden; display: flex; align-items: center; justify-content: center;
  }
  #prismaCanvas { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
  .cinematic-hero::after {
    content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(ellipse at center, transparent 40%, rgba(2,2,4,0.8) 100%);
    pointer-events: none; z-index: 2;
  }
  .prisma-content { position: relative; z-index: 3; text-align: center; pointer-events: none; max-width: 700px; padding: 0 24px; }
  .prisma-content h1 {
    font-size: clamp(2.8rem, 7vw, 5.5rem); font-weight: 500; letter-spacing: -0.03em;
    line-height: 1.05; color: #fff; margin-bottom: 20px;
    text-shadow: 0 0 60px rgba(255,255,255,0.15), 0 4px 20px rgba(0,0,0,0.5);
    opacity: 0; animation: fadeUp 1.2s var(--ease-out) 0.5s forwards;
  }
  .prisma-content p {
    font-size: clamp(1rem, 2vw, 1.25rem); color: rgba(255,255,255,0.6);
    line-height: 1.7; max-width: 520px; margin: 0 auto 32px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.5);
    opacity: 0; animation: fadeUp 1.2s var(--ease-out) 0.8s forwards;
  }
  .prisma-cta {
    display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 500;
    color: #020204; background: rgba(255,255,255,0.95); padding: 14px 32px; border-radius: 8px;
    text-decoration: none; pointer-events: auto; transition: all 0.3s var(--ease-out);
    opacity: 0; animation: fadeUp 1s var(--ease-out) 1.1s forwards; backdrop-filter: blur(10px);
  }
  .prisma-cta:hover { transform: translateY(-2px); box-shadow: 0 0 40px rgba(255,255,255,0.2), 0 8px 30px rgba(0,0,0,0.3); background: #fff; }
  @keyframes fadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
  .scroll-indicator { position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%); z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 8px; opacity: 0; animation: fadeUp 1s var(--ease-out) 1.5s forwards; }
  .scroll-indicator span { font-size: 10px; text-transform: uppercase; letter-spacing: 0.15em; color: rgba(255,255,255,0.3); }
  .scroll-indicator .scroll-line { width: 1px; height: 40px; background: linear-gradient(to bottom, rgba(255,255,255,0.4), transparent); animation: scrollPulse 2s ease-in-out infinite; }
  @keyframes scrollPulse { 0%,100% { opacity: 0.3; transform: scaleY(0.6); } 50% { opacity: 1; transform: scaleY(1); } }

  /* ===== 3. AURORA + GLASS CARDS ===== */
  .aurora-section { position: relative; padding: 120px 24px; overflow: hidden; }
  .aurora-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; opacity: 0.4; pointer-events: none; }
  .aurora-content { position: relative; z-index: 1; max-width: 900px; margin: 0 auto; }
  .aurora-content h2 { font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 500; color: #fff; letter-spacing: -0.02em; margin-bottom: 20px; line-height: 1.1; }
  .aurora-content p { font-size: 1.1rem; color: rgba(255,255,255,0.5); line-height: 1.8; max-width: 600px; }
  .glass-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 48px; }
  @media (max-width: 768px) { .glass-grid { grid-template-columns: 1fr; } }
  .glass-card {
    position: relative; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08);
    border-radius: 16px; padding: 32px 24px; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    overflow: hidden; transition: all 0.5s var(--ease-out); cursor: pointer;
  }
  .glass-card::before {
    content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%;
    background: radial-gradient(circle at var(--glow-x, 50%) var(--glow-y, 50%), rgba(255,255,255,0.08) 0%, transparent 50%);
    opacity: 0; transition: opacity 0.5s ease; pointer-events: none;
  }
  .glass-card:hover::before { opacity: 1; }
  .glass-card:hover { border-color: rgba(255,255,255,0.2); background: rgba(255,255,255,0.05); transform: translateY(-4px); box-shadow: 0 20px 60px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.1); }
  .glass-card .phase-number { font-size: 13px; font-weight: 600; letter-spacing: 0.08em; margin-bottom: 12px; display: inline-block; padding: 4px 12px; border-radius: 20px; border: 1px solid rgba(255,255,255,0.1); }
  .glass-card h3 { font-size: 1.3rem; font-weight: 500; color: #fff; margin-bottom: 10px; }
  .glass-card p { font-size: 14px; color: rgba(255,255,255,0.45); line-height: 1.7; margin: 0; }
  .phase-1 .phase-number { color: var(--phase-1); border-color: rgba(255,107,107,0.3); }
  .phase-2 .phase-number { color: var(--phase-2); border-color: rgba(255,169,77,0.3); }
  .phase-3 .phase-number { color: var(--phase-3); border-color: rgba(255,212,59,0.3); }
  .phase-4 .phase-number { color: var(--phase-4); border-color: rgba(105,219,124,0.3); }
  .phase-5 .phase-number { color: var(--phase-5); border-color: rgba(77,171,247,0.3); }
  .shimmer-text {
    background: linear-gradient(90deg, rgba(255,255,255,0.4) 0%, rgba(255,255,255,1) 25%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,1) 75%, rgba(255,255,255,0.4) 100%);
    background-size: 200% auto; -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; animation: shimmer 4s linear infinite;
  }
  @keyframes shimmer { to { background-position: 200% center; } }

  /* ===== 4. DIAGRAMA NEXUS ===== */
  .nexus-section { padding: 100px 24px; }
  .nexus-wrapper { position: relative; width: 100%; max-width: 800px; margin: 0 auto; }
  .nexus-svg { width: 100%; height: auto; display: block; }
  .nexus-line { stroke: #333; stroke-width: 1.5; fill: none; opacity: 0; }
  .nexus-line.visible { opacity: 1; animation: drawLine 1.2s var(--ease-out) forwards; }
  @keyframes drawLine { from { stroke-dasharray: 400; stroke-dashoffset: 400; } to { stroke-dasharray: 400; stroke-dashoffset: 0; } }
  .nexus-node { cursor: pointer; opacity: 0; transform: scale(0.7); transform-origin: center; transition: all 0.35s var(--ease-out); }
  .nexus-node.revealed { opacity: 1; transform: scale(1); }
  .nexus-node:hover { transform: scale(1.15); }
  .nexus-node:hover .node-shape { filter: drop-shadow(0 0 8px rgba(255,255,255,0.15)); }
  .nexus-node.active .node-shape { stroke: #fff; stroke-width: 2.5; filter: drop-shadow(0 0 12px rgba(255,255,255,0.25)); }
  .node-core { fill: #fff; }
  .node-phase { fill: var(--bg); stroke: #fff; stroke-width: 2; }
  .node-area { fill: var(--surface); stroke: #444; stroke-width: 1.5; transition: stroke 0.3s ease; }
  .nexus-node:hover .node-area { stroke: #fff; }
  .node-label { font-size: 11px; fill: #888; text-anchor: middle; pointer-events: none; transition: all 0.3s ease; font-family: inherit; }
  .node-label.core-text { fill: var(--bg); font-size: 9px; font-weight: 600; letter-spacing: 0.04em; }
  .node-label.phase-text { fill: #fff; font-size: 10px; font-weight: 500; }
  .nexus-node:hover .node-label, .nexus-node.active .node-label { fill: #fff; }
  .nexus-info { margin-top: 32px; padding: 24px; border: 1px solid var(--border); border-radius: 12px; min-height: 100px; background: #0f0f0f; transition: all 0.3s ease; }
  .nexus-info.has-content { border-color: #333; background: #111; }
  .nexus-info-title { font-size: 16px; font-weight: 500; color: #fff; margin-bottom: 8px; letter-spacing: -0.01em; }
  .nexus-info-desc { font-size: 14px; color: #aaa; line-height: 1.7; }
  .nexus-info-placeholder { font-size: 14px; color: #555; font-style: italic; text-align: center; padding: 16px 0; }
  .nexus-info-meta { display: inline-block; font-size: 11px; color: #666; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 8px; border: 1px solid #2a2a2a; padding: 3px 10px; border-radius: 4px; }

  /* ===== 5. SECTORES ===== */
  .sectors-section { padding: 100px 24px; }
  .sectors-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  @media (max-width: 900px) { .sectors-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px) { .sectors-grid { grid-template-columns: 1fr; } }
  .sector-card { position: relative; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 28px; cursor: pointer; overflow: hidden; transition: transform 0.4s var(--ease-out), border-color 0.4s ease, background 0.4s ease; opacity: 0; transform: translateY(30px); }
  .sector-card.revealed { opacity: 1; transform: translateY(0); }
  .sector-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 12px; padding: 1px; background: linear-gradient(90deg, transparent 0%, transparent 100%); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; transition: background 0.5s ease; }
  .sector-card:hover::before { background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,0.3) 50%, transparent 100%); }
  .sector-card:hover { transform: translateY(-4px); border-color: var(--border-hover); background: var(--surface-hover); }
  .sector-icon { width: 40px; height: 40px; margin-bottom: 18px; color: var(--text-ghost); transition: color 0.3s ease, transform 0.3s ease; }
  .sector-card:hover .sector-icon { color: #fff; transform: scale(1.08); }
  .sector-title { font-size: 1.1rem; font-weight: 500; color: var(--text-secondary); margin-bottom: 14px; letter-spacing: -0.01em; transition: color 0.3s ease; }
  .sector-card:hover .sector-title { color: #fff; }
  .sector-list li { font-size: 13px; color: var(--text-dim); line-height: 1.9; padding-left: 14px; position: relative; transition: color 0.3s ease; }
  .sector-list li::before { content: ''; position: absolute; left: 0; top: 10px; width: 4px; height: 4px; border-radius: 50%; background: #444; transition: background 0.3s ease; }
  .sector-card:hover .sector-list li { color: #999; }
  .sector-card:hover .sector-list li::before { background: #777; }
  .sectors-footer { text-align: center; margin-top: 40px; font-size: 14px; color: #555; font-style: italic; }

  /* ===== 6. ESCENARIO + CONTADORES ===== */
  .scenario-section { padding: 100px 24px; }
  .scenario-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 64px; }
  @media (max-width: 768px) { .scenario-columns { grid-template-columns: 1fr; gap: 32px; } }
  .scenario-col { opacity: 0; transform: translateY(30px); transition: all 0.7s var(--ease-out); }
  .scenario-col.revealed { opacity: 1; transform: translateY(0); }
  .scenario-col:nth-child(1) { transition-delay: 0s; }
  .scenario-col:nth-child(2) { transition-delay: 0.15s; }
  .scenario-col:nth-child(3) { transition-delay: 0.3s; }
  .col-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: #555; margin-bottom: 20px; border-bottom: 1px solid #1a1a1a; padding-bottom: 12px; }
  .col-list li { font-size: 14px; color: #aaa; line-height: 2.2; padding-left: 18px; position: relative; }
  .col-list li::before { content: ''; position: absolute; left: 0; top: 11px; width: 5px; height: 5px; border-radius: 50%; }
  .scenario-col:nth-child(1) .col-list li::before { background: var(--accent-red); }
  .scenario-col:nth-child(2) .col-list li::before { background: var(--accent-yellow); }
  .scenario-col:nth-child(3) .col-list li::before { background: var(--accent-green); }
  .metrics-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 48px; }
  @media (max-width: 768px) { .metrics-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 400px) { .metrics-grid { grid-template-columns: 1fr; } }
  .metric-card { background: var(--surface); border: 1px solid #1a1a1a; border-radius: 12px; padding: 28px 20px; text-align: center; opacity: 0; transform: translateY(20px) scale(0.96); transition: all 0.6s var(--ease-out); }
  .metric-card.revealed { opacity: 1; transform: translateY(0) scale(1); }
  .metric-card:nth-child(1) { transition-delay: 0.1s; }
  .metric-card:nth-child(2) { transition-delay: 0.2s; }
  .metric-card:nth-child(3) { transition-delay: 0.3s; }
  .metric-card:nth-child(4) { transition-delay: 0.4s; }
  .metric-value { font-size: clamp(2rem, 5vw, 2.8rem); font-weight: 500; color: #fff; letter-spacing: -0.02em; line-height: 1; margin-bottom: 8px; font-variant-numeric: tabular-nums; font-feature-settings: "tnum" 1; }
  .metric-value.negative { color: var(--accent-red); }
  .metric-value.positive { color: var(--accent-green); }
  .metric-label { font-size: 13px; color: #666; line-height: 1.5; }
  .scenario-disclaimer { text-align: center; margin-top: 48px; font-size: 13px; color: #444; font-style: italic; max-width: 600px; margin-left: auto; margin-right: auto; line-height: 1.6; }

  /* ===== 7. MICRO-INTERACCIONES ===== */
  .link-underline { position: relative; display: inline-block; color: var(--text-secondary); font-size: 15px; padding-bottom: 2px; transition: color 0.3s ease; }
  .link-underline::after { content: ''; position: absolute; left: 0; bottom: 0; width: 0; height: 1px; background: #fff; transition: width 0.35s var(--ease-out); }
  .link-underline:hover { color: #fff; }
  .link-underline:hover::after { width: 100%; }
  .btn-primary { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 500; color: var(--bg); background: #fff; padding: 14px 28px; border-radius: 8px; border: none; cursor: pointer; transition: all 0.3s var(--ease-out); position: relative; overflow: hidden; }
  .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(255,255,255,0.08); }
  .btn-primary:active { transform: translateY(0); }
  .btn-primary svg { width: 16px; height: 16px; transition: transform 0.3s ease; }
  .btn-primary:hover svg { transform: translateX(3px); }
  .btn-outline { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 500; color: var(--text-secondary); background: transparent; padding: 14px 28px; border-radius: 8px; border: 1px solid #333; cursor: pointer; transition: all 0.3s var(--ease-out); }
  .btn-outline:hover { color: #fff; border-color: #666; background: rgba(255,255,255,0.03); transform: translateY(-2px); }
  .btn-outline:active { transform: translateY(0); }
  .nav-link { position: relative; display: inline-block; color: #888; font-size: 14px; padding: 8px 0; transition: color 0.3s ease; }
  .nav-link:hover { color: #fff; }
  .nav-link::before { content: ''; position: absolute; bottom: 0; left: 50%; width: 4px; height: 4px; border-radius: 50%; background: #fff; transform: translateX(-50%) scale(0); transition: transform 0.3s var(--ease-out); }
  .nav-link:hover::before, .nav-link.active::before { transform: translateX(-50%) scale(1); }
  .nav-link.active { color: #fff; }
  .input-wrapper { position: relative; display: inline-block; max-width: 320px; width: 100%; }
  .input-animated { width: 100%; background: var(--surface); border: 1px solid #222; border-radius: 8px; padding: 14px 16px; font-size: 14px; color: var(--text-secondary); outline: none; transition: all 0.3s ease; }
  .input-animated::placeholder { color: #555; transition: color 0.3s ease; }
  .input-animated:hover { border-color: #333; }
  .input-animated:focus { border-color: #444; background: #141414; }
  .input-animated:focus::placeholder { color: #444; }
  .input-wrapper::after { content: ''; position: absolute; bottom: 0; left: 50%; width: 0; height: 1px; background: #fff; transition: width 0.35s var(--ease-out), left 0.35s var(--ease-out); border-radius: 0 0 8px 8px; }
  .input-wrapper:focus-within::after { width: 100%; left: 0; }
  .toggle-row { display: flex; align-items: center; gap: 12px; cursor: pointer; }
  .toggle-switch { position: relative; width: 44px; height: 24px; background: #222; border-radius: 12px; transition: background 0.3s ease; flex-shrink: 0; }
  .toggle-switch::after { content: ''; position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; background: #666; border-radius: 50%; transition: all 0.3s var(--ease-out); }
  .toggle-row:hover .toggle-switch { background: #2a2a2a; }
  .toggle-row.active .toggle-switch { background: #fff; }
  .toggle-row.active .toggle-switch::after { left: 22px; background: var(--bg); }
  .toggle-label { font-size: 14px; color: #888; transition: color 0.3s ease; }
  .toggle-row:hover .toggle-label { color: #ccc; }
  .toggle-row.active .toggle-label { color: #fff; }

  /* ===== AUDIO TOGGLE ===== */
  .audio-toggle {
    position: fixed; bottom: 24px; right: 24px; z-index: 100000;
    width: 44px; height: 44px; border-radius: 50%;
    background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: all 0.3s ease; backdrop-filter: blur(10px);
  }
  .audio-toggle:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.2); }
  .audio-toggle svg { width: 18px; height: 18px; color: rgba(255,255,255,0.5); transition: color 0.3s ease; }
  .audio-toggle:hover svg { color: #fff; }
  .audio-toggle.active { background: rgba(255,255,255,0.15); }
  .audio-toggle.active svg { color: #fff; }

  @media (prefers-reduced-motion: reduce) {
    body { cursor: auto; }
    #cursorCanvas { display: none; }
  }

/* ===== IDENTIDAD CORPORATIVA PRISMA DIVERGE ===== */
.prisma-content h1 {
  display: flex;
  flex-direction: column;
  gap: 0.04em;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(3rem, 7vw, 6.2rem);
  font-weight: 500;
  letter-spacing: 0.13em;
  line-height: 0.95;
}

/* ===== NAVEGACIÓN ONE PAGE ===== */
.site-nav {
  position: fixed; z-index: 10000; inset: 0 0 auto;
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  min-height: 78px; padding: 0 32px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg,rgba(2,2,4,.94),rgba(2,2,4,.7));
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  transition: min-height .3s ease, background .3s ease;
}
.site-nav.is-compact { min-height: 68px; background: rgba(2,2,4,.92); }
.nav-brand,.nav-links { display: flex; align-items: center; }
.nav-brand { gap: 15px; width: fit-content; font-size: 13px; font-weight: 600; letter-spacing: .14em; }
.nav-logo { width: 46px; height: 46px; background: url("./assets/logo-mark.webp") center / contain no-repeat; border: 0; outline: 0; filter: drop-shadow(0 0 10px rgba(90,140,255,.42)); }
.nav-wordmark strong { color: transparent; background: linear-gradient(90deg,#45bddb,#559ed9 45%,#9d49bf); background-clip: text; -webkit-background-clip: text; font-weight: 600; }
.nav-links { gap: 10px; }
.nav-links a { padding: 11px 14px; border: 1px solid transparent; border-radius: 7px; color: #9296a3; background: transparent; font-size: 13px; letter-spacing: .045em; transition: color .25s,border-color .25s,background .25s; }
.nav-links a:hover,.nav-links a.active { color: #fff; border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.045); }
.nav-links a.active::before { content: ""; display: inline-block; width: 4px; height: 4px; margin-right: 7px; border-radius: 50%; background: linear-gradient(135deg,#45bddb,#9d49bf); box-shadow: 0 0 8px #6f7cdd; vertical-align: middle; }
section { scroll-margin-top: 78px; }

/* ===== FRAMEWORK: CINCO TARJETAS ===== */
.glass-grid { grid-template-columns: repeat(6,1fr); }
.glass-card { grid-column: span 2; }
.glass-card:nth-child(4) { grid-column: 2 / span 2; }
.glass-card:nth-child(5) { grid-column: 4 / span 2; }

/* ===== NEXUS ORBITAL ===== */
.nexus-wrapper {
  isolation: isolate; overflow: hidden; padding: 28px;
  border: 1px solid rgba(105,140,210,.13);
  background:
    radial-gradient(circle at 50% 42%,rgba(93,80,190,.12) 0 3%,transparent 24%),
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.45) 0 1px,transparent 1.5px),
    radial-gradient(circle at 78% 26%,rgba(112,231,255,.35) 0 1px,transparent 1.5px),
    radial-gradient(circle at 28% 72%,rgba(255,255,255,.3) 0 1px,transparent 1.5px),
    radial-gradient(circle at 88% 76%,rgba(157,73,191,.4) 0 1px,transparent 1.5px),#050508;
  background-size: auto,97px 83px,137px 119px,173px 147px,211px 179px,auto;
}
.nexus-wrapper::before,.nexus-wrapper::after { content: ""; position: absolute; z-index: -1; top: 50%; left: 50%; width: 58%; aspect-ratio: 1; border: 1px solid rgba(130,150,230,.08); border-radius: 50%; transform: translate(-50%,-50%) rotate(-12deg) scaleY(.62); pointer-events: none; }
.nexus-wrapper::after { width: 82%; border-style: dashed; animation: orbitRing 28s linear infinite; }
.nexus-svg,.nexus-info { position: relative; z-index: 1; }
.nexus-line.visible { stroke: rgba(120,150,215,.5); stroke-dasharray: 5 8; animation: galaxyLine 5s linear infinite; }
.nexus-node.revealed { transform-box: fill-box; transform-origin: center; }
.nexus-node[data-id="nexus"].revealed { animation: corePulse 4s ease-in-out infinite; }
.nexus-node[data-id="descubrimiento"].revealed,.nexus-node[data-id="ventas"].revealed,.nexus-node[data-id="direccion"].revealed { animation: planetDriftA 6s ease-in-out infinite; }
.nexus-node[data-id="estructura"].revealed,.nexus-node[data-id="admin"].revealed,.nexus-node[data-id="it"].revealed { animation: planetDriftB 7.5s ease-in-out infinite; }
.nexus-node[data-id="perspectivas"].revealed,.nexus-node[data-id="clientes"].revealed,.nexus-node[data-id="datos"].revealed { animation: planetDriftC 8.5s ease-in-out infinite; }
.nexus-node[data-id="auditoria"].revealed,.nexus-node[data-id="estrategia"].revealed,.nexus-node[data-id="finanzas"].revealed { animation: planetDriftB 9s ease-in-out infinite reverse; }
.nexus-node[data-id="aplicacion"].revealed,.nexus-node[data-id="rh"].revealed,.nexus-node[data-id="automatizacion"].revealed { animation: planetDriftA 7s ease-in-out infinite reverse; }
.nexus-node.revealed { animation: none !important; }
.nexus-node.revealed .node-shape { filter: drop-shadow(0 0 5px rgba(110,160,255,.28)); }
@keyframes galaxyLine { to { stroke-dashoffset: -52; } }
@keyframes orbitRing { to { transform: translate(-50%,-50%) rotate(348deg) scaleY(.62); } }
@keyframes corePulse { 0%,100% { transform: scale(1); filter: drop-shadow(0 0 4px rgba(255,255,255,.15)); } 50% { transform: scale(1.06); filter: drop-shadow(0 0 16px rgba(112,231,255,.35)); } }
@keyframes planetDriftA { 0%,100% { transform: translate(0,0); } 50% { transform: translate(6px,-5px); } }
@keyframes planetDriftB { 0%,100% { transform: translate(0,0); } 50% { transform: translate(-5px,7px); } }
@keyframes planetDriftC { 0%,100% { transform: translate(0,0); } 50% { transform: translate(7px,5px); } }

.metric-card.counting { border-color: rgba(130,150,230,.32); box-shadow: 0 0 34px rgba(80,110,220,.08); }
.metric-card.counting .metric-value { animation: metricPulse .55s ease-in-out infinite alternate; }
@keyframes metricPulse { from { transform: translateY(0) scale(1); filter: brightness(1); } to { transform: translateY(-2px) scale(1.025); filter: brightness(1.18); } }

@media (max-width: 640px) {
  .site-nav { grid-template-columns: auto 1fr; min-height: 58px; padding: 0 12px; }
  .nav-logo { width: 34px; height: 34px; }
  .nav-brand > span:last-child,.nav-action { display: none; }
  .nav-links { justify-self: end; gap: 2px; }
  .nav-links a { padding: 8px; font-size: 10px; }
  .nav-links a.active::before { display: none; }
  .glass-grid { grid-template-columns: 1fr; }
  .glass-card,.glass-card:nth-child(4),.glass-card:nth-child(5) { grid-column: 1; }
  .nexus-wrapper { padding: 10px; }
}

/* ===== EXPERIENCIA NARRATIVA V9 ===== */
body.intro-active { overflow:hidden; }
.cinematic-intro { position:fixed; z-index:200000; inset:0; display:grid; place-items:center; overflow:hidden; background:#010103; opacity:1; transition:opacity .85s ease,visibility .85s; }
.cinematic-intro[hidden] { display:none !important; }
.cinematic-intro.is-finished { opacity:0; visibility:hidden; }
.cinematic-intro::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 50%,rgba(75,88,190,.18),transparent 26%); animation:introAura 2.6s ease forwards; }
.intro-beam { position:absolute; left:-8%; top:50%; width:48%; height:90px; transform:translateY(-50%) scaleX(0); transform-origin:left; clip-path:polygon(0 0,100% 48%,100% 52%,0 100%); background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,.9)); filter:drop-shadow(0 0 28px #fff); animation:introBeam 1.4s .25s var(--ease-out) forwards; }
.intro-logo-canvas { position:relative;width:min(280px,44vw);height:auto;opacity:0;transform:scale(.78) rotate(-3deg);filter:drop-shadow(0 0 30px rgba(117,125,238,.58));animation:introLogoReveal 1s .42s var(--ease-out) forwards,introLogoFloat 2.4s 1.45s ease-in-out infinite alternate; }
.intro-wordmark { position:absolute; top:calc(50% + 174px); display:flex; gap:13px; opacity:0; font:500 14px "Montserrat",sans-serif; letter-spacing:.28em; animation:introWord 1s 1.45s ease forwards; }.intro-wordmark span{color:#eef8ff}.intro-wordmark strong{color:transparent;background:linear-gradient(90deg,#45bddb,#559ed9,#9d49bf);background-clip:text;-webkit-background-clip:text}.cinematic-intro button{position:absolute;right:28px;bottom:24px;border:0;background:none;color:#687086;font-size:11px;letter-spacing:.1em;cursor:pointer}
@keyframes introBeam{to{transform:translateY(-50%) scaleX(1)}}@keyframes introLogoReveal{to{opacity:1;transform:scale(1) rotate(0)}}@keyframes introLogoFloat{to{transform:translateY(-5px) rotate(.5deg)}}@keyframes introWord{to{opacity:1;transform:translateY(-8px)}}@keyframes introAura{50%{filter:brightness(1.4)}to{filter:brightness(.8)}}

.story-thread { position:fixed; z-index:9000; left:18px; top:74px; bottom:26px; width:12px; pointer-events:none; opacity:.72; transition:opacity .3s; }
.story-thread-rail { position:absolute; left:5px; top:0; bottom:0; width:1px; background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(91,161,231,.2) 35%,rgba(157,73,191,.25) 70%,rgba(255,255,255,.12)); }
.story-thread-spectrum { position:absolute; inset:0; opacity:0; transition:opacity .5s; }.story-thread-spectrum i{position:absolute;left:var(--x);top:0;bottom:0;width:1px;transform:rotate(var(--r));transform-origin:var(--story-progress) center;background:linear-gradient(180deg,transparent,var(--c),transparent);filter:drop-shadow(0 0 5px var(--c))}.story-thread-spectrum i:nth-child(1){--x:1px;--r:-1.2deg;--c:#ff6b6b}.story-thread-spectrum i:nth-child(2){--x:3px;--r:-.6deg;--c:#ffa94d}.story-thread-spectrum i:nth-child(3){--x:5px;--r:0deg;--c:#ffd43b}.story-thread-spectrum i:nth-child(4){--x:7px;--r:.6deg;--c:#69db7c}.story-thread-spectrum i:nth-child(5){--x:9px;--r:1.2deg;--c:#4dabf7}
.story-thread-prism { position:absolute; left:0; top:var(--story-progress); width:11px;height:13px;clip-path:polygon(50% 0,100% 32%,82% 100%,17% 83%,0 28%);background:linear-gradient(145deg,#e7fbff,#64b3e8 48%,#8951c4);box-shadow:0 0 12px #6f7cdd;transition:top .12s linear; }
body[data-story-phase="spectrum"] .story-thread-spectrum,body[data-story-phase="network"] .story-thread-spectrum,body[data-story-phase="signal"] .story-thread-spectrum{opacity:.7}body[data-story-phase="white"] .story-thread-prism{filter:saturate(.15) brightness(1.5)}

.aurora-section::after { content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 55%,color-mix(in srgb,var(--framework-active,#6f7cdd) 18%,transparent),transparent 35%);transition:background .7s ease; }
.aurora-section .container { position:relative;z-index:2; }
.glass-card.is-active { border-color:color-mix(in srgb,var(--framework-active,#6f7cdd) 65%,white 10%);box-shadow:0 22px 70px color-mix(in srgb,var(--framework-active,#6f7cdd) 18%,transparent),inset 0 1px rgba(255,255,255,.12);transform:translateY(-7px) scale(1.015); }
.glass-grid:has(.glass-card.is-active) .glass-card:not(.is-active){opacity:.5;transform:scale(.985)}
.framework-outcome { position:relative; max-width:760px; margin:34px auto 0; padding:18px 22px 20px; text-align:center; border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(5,7,13,.56);overflow:hidden; }.framework-outcome span{display:block;color:#71809b;font:600 10px "Montserrat",sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px}.framework-outcome strong{color:#dce6f5;font-size:14px;font-weight:400}.framework-outcome i{position:absolute;left:0;bottom:0;height:2px;width:100%;background:linear-gradient(90deg,transparent,var(--framework-active,#6f7cdd),transparent);transition:background .5s}

.nexus-svg.has-selection .nexus-node:not(.active){opacity:.24!important;filter:blur(.35px);transition:opacity .55s,filter .55s}.nexus-svg.has-selection .nexus-node[data-id="nexus"]{opacity:.58!important}.nexus-svg.has-selection .nexus-line{opacity:.08!important}.nexus-svg.has-selection .nexus-line.active-link{opacity:1!important;stroke:rgba(130,206,255,.88);stroke-width:2;filter:drop-shadow(0 0 6px rgba(97,160,255,.7));animation:galaxyLine 1.5s linear infinite}.nexus-node.active{opacity:1!important;filter:none!important}

.sector-list { transition:opacity .35s,transform .35s; }.sector-flow { position:absolute; z-index:2; left:24px; right:24px; bottom:27px; display:flex; align-items:center; justify-content:center; gap:7px; padding:12px 8px; border:1px solid rgba(var(--sector-color),.24);border-radius:9px;background:rgba(3,6,13,.86);opacity:0;transform:translateY(18px);transition:opacity .35s,transform .45s var(--ease-out); }.sector-flow span{color:rgba(225,239,255,.82);font-size:9px;white-space:nowrap}.sector-flow i{color:rgb(var(--sector-color));font-style:normal;filter:drop-shadow(0 0 6px rgb(var(--sector-color)))}.sector-card:hover .sector-list,.sector-card:focus-within .sector-list{opacity:.16;transform:translateY(-5px)}.sector-card:hover .sector-flow,.sector-card:focus-within .sector-flow{opacity:1;transform:translateY(0)}

.scenario-section { position:relative;overflow:hidden;background:radial-gradient(circle at 50% 48%,rgba(65,87,178,.08),transparent 45%); }.scenario-section::before{content:"";position:absolute;inset:0;opacity:.22;pointer-events:none;background:linear-gradient(120deg,transparent 35%,rgba(69,189,219,.18),transparent 47%,rgba(157,73,191,.14),transparent 62%);transform:translateX(-35%);transition:transform 1s var(--ease-out)}.scenario-section[data-scenario="presupuestos"]::before{transform:translateX(0);filter:hue-rotate(50deg)}.scenario-section[data-scenario="conocimiento"]::before{transform:translateX(30%);filter:hue-rotate(110deg)}.scenario-section .container{position:relative;z-index:1}.scenario-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:-18px 0 58px}.scenario-tab{position:relative;padding:17px 18px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.025);color:#7f8798;font:400 12px/1.45 inherit;cursor:pointer;transition:all .35s var(--ease-out)}.scenario-tab::after{content:"";position:absolute;left:12%;right:12%;bottom:-1px;height:2px;background:linear-gradient(90deg,#45bddb,#9d49bf);transform:scaleX(0);transition:transform .35s}.scenario-tab:hover,.scenario-tab.active{color:#edf4ff;border-color:rgba(103,144,226,.38);background:linear-gradient(120deg,rgba(69,189,219,.08),rgba(157,73,191,.08));transform:translateY(-3px)}.scenario-tab.active::after{transform:scaleX(1)}.col-list{transition:opacity .18s,transform .18s}.col-list.is-changing{opacity:0;transform:translateY(8px)}

.evidence-section{position:relative;padding:clamp(100px,11vw,150px) 24px;overflow:hidden;background:linear-gradient(180deg,#020204,#070817 48%,#03040a)}.evidence-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,rgba(94,95,207,.14),transparent 34%);pointer-events:none}.evidence-section .container{position:relative;z-index:1}.evidence-journey{display:grid;grid-template-columns:1fr 150px 1fr;align-items:center;gap:30px;max-width:980px;margin:0 auto 65px;padding:35px;border:1px solid rgba(114,139,205,.16);border-radius:22px;background:rgba(7,9,18,.7)}.journey-state span{display:block;color:#68738a;font:600 10px "Montserrat",sans-serif;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px}.journey-state strong{display:block;color:#d9e3f3;font-size:17px;font-weight:400;line-height:1.4}.signal-chaos,.signal-order{height:66px;position:relative;margin-top:22px}.signal-chaos i{position:absolute;width:42%;height:1px;background:#546075;left:var(--l);top:var(--t);transform:rotate(var(--r))}.signal-chaos i:nth-child(1){--l:4%;--t:15%;--r:12deg}.signal-chaos i:nth-child(2){--l:38%;--t:30%;--r:-18deg}.signal-chaos i:nth-child(3){--l:12%;--t:57%;--r:-9deg}.signal-chaos i:nth-child(4){--l:53%;--t:72%;--r:15deg}.signal-chaos i:nth-child(5){--l:28%;--t:88%;--r:2deg}.signal-order{display:flex;flex-direction:column;justify-content:space-around}.signal-order i{display:block;height:2px;background:linear-gradient(90deg,#45bddb,#6f7cdd,#9d49bf);box-shadow:0 0 8px rgba(94,120,220,.35);animation:orderedSignal 2.4s ease-in-out infinite alternate}.signal-order i:nth-child(2){width:88%;animation-delay:.15s}.signal-order i:nth-child(3){width:76%;animation-delay:.3s}.signal-order i:nth-child(4){width:92%;animation-delay:.45s}.signal-order i:nth-child(5){width:69%;animation-delay:.6s}@keyframes orderedSignal{to{transform:translateX(8px);filter:brightness(1.4)}}.journey-prism{position:relative;width:95px;height:112px;margin:auto;filter:drop-shadow(0 0 22px rgba(100,128,230,.42))}.journey-prism i{position:absolute;inset:0;clip-path:polygon(50% 0,100% 30%,50% 50%);background:linear-gradient(135deg,#c9f4ff,#5b9be4)}.journey-prism i:nth-child(2){clip-path:polygon(100% 30%,80% 88%,50% 50%);background:linear-gradient(135deg,#5ca4e6,#7951c5)}.journey-prism i:nth-child(3){clip-path:polygon(80% 88%,22% 100%,0 42%,50% 50%);background:linear-gradient(135deg,#9f67d4,#4cc7df)}.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.evidence-grid article{padding:30px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:linear-gradient(145deg,rgba(72,103,178,.08),rgba(255,255,255,.02));}.evidence-grid article>span{color:#65bcd8;font:600 10px "Montserrat",sans-serif}.evidence-grid h3{margin:17px 0 10px;font-size:18px}.evidence-grid p{color:#778196;font-size:13px}.evidence-section blockquote{margin:52px auto 0;text-align:center;color:#b9c3d5;font-size:clamp(1.25rem,2.5vw,1.85rem);font-style:italic;max-width:720px}

.result-overview{display:grid;grid-template-columns:minmax(210px,.8fr) 1.2fr;gap:22px;align-items:center}.result-overview canvas{width:100%;height:auto;filter:drop-shadow(0 0 18px rgba(98,125,225,.15))}.result-overview .result-score strong{font-size:clamp(3.8rem,7vw,6.2rem)}.result-overview .diagnostic-result p{margin-bottom:0}.diagnostic-pulse{position:fixed;z-index:150000;width:28px;height:32px;clip-path:polygon(50% 0,100% 30%,82% 100%,17% 84%,0 28%);background:linear-gradient(145deg,#e1fbff,#58b5e5 45%,#9d49bf);box-shadow:0 0 30px #7389df;pointer-events:none}.contact-diagnostic-summary{margin:0 0 30px;padding:18px 20px;border:1px solid rgba(100,159,226,.28);border-radius:12px;background:linear-gradient(120deg,rgba(69,189,219,.09),rgba(157,73,191,.08));}.contact-diagnostic-summary span{display:block;color:#6ebbd3;font:600 10px "Montserrat",sans-serif;letter-spacing:.12em;text-transform:uppercase}.contact-diagnostic-summary strong{display:block;color:#e9f2ff;margin:8px 0 4px;font-weight:500}.contact-diagnostic-summary p{margin:0;color:#7d899e;font-size:12px}.lead-form.is-sent::after{content:"✓";position:absolute;z-index:5;display:grid;place-items:center;inset:0;background:rgba(5,9,18,.88);color:#aaf3c1;font-size:72px;animation:sentSignal 2.3s var(--ease-out) forwards}@keyframes sentSignal{0%{opacity:0;transform:scale(.7)}20%,75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.12)}}

.site-footer{position:relative;padding:110px 24px 34px;text-align:center;overflow:hidden;background:#010103;border-top:1px solid rgba(255,255,255,.06)}.footer-convergence{position:absolute;left:50%;top:0;width:min(780px,90vw);height:100px;transform:translateX(-50%)}.footer-convergence i{position:absolute;left:var(--left);top:0;width:1px;height:92px;background:linear-gradient(var(--c),transparent);transform:rotate(var(--r));transform-origin:top;filter:drop-shadow(0 0 7px var(--c))}.footer-convergence i:nth-child(1){--left:15%;--r:-18deg;--c:#ff6b6b}.footer-convergence i:nth-child(2){--left:32%;--r:-9deg;--c:#ffa94d}.footer-convergence i:nth-child(3){--left:50%;--r:0deg;--c:#ffd43b}.footer-convergence i:nth-child(4){--left:68%;--r:9deg;--c:#69db7c}.footer-convergence i:nth-child(5){--left:85%;--r:18deg;--c:#4dabf7}.footer-convergence span{position:absolute;left:50%;bottom:4px;width:42px;height:1px;background:#fff;box-shadow:0 0 18px #fff;transform:translateX(-50%)}.footer-brand{display:inline-flex;align-items:center;gap:13px}.footer-brand strong{color:#e8f2ff;font:600 12px "Montserrat",sans-serif;letter-spacing:.16em}.footer-brand em{font-style:normal;color:transparent;background:linear-gradient(90deg,#45bddb,#9d49bf);background-clip:text;-webkit-background-clip:text}.site-footer>p{margin:18px 0 50px;color:#697287;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.footer-meta{display:flex;justify-content:space-between;max-width:1100px;margin:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.06);color:#4f5769;font-size:11px}.footer-meta a:hover{color:#8edbef}

@media(max-width:900px){.story-thread{left:8px;opacity:.45}.scenario-selector,.evidence-grid{grid-template-columns:1fr}.scenario-selector{margin-bottom:40px}.evidence-journey{grid-template-columns:1fr;max-width:620px}.journey-prism{transform:rotate(90deg)}.result-overview{grid-template-columns:1fr}.result-overview canvas{max-width:330px;margin:auto}}
@media(max-width:640px){.cinematic-intro{display:none}.story-thread{display:none}.glass-grid:has(.glass-card.is-active) .glass-card:not(.is-active){opacity:.72}.sector-flow{left:15px;right:15px}.sector-flow span{font-size:8px}.evidence-section{padding-left:14px;padding-right:14px}.evidence-journey{padding:24px 20px}.evidence-grid article{padding:24px}.result-overview canvas{max-width:270px}.footer-meta{flex-direction:column;gap:8px}.site-footer{padding-top:90px}}

/* ===== REFINAMIENTO ESPECTRAL ===== */
.nexus-svg {
  transition: transform .85s var(--ease-out), filter .6s ease;
  transform: scale(1);
  transform-origin: 50% 50%;
}
.nexus-svg.is-zoomed { transform: translate(var(--zoom-x,0),var(--zoom-y,0)) scale(1.18); filter: saturate(1.22) contrast(1.04); }
.framework-title span {
  color: transparent;
  background: linear-gradient(90deg,#45bddb 0%,#559ed9 45%,#9d49bf 100%);
  background-clip: text; -webkit-background-clip: text;
  text-shadow: 0 0 28px rgba(91,122,220,.2);
}
.nexus-node .node-shape { transition: fill .35s ease, stroke .35s ease, filter .35s ease; }
.nexus-node[data-id="descubrimiento"] .node-phase { fill: url(#prismPhase1); stroke: #ff8bad; }
.nexus-node[data-id="estructura"] .node-phase { fill: url(#prismPhase2); stroke: #ffc06e; }
.nexus-node[data-id="perspectivas"] .node-phase { fill: url(#prismPhase3); stroke: #ffe875; }
.nexus-node[data-id="auditoria"] .node-phase { fill: url(#prismPhase4); stroke: #7febaa; }
.nexus-node[data-id="aplicacion"] .node-phase { fill: url(#prismPhase5); stroke: #78cfff; }
.nexus-node[data-id="nexus"] .node-core {
  fill: url(#prismCoreGradient);
  filter: drop-shadow(0 0 16px rgba(102,153,255,.35));
}
.node-area { fill: url(#prismAreaGradient); stroke: rgba(128,168,230,.55); }
.node-facet { pointer-events:none; stroke:rgba(255,255,255,.08); stroke-width:.6; }
.node-facet.facet-light { fill:rgba(255,255,255,.24); }
.node-facet.facet-mid { fill:rgba(86,216,238,.17); }
.node-facet.facet-deep { fill:rgba(35,30,112,.3); }
.nexus-node.active .node-shape { filter: drop-shadow(0 0 18px rgba(118,176,255,.75)) brightness(1.24); }
.nexus-info.has-content {
  border-color: rgba(104,149,232,.38);
  background: linear-gradient(120deg,rgba(76,125,210,.13),rgba(154,72,191,.08) 55%,rgba(10,12,18,.86));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06),0 20px 50px rgba(0,0,0,.25);
}

/* Sectores: seis refracciones de una misma realidad. */
.sectors-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 32%,rgba(69,189,219,.1),transparent 27%),
    radial-gradient(circle at 88% 68%,rgba(157,73,191,.11),transparent 28%),
    linear-gradient(180deg,#020204,#050613 50%,#020204);
}
.sectors-section::before {
  content:""; position:absolute; inset:8% -12%; pointer-events:none; opacity:.32;
  background: conic-gradient(from 112deg at 50% 50%,transparent,#45bddb22,#559ed933,#9d49bf22,transparent 42%);
  filter: blur(70px); animation: sectorAurora 18s ease-in-out infinite alternate;
}
@keyframes sectorAurora { to { transform: translate3d(4%,-3%,0) rotate(5deg) scale(1.08); } }
.sectors-section .container { position:relative; z-index:1; }
.sector-card {
  --sector-color: 69,189,219;
  min-height: 314px; border-radius:18px; padding:32px;
  border-color:rgba(var(--sector-color),.2);
  background:linear-gradient(145deg,rgba(var(--sector-color),.09),rgba(255,255,255,.025) 42%,rgba(2,2,4,.78));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 24px 55px rgba(0,0,0,.2);
}
.sector-card:nth-child(2){--sector-color:85,158,217}.sector-card:nth-child(3){--sector-color:111,124,221}.sector-card:nth-child(4){--sector-color:129,93,211}.sector-card:nth-child(5){--sector-color:157,73,191}.sector-card:nth-child(6){--sector-color:104,197,185}
.sector-card::before {
  inset:0; padding:0; border-radius:inherit; mask:none; -webkit-mask:none;
  background:radial-gradient(circle at var(--glow-x,50%) var(--glow-y,50%),rgba(var(--sector-color),.27),transparent 42%);
  opacity:.25; transition:opacity .45s ease; pointer-events:none;
}
.sector-card::after {
  content:attr(data-sector); position:absolute; right:20px; top:3px;
  color:rgba(var(--sector-color),.08); font:500 5.5rem/1 "Montserrat",sans-serif;
  letter-spacing:-.08em; pointer-events:none;
}
.sector-card:hover { transform:translateY(-9px) scale(1.012); border-color:rgba(var(--sector-color),.62); background:linear-gradient(145deg,rgba(var(--sector-color),.15),rgba(255,255,255,.035) 48%,rgba(2,2,4,.72)); box-shadow:0 28px 80px rgba(var(--sector-color),.11),inset 0 1px 0 rgba(255,255,255,.11); }
.sector-card:hover::before { opacity:1; background:radial-gradient(circle at var(--glow-x,50%) var(--glow-y,50%),rgba(var(--sector-color),.34),transparent 44%); }
.sector-icon { position:relative; z-index:1; color:rgba(var(--sector-color),.78); filter:drop-shadow(0 0 12px rgba(var(--sector-color),.25)); }
.sector-card:hover .sector-icon { color:rgb(var(--sector-color)); transform:translateY(-2px) scale(1.14) rotate(-3deg); }
.sector-title,.sector-list { position:relative; z-index:1; }
.sector-card:hover .sector-title { color:#fff; text-shadow:0 0 20px rgba(var(--sector-color),.3); }
.sector-list li::before { background:rgba(var(--sector-color),.5); }
.sector-card:hover .sector-list li::before { background:rgb(var(--sector-color)); box-shadow:0 0 8px rgba(var(--sector-color),.7); }

/* ===== DIAGNÓSTICO ===== */
.diagnostic-section { position:relative; padding:clamp(90px,11vw,150px) 24px; overflow:hidden; background:#03040a; }
.diagnostic-section::before { content:""; position:absolute; width:72vw; height:72vw; left:-30vw; top:-18vw; border-radius:50%; background:conic-gradient(from 40deg,transparent,#45bddb20,#6f7cdd28,#9d49bf1f,transparent 55%); filter:blur(42px); animation:diagnosticTurn 24s linear infinite; }
@keyframes diagnosticTurn { to { transform:rotate(360deg); } }
.diagnostic-shell { position:relative; z-index:1; width:min(1160px,100%); margin:0 auto; display:grid; grid-template-columns:.78fr 1.22fr; border:1px solid rgba(118,145,220,.2); border-radius:28px; overflow:hidden; background:rgba(8,10,20,.76); box-shadow:0 50px 120px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.055); backdrop-filter:blur(22px); }
.diagnostic-copy { position:relative; padding:clamp(38px,5vw,70px); background:linear-gradient(145deg,rgba(69,189,219,.1),rgba(85,85,200,.05) 46%,rgba(157,73,191,.08)); }
.section-kicker,.console-label { display:inline-block; margin-bottom:20px; color:#77cee4; font:600 11px/1 "Montserrat",sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.diagnostic-copy h2 { font-size:clamp(2rem,4.4vw,4rem); line-height:1.02; margin-bottom:25px; }
.diagnostic-copy p { color:#8c95aa; max-width:430px; }
.diagnostic-spectrum { display:flex; gap:8px; margin-top:48px; }
.diagnostic-spectrum i { display:block; height:3px; flex:1; background:var(--phase-1); box-shadow:0 0 12px currentColor; animation:spectrumBreath 2.4s ease-in-out infinite alternate; }
.diagnostic-spectrum i:nth-child(2){background:var(--phase-2);animation-delay:.15s}.diagnostic-spectrum i:nth-child(3){background:var(--phase-3);animation-delay:.3s}.diagnostic-spectrum i:nth-child(4){background:var(--phase-4);animation-delay:.45s}.diagnostic-spectrum i:nth-child(5){background:var(--phase-5);animation-delay:.6s}
@keyframes spectrumBreath { to { opacity:.32; transform:scaleX(.88); } }
.diagnostic-console { min-height:620px; padding:clamp(38px,5vw,70px); display:flex; align-items:center; }
.diagnostic-intro,.diagnostic-quiz,.diagnostic-result { width:100%; }
.diagnostic-intro h3,.diagnostic-quiz h3,.diagnostic-result h3 { font-size:clamp(1.55rem,3vw,2.35rem); line-height:1.2; margin-bottom:20px; }
.diagnostic-intro p,.diagnostic-result p { color:#7e879b; margin-bottom:32px; }
.spectral-button,.form-submit { display:inline-flex; align-items:center; justify-content:center; gap:28px; padding:15px 21px; color:#050611; background:linear-gradient(100deg,#dff8ff,#8dddf0 42%,#c091e3); border:0; border-radius:9px; font:600 13px/1 "Montserrat",sans-serif; cursor:pointer; box-shadow:0 10px 35px rgba(93,142,230,.2); transition:transform .3s var(--ease-out),box-shadow .3s; }
.spectral-button:hover,.form-submit:hover { transform:translateY(-3px); box-shadow:0 17px 45px rgba(101,151,235,.32); }
.quiz-topline { display:flex; justify-content:space-between; color:#7e89a4; font:500 11px/1 "Montserrat",sans-serif; text-transform:uppercase; letter-spacing:.1em; }
.quiz-progress { height:2px; margin:17px 0 36px; background:rgba(255,255,255,.07); overflow:hidden; }
.quiz-progress span { display:block; height:100%; width:10%; background:linear-gradient(90deg,#45bddb,#6f7cdd,#9d49bf); box-shadow:0 0 14px #6f7cdd; transition:width .55s var(--ease-out); }
.answer-grid { display:grid; gap:10px; }
.answer-option { display:flex; align-items:center; gap:15px; width:100%; padding:14px 16px; text-align:left; color:#aeb7ca; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:rgba(255,255,255,.025); cursor:pointer; transition:all .25s ease; }
.answer-option span { display:grid; place-items:center; flex:0 0 28px; height:28px; border-radius:50%; color:#7b89a5; background:rgba(255,255,255,.04); font-size:11px; }
.answer-option strong { font-weight:400; line-height:1.35; }
.answer-option:hover { color:#fff; border-color:rgba(108,161,231,.38); transform:translateX(4px); }
.answer-option.selected { color:#fff; border-color:rgba(126,112,225,.62); background:linear-gradient(90deg,rgba(69,189,219,.1),rgba(157,73,191,.12)); box-shadow:inset 3px 0 #7d83e1; }
.answer-option.selected span { color:#fff; background:linear-gradient(135deg,#45bddb,#9d49bf); }
.quiz-actions,.result-actions { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:28px; }
.quiz-back,.quiz-next { padding:11px 16px; border-radius:7px; border:1px solid rgba(255,255,255,.11); background:transparent; color:#929bad; cursor:pointer; }
.quiz-back:disabled { opacity:.25; cursor:default; }.quiz-next { color:#07101a; background:#dcecff; border-color:#dcecff; }.quiz-next:disabled{opacity:.28;cursor:default}
.result-score { display:flex; align-items:baseline; gap:8px; margin-bottom:12px; }.result-score strong{font:500 clamp(4rem,8vw,7rem)/.9 "Montserrat",sans-serif;color:transparent;background:linear-gradient(135deg,#67d1e8,#707ce2,#b362cb);background-clip:text;-webkit-background-clip:text}.result-score span{color:#59647c}
.result-signals { display:grid; gap:12px; }.result-signals div{display:grid;grid-template-columns:34px 120px 1fr;align-items:center;gap:10px;color:#9ca5b9;font-size:12px}.result-signals div>span{color:#5f6a82}.result-signals i{position:relative;height:3px;background:rgba(255,255,255,.06)}.result-signals i::after{content:"";display:block;width:var(--signal);height:100%;background:linear-gradient(90deg,#45bddb,#9d49bf);box-shadow:0 0 10px #6f7cdd}

/* ===== CONTACTO ===== */
.contact-section { position:relative; padding:clamp(100px,12vw,170px) 24px; overflow:hidden; background:radial-gradient(circle at 80% 45%,rgba(66,103,198,.14),transparent 35%),#020204; }
.contact-orbit { position:absolute; width:min(680px,70vw); aspect-ratio:1; right:-15vw; top:50%; translate:0 -50%; border:1px solid rgba(95,134,220,.15); border-radius:50%; box-shadow:0 0 0 70px rgba(90,120,220,.025),0 0 0 140px rgba(157,73,191,.02); animation:contactOrbit 12s ease-in-out infinite alternate; }
.contact-orbit::before,.contact-orbit::after { content:""; position:absolute; border-radius:50%; background:#8fe7f5; box-shadow:0 0 24px #61bddd; }.contact-orbit::before{width:8px;height:8px;top:15%;left:14%}.contact-orbit::after{width:5px;height:5px;right:10%;bottom:22%;background:#bd75d2;box-shadow:0 0 22px #9d49bf}
@keyframes contactOrbit { to { transform:rotate(8deg) scale(1.04); } }
.contact-layout { position:relative; z-index:1; display:grid; grid-template-columns:.88fr 1.12fr; gap:clamp(50px,8vw,110px); align-items:center; }
.contact-copy h2 { font-size:clamp(2.2rem,4.5vw,4.4rem); line-height:1.03; margin-bottom:28px; }.contact-copy>p{color:#858da0;max-width:510px;margin-bottom:38px}
.contact-promise { display:flex; gap:18px; padding:13px 0; color:#aab2c3; border-top:1px solid rgba(255,255,255,.07); font-size:13px; }.contact-promise span{color:#5c789b;font:500 10px "Montserrat",sans-serif}
.lead-form { position:relative; padding:clamp(28px,4.2vw,50px); border:1px solid rgba(107,143,220,.22); border-radius:24px; background:linear-gradient(145deg,rgba(13,17,32,.92),rgba(5,6,11,.9)); box-shadow:0 42px 100px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.06); overflow:hidden; backdrop-filter:blur(18px); }
.form-beam { position:absolute; left:-10%; top:0; width:120%; height:2px; background:linear-gradient(90deg,transparent,#62cbe4,#747de0,#b864cc,transparent); box-shadow:0 0 22px #6f7cdd; animation:formBeam 4s ease-in-out infinite alternate; }@keyframes formBeam{to{transform:translateX(10%);filter:hue-rotate(25deg)}}
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }.lead-form label{display:block;margin-bottom:18px}.lead-form label>span:first-child{display:block;margin-bottom:8px;color:#8e98ac;font-size:11px;letter-spacing:.05em}.lead-form input,.lead-form select,.lead-form textarea{width:100%;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:rgba(255,255,255,.035);color:#eef4ff;padding:13px 14px;font:inherit;font-size:13px;outline:none;transition:border-color .25s,box-shadow .25s,background .25s}.lead-form select{color:#9ca7ba}.lead-form option{color:#111}.lead-form textarea{resize:vertical;min-height:120px}.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:rgba(103,176,226,.6);background:rgba(70,110,190,.06);box-shadow:0 0 0 3px rgba(80,130,220,.08)}
.privacy-check{display:flex!important;align-items:flex-start;gap:10px;cursor:pointer}.privacy-check input{width:16px;height:16px;margin-top:3px;accent-color:#7389df}.privacy-check span{margin:0!important;color:#747e91!important;letter-spacing:0!important;line-height:1.5}.form-submit{width:100%;margin-top:4px}.form-submit:disabled{opacity:.55;cursor:wait}.form-status{min-height:22px;margin-top:14px;color:#697489;font-size:11px;text-align:center}.form-status.is-error{color:#e99a9a}.form-status.is-success{color:#81d995}
.contact-direct { margin-top:3px; color:#59647a; font-size:11px; text-align:center; }
.contact-direct a { color:#7fcfe3; border-bottom:1px solid rgba(127,207,227,.3); transition:color .25s,border-color .25s; }
.contact-direct a:hover { color:#dff9ff; border-color:#dff9ff; }
.botcheck { display:none!important; }

@media (max-width: 900px) {
  .diagnostic-shell,.contact-layout { grid-template-columns:1fr; }
  .diagnostic-console { min-height:560px; }
  .contact-copy { max-width:680px; }
}
@media (max-width: 640px) {
  .nav-wordmark { display:none; }
  .nav-links a:nth-child(1),.nav-links a:nth-child(2),.nav-links a:nth-child(4) { display:none; }
  .nav-links a { font-size:10px; padding:8px 7px; }
  .nexus-svg.is-zoomed { transform:translate(var(--zoom-x,0),var(--zoom-y,0)) scale(1.12); }
  .diagnostic-section,.contact-section { padding-left:14px; padding-right:14px; }
  .diagnostic-shell { border-radius:19px; }.diagnostic-copy,.diagnostic-console { padding:30px 22px; }.diagnostic-console{min-height:610px}.diagnostic-copy h2{font-size:2.3rem}
  .field-row { grid-template-columns:1fr; gap:0; }.lead-form{padding:27px 20px;border-radius:18px}.result-signals div{grid-template-columns:28px 96px 1fr}
}

.cinematic-hero .prisma-content {
  position: absolute;
  left: 7vw;
  width: min(46vw, 590px);
  max-width: none;
  padding: 0;
  text-align: left;
}
.cinematic-hero .prisma-content > p {
  margin-left: 0;
  margin-right: 0;
}
.cinematic-hero .brand-tagline {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.prisma-content h1 span { color: #f6f8ff; }
.prisma-content h1 strong {
  color: transparent;
  background: linear-gradient(90deg, #45bddb 0%, #559ed9 42%, #9d49bf 100%);
  background-clip: text;
  -webkit-background-clip: text;
  font-weight: 400;
}
.brand-tagline {
  margin: -2px auto 22px !important;
  color: rgba(255,255,255,0.72) !important;
  font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(0.68rem, 1.3vw, 0.9rem) !important;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.45 !important;
  text-transform: uppercase;
}
.audio-toggle {
  appearance: none;
  -webkit-appearance: none;
}
@media (max-width: 640px) {
  .prisma-content h1 { letter-spacing: 0.08em; }
  .brand-tagline { padding: 0 18px; }
  .cinematic-hero .prisma-content {
    position: relative;
    left: auto;
    width: 100%;
    padding: 0 20px;
    text-align: center;
  }
  .cinematic-hero .prisma-content > p {
    margin-left: auto;
    margin-right: auto;
  }
  .cinematic-hero .brand-tagline {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ===== CONSOLIDACIÓN DE LANZAMIENTO ===== */
.footer-links{display:flex;gap:22px;align-items:center}
.privacy-check a{color:#7fcfe3;border-bottom:1px solid rgba(127,207,227,.3)}
.legal-page{cursor:auto;background:radial-gradient(circle at 75% 15%,rgba(91,105,210,.12),transparent 32%),#020204;color:#a9b2c4}.legal-header{position:sticky;z-index:10;top:0;display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:0 clamp(20px,5vw,70px);border-bottom:1px solid rgba(255,255,255,.08);background:rgba(2,2,4,.88);backdrop-filter:blur(18px)}.legal-header>a:last-child{color:#83d5e8;font-size:13px}.legal-content{width:min(820px,calc(100% - 40px));margin:0 auto;padding:clamp(75px,10vw,125px) 0}.legal-content h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1;margin-bottom:18px}.legal-updated{color:#606a7e;margin-bottom:60px}.legal-content section{padding:30px 0;border-top:1px solid rgba(255,255,255,.08)}.legal-content h2{font-size:clamp(1.25rem,2.5vw,1.65rem);margin-bottom:13px}.legal-content p{line-height:1.8}.legal-content a{color:#7fd2e5;border-bottom:1px solid rgba(127,210,229,.3)}.legal-footer{padding:30px 20px;text-align:center;border-top:1px solid rgba(255,255,255,.07);color:#596377;font-size:12px}.legal-footer a{color:#7fcfe3}

@media (max-width: 900px) and (min-width: 641px) {
  .site-nav { padding:0 18px; }
  .nav-brand { gap:10px;font-size:11px; }
  .nav-logo { width:40px;height:40px; }
  .nav-links { gap:3px; }
  .nav-links a { padding:9px 8px;font-size:11px; }
}
@media (max-width: 640px) {
  .nav-logo { width:36px;height:36px; }
  .nav-links a { font-size:11px;padding:8px 7px; }
  .section-header { margin-bottom:38px; }
  .aurora-section,.nexus-section,.sectors-section,.scenario-section { padding-top:82px;padding-bottom:82px; }
  .scenario-columns { gap:24px; }
  .metrics-grid { gap:12px; }
  .metric-card { padding:22px 12px; }
  .sector-card { min-height:0; }
  .sector-flow { display:none; }
  .footer-meta,.footer-links { flex-direction:column;gap:10px; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 768px) {
  html { scroll-behavior:auto!important; }
  *,*::before,*::after { animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important; }
  .cinematic-intro,.story-thread,#cursorCanvas { display:none!important; }
  [data-reveal],.sector-card,.metric-card,.nexus-node { opacity:1!important;transform:none!important; }
}
.is-offscreen,.is-offscreen *,.is-offscreen::before,.is-offscreen::after { animation-play-state:paused!important; }
h1,h2,h3,p,li,strong { overflow-wrap:break-word; }
