/* ═══════════════════════════════════════════════════════════════════════════
   ULTRA / AGENTES DE IA — COMPONENTS V2 CHAROL SÓLIDO
   ═════════════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════
   SERVICES GRID — Material charol sólido
   ════════════════════════════════════════════════════ */
.services-grid {
    display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:var(--s5);
}

.service-card {
    position:relative; padding:var(--s6);
    background:var(--u-grad-card);
    border:1px solid var(--u-border);
    border-radius:var(--u-r-lg);
    overflow:hidden; transition:all var(--u-t) var(--u-ease);
    box-shadow:var(--u-shadow-card);
}
.service-card::before {
    content:''; position:absolute; top:0; left:0; right:0;
    height:1px; background:linear-gradient(90deg,transparent,var(--u-border-cyan),transparent);
    opacity:0; transition:opacity var(--u-t) var(--u-ease);
}
/* Borde izquierdo coloreado — material lateral */
.service-card::after {
    content:''; position:absolute; left:0; top:0; bottom:0;
    width:3px;
    background:linear-gradient(180deg, var(--u-cyan), var(--u-violet));
    transform:scaleY(0); transform-origin:top;
    transition:transform var(--u-t) var(--u-ease);
    border-radius:0 2px 2px 0;
}
.service-card-glow {
    position:absolute; inset:-1px; border-radius:var(--u-r-lg);
    background:var(--u-grad-primary); opacity:0; z-index:-1;
    filter:blur(18px); transition:opacity var(--u-t) var(--u-ease);
}
.service-card:hover {
    transform:translateY(-8px);
    background:var(--u-grad-card-hover);
    border-color:var(--u-border-cyan);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.1),
        inset 0 -1px 0 rgba(0,0,0,0.4),
        0 0 0 1px rgba(0,229,255,0.35),
        var(--u-shadow-cyan),
        0 24px 60px rgba(0,0,0,0.6);
}
.service-card:hover::before { opacity:1; }
.service-card:hover::after  { transform:scaleY(1); }
.service-card:hover .service-card-glow { opacity:0.15; }

/* Featured card */
.service-card-featured {
    background: var(--u-grad-card-featured);
    border-color:rgba(124,77,255,0.5);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.1),
        inset 0 -1px 0 rgba(0,0,0,0.4),
        0 0 0 1px rgba(124,77,255,0.3),
        var(--u-shadow-violet),
        0 20px 50px rgba(0,0,0,0.6);
}
.service-badge {
    position:absolute; top:16px; right:16px;
    padding:4px 12px;
    background:#8A5BFF;
    color:#fff; font-family:var(--u-font-mono); font-size:0.68rem; font-weight:700;
    text-transform:uppercase; letter-spacing:0.08em;
    border-radius:var(--u-r-pill);
    box-shadow:0 4px 14px rgba(124,77,255,0.5), inset 0 1px 0 rgba(255,255,255,0.2);
}

.service-icon {
    width:58px; height:58px; border-radius:var(--u-r-md);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:var(--s4); font-size:1.55rem; position:relative; overflow:hidden;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.25), inset 0 -2px 0 rgba(0,0,0,0.3), 0 8px 22px rgba(0,0,0,0.4);
}
.service-icon::before { content:''; position:absolute; inset:0; background:var(--u-sheen-strong); pointer-events:none; }
.service-icon i { position:relative; z-index:1; color:#fff; text-shadow:0 0 12px rgba(255,255,255,0.8); }

.service-icon-cyan    { background:#00E5FF; box-shadow:0 0 20px rgba(0,229,255,0.45),0 8px 22px rgba(0,0,0,0.4); }
.service-icon-violet  { background:#8A5BFF; box-shadow:0 0 20px rgba(124,77,255,0.5),0 8px 22px rgba(0,0,0,0.4); }
.service-icon-gold    { background:#E8C66B; box-shadow:0 0 20px rgba(255,215,64,0.45),0 8px 22px rgba(0,0,0,0.4); }
.service-icon-magenta { background:#E91E8C; box-shadow:0 0 20px rgba(224,64,251,0.45),0 8px 22px rgba(0,0,0,0.4); }
.service-icon-orange  { background:#FF6B35; box-shadow:0 0 20px rgba(255,107,53,0.45),0 8px 22px rgba(0,0,0,0.4); }
.service-icon-aqua    { background:#1FB6A6; box-shadow:0 0 20px rgba(29,233,182,0.45),0 8px 22px rgba(0,0,0,0.4); }

.service-title { font-family:var(--u-font-display); font-size:1.35rem; font-weight:700; color:var(--u-silver); margin-bottom:var(--s3); letter-spacing:-0.01em; }
.service-desc { color:var(--u-text-dim); font-size:0.95rem; line-height:1.6; margin-bottom:var(--s4); }

.service-features { margin-bottom:var(--s5); }
.service-features li { display:flex; align-items:center; gap:var(--s2); padding:5px 0; color:var(--u-text-dim); font-size:0.9rem; }
.service-features li i {
    color:var(--u-cyan); font-size:0.72rem;
    width:18px; height:18px; display:flex; align-items:center; justify-content:center;
    border-radius:50%; background:rgba(0,229,255,0.12); border:1px solid rgba(0,229,255,0.35); flex-shrink:0;
}
.service-cta { display:inline-flex; align-items:center; gap:var(--s2); font-family:var(--u-font-ui); font-weight:700; color:var(--u-cyan); font-size:0.92rem; letter-spacing:0.04em; transition:all var(--u-t-fast) var(--u-ease); text-transform:uppercase; }
.service-cta i { transition:transform var(--u-t) var(--u-ease); }
.service-cta:hover { color:var(--u-violet-2); }
.service-cta:hover i { transform:translateX(5px); }

/* ════════════════════════════════════════════════════
   AGENTS SHOWCASE
   ════════════════════════════════════════════════════ */
.agents-showcase { display:grid; grid-template-columns:380px 1fr; gap:var(--s7); align-items:center; }

.agent-portrait { position:relative; }
.agent-portrait-frame {
    position:relative; aspect-ratio:1; border-radius:50%; overflow:hidden;
    background:radial-gradient(circle at 50% 30%, rgba(124,77,255,0.3), transparent 65%);
    box-shadow:
        0 0 0 1px var(--u-border-strong),
        0 0 60px rgba(124,77,255,0.25),
        0 30px 70px rgba(0,0,0,0.55);
}
.agent-portrait-frame img { width:100%;height:100%;object-fit:contain;padding:6%;animation:heroFloat 8s ease-in-out infinite; }
.agent-portrait-rings { position:absolute;inset:0;pointer-events:none; }
.ring { position:absolute; border-radius:50%; border:1px solid transparent; inset:0; animation:ringRotate 20s linear infinite; }
.ring-1 { inset:-3%;  border-color:rgba(0,229,255,0.3); animation-duration:15s; }
.ring-2 { inset:-10%; border-color:rgba(124,77,255,0.25); animation-direction:reverse; animation-duration:25s; }
.ring-3 { inset:-18%; border-color:rgba(224,64,251,0.18); animation-duration:35s; }
@keyframes ringRotate { from{transform:rotate(0)} to{transform:rotate(360deg)} }
.ring::before { content:''; position:absolute; top:50%; left:-4px; width:8px; height:8px; border-radius:50%; background:var(--u-cyan); box-shadow:0 0 12px var(--u-cyan); transform:translateY(-50%); }
.ring-2::before { background:var(--u-violet-2); box-shadow:0 0 12px var(--u-violet-2); }
.ring-3::before { background:var(--u-magenta); box-shadow:0 0 12px var(--u-magenta); }

.agent-list { display:grid; gap:var(--s3); }
.agent-item {
    display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:var(--s4);
    padding:var(--s4) var(--s5); background:var(--u-grad-card);
    border:1px solid var(--u-border); border-radius:var(--u-r-md);
    transition:all var(--u-t) var(--u-ease); position:relative; overflow:hidden;
    box-shadow:var(--u-shadow-card);
}
.agent-item::before {
    content:''; position:absolute; left:0;top:0;bottom:0; width:3px;
    background:var(--u-grad-primary); transform:scaleY(0);
    transition:transform var(--u-t) var(--u-ease); transform-origin:top;
}
.agent-item:hover { border-color:var(--u-border-cyan); transform:translateX(8px); background:var(--u-grad-card-hover); box-shadow:0 0 20px rgba(0,229,255,0.12), var(--u-shadow-md); }
.agent-item:hover::before { transform:scaleY(1); }

.agent-id {
    font-family:var(--u-font-mono); font-size:0.75rem; font-weight:700;
    color:var(--u-cyan); padding:6px 10px; border:1px solid var(--u-border-cyan);
    border-radius:var(--u-r-sm); background:rgba(0,229,255,0.08);
    letter-spacing:0.05em; box-shadow:0 0 10px rgba(0,229,255,0.15);
}
.agent-body h3 { font-family:var(--u-font-display); font-size:1.08rem; font-weight:700; color:var(--u-text); margin-bottom:4px; }
.agent-body p  { font-size:0.88rem; color:var(--u-text-dim); line-height:1.5; margin-bottom:var(--s2); }
.agent-tags { display:flex; gap:6px; flex-wrap:wrap; }
.tag {
    font-family:var(--u-font-mono); font-size:0.68rem; padding:3px 9px;
    background:rgba(124,77,255,0.15); color:var(--u-violet-2);
    border:1px solid rgba(124,77,255,0.3); border-radius:var(--u-r-pill); font-weight:600;
    letter-spacing:0.04em;
}
.agent-status { display:flex; align-items:center; gap:6px; font-size:0.75rem; color:var(--u-text-muted); font-family:var(--u-font-mono); }
.status-dot { width:8px; height:8px; border-radius:50%; background:#1DE9B6; box-shadow:0 0 10px #1DE9B6; animation:pulse 2s ease-in-out infinite; }

/* ════════════════════════════════════════════════════
   CAPABILITIES GRID
   ════════════════════════════════════════════════════ */
.capabilities-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s4); }

.cap-card {
    grid-column:span 1; padding:var(--s5);
    background:var(--u-grad-card); border:1px solid var(--u-border);
    border-radius:var(--u-r-lg); transition:all var(--u-t) var(--u-ease);
    box-shadow:var(--u-shadow-card);
}
.cap-card:hover { border-color:var(--u-border-cyan); transform:translateY(-5px); background:var(--u-grad-card-hover); box-shadow:var(--u-shadow-cyan), 0 20px 50px rgba(0,0,0,0.6); }
.cap-card-lg { grid-column:span 2; display:grid; grid-template-columns:1fr 1fr; gap:var(--s5); align-items:center; }

.cap-visual { border-radius:var(--u-r-md); overflow:hidden; aspect-ratio:4/3; background:var(--u-surface-4); box-shadow:inset 0 0 0 1px var(--u-border); }
.cap-visual img { width:100%;height:100%;object-fit:cover;transition:transform 0.8s var(--u-ease-out); }
.cap-card-lg:hover .cap-visual img { transform:scale(1.08); }

.cap-tag {
    display:inline-block; padding:4px 12px; margin-bottom:var(--s3);
    background:rgba(0,229,255,0.12); color:var(--u-cyan);
    border:1px solid var(--u-border-cyan); border-radius:var(--u-r-pill);
    font-family:var(--u-font-mono); font-size:0.68rem; text-transform:uppercase;
    letter-spacing:0.1em; font-weight:700;
    box-shadow:0 0 12px rgba(0,229,255,0.15);
}
.cap-card h3 { font-family:var(--u-font-display); font-size:1.22rem; font-weight:700; color:var(--u-text); margin-bottom:var(--s2); letter-spacing:-0.01em; }
.cap-card-lg h3 { font-size:1.55rem; }
.cap-card p  { color:var(--u-text-dim); font-size:0.92rem; line-height:1.6; }

.cap-icon {
    width:50px; height:50px; border-radius:var(--u-r-md);
    background:var(--u-surface-2); border:1px solid var(--u-border-cyan);
    display:flex; align-items:center; justify-content:center; margin-bottom:var(--s4);
    font-size:1.35rem; color:var(--u-cyan);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.08), 0 0 18px rgba(0,229,255,0.2), 0 4px 12px rgba(0,0,0,0.4);
}

/* ════════════════════════════════════════════════════
   PRICING PREMIUM SÓLIDO
   ════════════════════════════════════════════════════ */
.pricing-toggle {
    display:inline-flex; margin-top:var(--s5); padding:4px;
    background:var(--u-surface-1); border:1px solid var(--u-border-strong);
    border-radius:var(--u-r-pill);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.06), 0 4px 16px rgba(0,0,0,0.4);
}
.toggle-btn { padding:10px 20px; border-radius:var(--u-r-pill); font-family:var(--u-font-ui); font-size:0.92rem; font-weight:700; color:var(--u-text-dim); transition:all var(--u-t) var(--u-ease); display:inline-flex; align-items:center; gap:8px; letter-spacing:0.04em; }
.toggle-btn.active { background:var(--u-grad-primary); color:#001A20; box-shadow:0 4px 18px rgba(0,229,255,0.4), inset 0 1px 0 rgba(255,255,255,0.3); }
.toggle-badge { padding:2px 9px; background:rgba(255,215,64,0.2); color:var(--u-gold); border-radius:var(--u-r-pill); font-size:0.68rem; font-weight:700; border:1px solid rgba(255,215,64,0.3); }
.toggle-btn.active .toggle-badge { background:rgba(0,0,0,0.15); color:#001A20; border-color:transparent; }

.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s5); align-items:stretch; }

.price-card {
    position:relative; padding:var(--s6);
    background:var(--u-grad-card); border:1px solid var(--u-border);
    border-radius:var(--u-r-xl); transition:all var(--u-t) var(--u-ease); overflow:hidden;
    box-shadow:var(--u-shadow-card);
}
.price-card:hover {
    transform:translateY(-8px);
    background:var(--u-grad-card-hover);
    border-color:var(--u-border-strong);
    box-shadow:var(--u-shadow-violet), 0 28px 65px rgba(0,0,0,0.65);
}

.price-card-featured {
    background:var(--u-grad-card-featured);
    border-color:rgba(124,77,255,0.55);
    transform:scale(1.04);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.12),
        inset 0 -1px 0 rgba(0,0,0,0.4),
        0 0 0 1px rgba(124,77,255,0.4),
        var(--u-shadow-violet),
        0 28px 65px rgba(0,0,0,0.7);
}
.price-card-featured:hover { transform:scale(1.04) translateY(-8px); }

.price-card-glow {
    position:absolute; top:0; left:0; right:0; height:3px;
    background:var(--u-grad-primary);
    box-shadow:0 0 14px rgba(0,229,255,0.7), 0 0 28px rgba(124,77,255,0.4);
}
.price-card-dark {
    background:linear-gradient(160deg,#1C0E05 0%,#120A02 50%,#070B1C 100%);
    border-color:rgba(255,215,64,0.3);
    box-shadow:inset 0 1px 0 rgba(255,215,64,0.1), var(--u-shadow-gold), 0 20px 50px rgba(0,0,0,0.6);
}
.price-card-dark:hover { border-color:rgba(255,215,64,0.55); box-shadow:var(--u-shadow-gold), 0 28px 65px rgba(0,0,0,0.65); }

.price-badge {
    position:absolute; top:-1px; right:var(--s5);
    padding:6px 16px;
    background:linear-gradient(135deg,#7C4DFF,#E040FB);
    color:#fff; font-family:var(--u-font-mono); font-size:0.72rem; font-weight:700;
    text-transform:uppercase; letter-spacing:0.08em;
    border-radius:0 0 var(--u-r-md) var(--u-r-md);
    box-shadow:0 6px 18px rgba(124,77,255,0.5), inset 0 1px 0 rgba(255,255,255,0.2);
}

.price-tier {
    display:inline-block; padding:4px 14px; margin-bottom:var(--s3);
    background:rgba(0,229,255,0.1); color:var(--u-cyan);
    border:1px solid var(--u-border-cyan); border-radius:var(--u-r-pill);
    font-family:var(--u-font-mono); font-size:0.7rem; text-transform:uppercase;
    letter-spacing:0.12em; font-weight:700;
}
.price-tier-gold { background:rgba(255,215,64,0.1); color:var(--u-gold); border-color:rgba(255,215,64,0.4); }

.price-name { font-family:var(--u-font-display); font-size:1.7rem; font-weight:800; color:var(--u-text); margin-bottom:var(--s2); }
.price-desc { color:var(--u-text-dim); font-size:0.9rem; line-height:1.5; margin-bottom:var(--s5); min-height:42px; }

.price-amount {
    display:flex; align-items:baseline; gap:4px; margin-bottom:var(--s5);
    padding-bottom:var(--s5); border-bottom:1px solid var(--u-border);
}
.price-currency { font-family:var(--u-font-display); font-size:1.5rem; font-weight:700; color:var(--u-text-dim); }
.price-number {
    font-family:var(--u-font-display); font-size:3.2rem; font-weight:900; line-height:1;
    background:none; -webkit-background-clip:border-box;
    background-clip:border-box; -webkit-text-fill-color:#EAF1FF; color:#EAF1FF; letter-spacing:-0.025em;
    transition:opacity 0.3s,transform 0.3s;
}
.price-card-dark .price-number { background:none; -webkit-background-clip:border-box; background-clip:border-box; -webkit-text-fill-color:#FFD740; color:#FFD740; }
.price-period { margin-left:4px; color:var(--u-text-muted); font-size:0.85rem; font-weight:500; }

.price-features { margin-top:var(--s5); }
.price-features li {
    display:flex; align-items:center; gap:var(--s2); padding:8px 0;
    color:var(--u-text-dim); font-size:0.92rem; border-bottom:1px solid rgba(255,255,255,0.04);
}
.price-features li:last-child { border-bottom:none; }
.price-features li i { width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:0.72rem;flex-shrink:0; }
.price-features li:not(.muted) i { color:var(--u-cyan); background:rgba(0,229,255,0.12); border:1px solid rgba(0,229,255,0.3); }
.price-features li.muted { color:var(--u-text-muted); opacity:0.45; }
.price-features li.muted i { color:var(--u-text-muted); background:rgba(255,255,255,0.04); border:1px solid var(--u-border); }

.pricing-note {
    margin-top:var(--s6); text-align:center; color:var(--u-text-muted);
    font-size:0.88rem; display:flex; align-items:center; justify-content:center; gap:var(--s2);
    font-family:var(--u-font-mono); letter-spacing:0.04em;
}
.pricing-note i { color:var(--u-cyan); }

/* ════════════════════════════════════════════════════
   PROCESS TIMELINE SÓLIDO
   ════════════════════════════════════════════════════ */
.process-timeline { display:flex; align-items:stretch; justify-content:space-between; gap:var(--s3); max-width:1100px; margin:0 auto; }
.process-step {
    flex:1; padding:var(--s5); background:var(--u-grad-card);
    border:1px solid var(--u-border); border-radius:var(--u-r-lg);
    text-align:center; transition:all var(--u-t) var(--u-ease);
    box-shadow:var(--u-shadow-card);
}
.process-step:hover { transform:translateY(-8px); border-color:var(--u-border-cyan); background:var(--u-grad-card-hover); box-shadow:var(--u-shadow-cyan), 0 20px 50px rgba(0,0,0,0.6); }
.process-number {
    font-family:var(--u-font-display); font-size:3.2rem; font-weight:900; line-height:1;
    background:none; -webkit-background-clip:border-box; background-clip:border-box;
    -webkit-text-fill-color:#00E5FF; color:#00E5FF; margin-bottom:var(--s3); letter-spacing:-0.04em;
}
.process-content h3 { font-family:var(--u-font-display); font-size:1.15rem; font-weight:700; color:var(--u-text); margin-bottom:var(--s2); }
.process-content p  { color:var(--u-text-dim); font-size:0.9rem; line-height:1.55; margin-bottom:var(--s3); }
.process-time {
    display:inline-flex; align-items:center; gap:6px; padding:4px 12px;
    background:rgba(124,77,255,0.12); color:var(--u-violet-2);
    border:1px solid rgba(124,77,255,0.3); border-radius:var(--u-r-pill);
    font-family:var(--u-font-mono); font-size:0.72rem; font-weight:600;
}
.process-connector { flex-shrink:0; width:40px; align-self:center; height:2px; background:linear-gradient(90deg,var(--u-cyan),var(--u-violet)); position:relative; box-shadow:0 0 8px rgba(0,229,255,0.4); }
.process-connector::after { content:''; position:absolute; right:-5px;top:50%; width:10px;height:10px; border-radius:50%; background:var(--u-violet); transform:translateY(-50%); box-shadow:0 0 12px var(--u-violet); }

/* ════════════════════════════════════════════════════
   FAQ ACCORDION SÓLIDO
   ════════════════════════════════════════════════════ */
.faq-list { display:grid; gap:var(--s3); }
.faq-item {
    background:var(--u-grad-card); border:1px solid var(--u-border);
    border-radius:var(--u-r-lg); overflow:hidden;
    transition:all var(--u-t) var(--u-ease); box-shadow:var(--u-shadow-card);
}
.faq-item:hover { border-color:var(--u-border-strong); }
.faq-item[open] {
    border-color:var(--u-border-cyan);
    background:var(--u-grad-card-hover);
    box-shadow:0 0 26px rgba(0,229,255,0.12), var(--u-shadow-md);
}
.faq-item summary {
    list-style:none; cursor:pointer; padding:var(--s5);
    display:flex; align-items:center; justify-content:space-between; gap:var(--s4);
    font-family:var(--u-font-display); font-size:1.05rem; font-weight:700;
    color:var(--u-text); transition:color var(--u-t-fast) var(--u-ease);
}
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary:hover { color:var(--u-cyan); }
.faq-icon {
    width:34px;height:34px; display:flex;align-items:center;justify-content:center;
    background:rgba(0,229,255,0.1); border:1px solid var(--u-border-cyan);
    border-radius:50%; color:var(--u-cyan); font-size:0.88rem; flex-shrink:0;
    transition:transform var(--u-t) var(--u-ease);
    box-shadow:0 0 12px rgba(0,229,255,0.2);
}
.faq-item[open] .faq-icon { transform:rotate(45deg); background:rgba(0,229,255,0.2); }
.faq-answer { padding:0 var(--s5) var(--s5); color:var(--u-text-dim); line-height:1.7; font-size:0.95rem; }

/* ════════════════════════════════════════════════════
   ROBOTS / IMAGEN SECUNDARIA en secciones
   ════════════════════════════════════════════════════ */
.section-robot-accent {
    width:100%; max-width:380px;
    object-fit:contain;
    filter: drop-shadow(0 0 30px rgba(0,229,255,0.45)) drop-shadow(0 0 70px rgba(124,77,255,0.3));
    animation:heroFloat 7s ease-in-out infinite;
}
.section-split { display:grid; grid-template-columns:1fr 1fr; gap:var(--s7); align-items:center; }
.section-split.reverse .section-split-img { order:2; }
.section-split.reverse .section-split-content { order:1; }
.section-split-img { display:flex; justify-content:center; align-items:center; }

/* ════════════════════════════════════════════════════
   CTA FINAL SÓLIDO
   ════════════════════════════════════════════════════ */
.cta-final { padding:var(--s9) 0; }
.cta-card {
    position:relative; display:grid; grid-template-columns:1.4fr 1fr;
    gap:var(--s7); align-items:center; padding:var(--s8);
    background:linear-gradient(145deg, #1D1060 0%, #130E45 30%, #0D1228 70%, #070B1C 100%);
    border:1px solid rgba(124,77,255,0.5); border-radius:var(--u-r-2xl);
    overflow:hidden;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.1),
        inset 0 -1px 0 rgba(0,0,0,0.4),
        0 0 0 1px rgba(0,229,255,0.2),
        var(--u-shadow-violet),
        0 40px 90px rgba(0,0,0,0.7);
}
.cta-card::before {
    content:''; position:absolute; top:0; left:0; right:0; height:2px;
    background:var(--u-grad-primary); box-shadow:0 0 18px rgba(0,229,255,0.6);
}
.cta-glow {
    position:absolute; top:-120px; left:-120px;
    width:450px; height:450px;
    background:radial-gradient(circle,rgba(124,77,255,0.4),transparent 65%);
    filter:blur(70px); pointer-events:none;
}
.cta-title {
    font-family:var(--u-font-display);
    font-size:clamp(1.9rem,3.5vw,3rem); line-height:1.08; font-weight:900;
    letter-spacing:-0.02em; color:var(--u-silver);
    margin:var(--s3) 0 var(--s4);
}
.cta-lead { color:var(--u-text-dim); font-size:1.08rem; line-height:1.65; margin-bottom:var(--s6); }
.cta-actions { display:flex; gap:var(--s3); flex-wrap:wrap; }
.cta-visual {
    aspect-ratio:1; border-radius:50%; overflow:hidden;
    background:radial-gradient(circle,rgba(124,77,255,0.25),transparent 70%);
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 0 60px rgba(124,77,255,0.3), 0 0 120px rgba(0,229,255,0.15);
    border:1px solid var(--u-border-strong);
}
.cta-visual img { width:80%;height:80%;object-fit:contain; animation:heroFloat 6s ease-in-out infinite; }

/* ════════════════════════════════════════════════════
   FOOTER PREMIUM SÓLIDO
   ════════════════════════════════════════════════════ */
.ultra-footer {
    padding:var(--s8) 0 var(--s5);
    border-top:1px solid var(--u-border);
    background:linear-gradient(180deg,transparent,rgba(3,6,14,0.95));
    position:relative;
}
.ultra-footer::before {
    content:''; position:absolute; top:0; left:0; right:0; height:2px;
    background:linear-gradient(90deg,transparent,var(--u-cyan),var(--u-violet),var(--u-magenta),transparent);
    opacity:0.55;
}
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1.4fr; gap:var(--s6); margin-bottom:var(--s7); }
.footer-brand .ultra-brand { margin-bottom:var(--s4); }
.footer-tagline { color:var(--u-text-dim); font-size:0.92rem; line-height:1.65; margin-bottom:var(--s4); max-width:310px; }
.footer-social { display:flex; gap:var(--s2); }
.footer-social a {
    width:40px;height:40px; display:flex;align-items:center;justify-content:center;
    background:var(--u-surface-1); border:1px solid var(--u-border);
    border-radius:50%; color:var(--u-text-dim);
    transition:all var(--u-t) var(--u-ease);
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.06);
}
.footer-social a:hover {
    color:var(--u-cyan); border-color:var(--u-border-cyan-2);
    background:rgba(0,229,255,0.1); transform:translateY(-4px);
    box-shadow:0 0 20px rgba(0,229,255,0.3), 0 8px 20px rgba(0,0,0,0.4);
}
.footer-col h4 { font-family:var(--u-font-display); font-size:0.88rem; font-weight:700; color:var(--u-text); margin-bottom:var(--s3); text-transform:uppercase; letter-spacing:0.1em; }
.footer-col a { display:block; padding:5px 0; color:var(--u-text-dim); font-size:0.9rem; transition:color var(--u-t-fast) var(--u-ease); }
.footer-col a:hover { color:var(--u-cyan); }
.footer-bottom {
    display:flex; justify-content:space-between; align-items:center;
    padding-top:var(--s5); border-top:1px solid var(--u-border);
    color:var(--u-text-muted); font-size:0.84rem; flex-wrap:wrap; gap:var(--s3);
    font-family:var(--u-font-mono); letter-spacing:0.04em;
}
.footer-legal { display:flex; gap:var(--s4); }
.footer-legal a:hover { color:var(--u-text); }

/* ════════════════════════════════════════════════════
   MEDIA QUERIES — COMPONENTES V2
   ════════════════════════════════════════════════════ */
@media (max-width:1024px) {
    .capabilities-grid { grid-template-columns:repeat(2,1fr); }
    .cap-card-lg { grid-column:span 2; }
    .pricing-grid { grid-template-columns:1fr; max-width:500px; margin:0 auto; }
    .price-card-featured { transform:none; }
    .price-card-featured:hover { transform:translateY(-8px); }
    .agents-showcase { grid-template-columns:1fr; }
    .agent-portrait { max-width:320px; margin:0 auto; }
    .process-timeline { flex-direction:column; }
    .process-connector { width:2px; height:28px; background:linear-gradient(180deg,var(--u-cyan),var(--u-violet)); }
    .process-connector::after { right:50%;top:auto;bottom:-5px;transform:translateX(50%); }
    .cta-card { grid-template-columns:1fr; text-align:center; padding:var(--s6); }
    .cta-visual { max-width:240px; margin:0 auto; }
    .footer-grid { grid-template-columns:repeat(2,1fr); }
    .section-split { grid-template-columns:1fr; }
}
@media (max-width:768px) {
    .services-grid { grid-template-columns:1fr; }
    .capabilities-grid { grid-template-columns:1fr; }
    .cap-card-lg { grid-column:span 1; grid-template-columns:1fr; }
    .agent-item { grid-template-columns:auto 1fr; }
    .agent-status { grid-column:2; }
    .footer-grid { grid-template-columns:1fr; }
    .footer-bottom { flex-direction:column; text-align:center; }
    .cta-actions { flex-direction:column; }
    .cta-actions .btn { width:100%; }
}
