/* ── HERO ──────────────────────────────────────────────────── */
.lb-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--background);
    padding: 7rem 0 5rem; /* espacio para header fijo */
}

/* Burbujas */
.lb-hero__bubbles {
    position: absolute; inset: 0;
    overflow: hidden; pointer-events: none; z-index: 0;
}
.lb-bubble {
    position: absolute; bottom: -50px; border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, rgba(26,58,92,0.15), rgba(42,143,168,0.06));
    animation: lb-bubble-rise var(--dur,14s) var(--delay,0s) infinite ease-in-out;
    opacity: 0;
}
.lb-bubble:nth-child(1)  { width:22px; height:22px; left:5%;  --delay:0s;   --dur:14s; --x:30px;  }
.lb-bubble:nth-child(2)  { width:38px; height:38px; left:12%; --delay:1.2s; --dur:12s; --x:-20px; }
.lb-bubble:nth-child(3)  { width:15px; height:15px; left:20%; --delay:2.5s; --dur:16s; --x:15px;  }
.lb-bubble:nth-child(4)  { width:30px; height:30px; left:28%; --delay:0.8s; --dur:11s; --x:-35px; }
.lb-bubble:nth-child(5)  { width:18px; height:18px; left:35%; --delay:3.1s; --dur:15s; --x:25px;  }
.lb-bubble:nth-child(6)  { width:40px; height:40px; left:43%; --delay:1.7s; --dur:13s; --x:-15px; }
.lb-bubble:nth-child(7)  { width:12px; height:12px; left:50%; --delay:4s;   --dur:17s; --x:40px;  }
.lb-bubble:nth-child(8)  { width:25px; height:25px; left:57%; --delay:0.3s; --dur:10s; --x:-25px; }
.lb-bubble:nth-child(9)  { width:35px; height:35px; left:64%; --delay:2s;   --dur:14s; --x:18px;  }
.lb-bubble:nth-child(10) { width:20px; height:20px; left:72%; --delay:3.5s; --dur:12s; --x:-30px; }
.lb-bubble:nth-child(11) { width:28px; height:28px; left:80%; --delay:1s;   --dur:16s; --x:22px;  }
.lb-bubble:nth-child(12) { width:16px; height:16px; left:88%; --delay:4.5s; --dur:11s; --x:-18px; }
.lb-bubble:nth-child(13) { width:32px; height:32px; left:93%; --delay:2.8s; --dur:15s; --x:10px;  }
.lb-bubble:nth-child(14) { width:24px; height:24px; left:8%;  --delay:5s;   --dur:13s; --x:-40px; }
.lb-bubble:nth-child(15) { width:19px; height:19px; left:16%; --delay:1.5s; --dur:18s; --x:35px;  }
.lb-bubble:nth-child(16) { width:36px; height:36px; left:25%; --delay:3.8s; --dur:12s; --x:-12px; }
.lb-bubble:nth-child(17) { width:14px; height:14px; left:48%; --delay:0.5s; --dur:14s; --x:28px;  }
.lb-bubble:nth-child(18) { width:29px; height:29px; left:61%; --delay:2.2s; --dur:16s; --x:-22px; }
.lb-bubble:nth-child(19) { width:21px; height:21px; left:76%; --delay:4.2s; --dur:11s; --x:16px;  }
.lb-bubble:nth-child(20) { width:33px; height:33px; left:85%; --delay:1.9s; --dur:15s; --x:-38px; }

@keyframes lb-bubble-rise {
    0%   { transform: translateY(0) translateX(0) scale(0.8); opacity: 0; }
    15%  { opacity: 0.5; }
    70%  { opacity: 0.5; }
    90%  { opacity: 0; }
    100% { transform: translateY(-850px) translateX(var(--x,0)) scale(0.9); opacity: 0; }
}

/* Orbs */
.lb-hero__orb {
    position: absolute; border-radius: 50%;
    filter: blur(80px); pointer-events: none; z-index: 0;
}
.lb-hero__orb--right { top: 5rem; right: 0; width: 500px; height: 500px; background: rgba(26,58,92,0.05); }
.lb-hero__orb--left  { bottom: 0; left: 0;  width: 400px; height: 400px; background: rgba(42,143,168,0.05); }

/* ── GRID: IZQUIERDA=contenido, DERECHA=imagen ── */
.lb-hero__inner {
    position: relative; z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem 4rem;
    align-items: center;
    width: 100%;
}

/* Contenido siempre columna 1 (izquierda) */
.lb-hero__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}

/* Visual siempre columna 2 (derecha) */
.lb-hero__visual {
    position: relative;
}

/* Badge */
.lb-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(26,58,92,0.08);
    border: 1px solid rgba(26,58,92,0.18);
    padding: 0.45rem 1rem;
    border-radius: 999px;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--primary);
    margin-bottom: 1.5rem;
}
.lb-hero__badge-dot {
    width: 8px; height: 8px; border-radius: 50%;
    background: var(--primary); flex-shrink: 0;
    animation: lb-pulse 1.5s infinite;
}
@keyframes lb-pulse {
    0%, 100% { transform: scale(1); }
    50%       { transform: scale(1.35); }
}

/* Título */
.lb-hero__title {
    font-family: var(--font-serif);
    font-size: clamp(1.7rem, 3.5vw, 2.6rem);
    font-weight: 700;
    color: var(--foreground);
    line-height: 1.15;
    margin-bottom: 1rem;
    text-transform: none;
}

/* Descripción */
.lb-hero__description {
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--muted-foreground);
    max-width: 34rem;
    margin-bottom: 1.75rem;
}

/* Benefits */
.lb-hero__benefits {
    display: flex; flex-direction: column; gap: 0.65rem;
    margin-bottom: 2rem;
    list-style: none; padding: 0;
}
.lb-hero__benefit {
    display: flex; align-items: center; gap: 0.65rem;
    color: var(--muted-foreground); font-size: 0.875rem;
}
.lb-hero__benefit-icon { color: var(--primary); flex-shrink: 0; }

/* CTAs */
.lb-hero__ctas {
    display: flex; gap: 1rem; flex-wrap: wrap;
}
.lb-hero__btn-main {
    height: 2.75rem; padding: 0 1.4rem;
    font-size: 0.875rem; border-radius: 0.75rem;
    display: inline-flex; align-items: center; gap: 0.5rem;
}
.lb-hero__btn-main:hover { transform: scale(1.02); }

.lb-hero__btn-secondary {
    height: 2.75rem; padding: 0 1.4rem;
    font-size: 0.875rem; border-radius: 0.75rem;
    display: inline-flex; align-items: center;
}

/* Imagen */
.lb-hero__img-wrap {
    position: relative;
    aspect-ratio: 4/3;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,0.14);
}
.lb-hero__img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
}
.lb-hero__img-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(30,26,20,0.28), transparent);
}

/* Stat cards */
.lb-hero__stat-card {
    position: absolute;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 0.75rem;
    padding: 0.85rem 1.1rem;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
    min-width: 120px;
}
.lb-hero__stat-card--top-right {
    top: -1rem; right: -1rem;
    background: var(--primary); border-color: var(--primary);
}
.lb-hero__stat-card--bottom-left {
    bottom: -1.5rem; left: -1rem;
}
.lb-hero__stat-card--mid-right {
    bottom: 3.5rem; right: -1rem;
}

.lb-hero__stat-num {
    font-family: var(--font-serif);
    font-size: 1.3rem; font-weight: 700;
    color: var(--foreground); line-height: 1;
    margin-bottom: 0.1rem;
}
.lb-hero__stat-card--top-right .lb-hero__stat-num  { color: var(--primary-foreground); }
.lb-hero__stat-card--top-right .lb-hero__stat-label { color: rgba(248,246,242,0.8); }

.lb-hero__stat-label {
    font-size: 0.72rem;
    color: var(--muted-foreground);
    white-space: nowrap;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
    .lb-hero__inner {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    /* En móvil: imagen arriba, contenido abajo */
    .lb-hero__content { order: 2; }
    .lb-hero__visual  { order: 1; max-width: 500px; margin: 0 auto; width: 100%; }
    .lb-hero { padding: 6rem 0 4rem; }
}

@media (max-width: 480px) {
    .lb-hero__ctas { flex-direction: column; }
    .lb-hero__btn-main,
    .lb-hero__btn-secondary { width: 100%; justify-content: center; }
    .lb-hero__stat-card--bottom-left { left: 0.5rem; }
    .lb-hero__stat-card--top-right   { right: 0.5rem; }
    .lb-hero__stat-card--mid-right   { right: 0.5rem; }
}
