/* Estilos de templates/Soluciones.blade.php (antes inline en el template). */
    .solhub {
        --c-blue:#60a5fa; --c-blue-soft:#92BFF9; --c-violet:#A87ED8; --c-violet-soft:#C9A6F0;
        --c-dark:#050810; --c-navy:#0b1326; --c-navy-2:#0f172a; --c-slate:#94a3b8;
        font-family:'Outfit',sans-serif; background:var(--c-dark); color:#e2e8f0; overflow-x:hidden;
    }
    .solhub .container { max-width:1180px; position:relative; z-index:2; }

    /* Motivo constelación reutilizable (dots sutiles + aura) sobre cualquier sección */
    .solhub-constellation::before {
        content:''; position:absolute; inset:0;
        background-image:radial-gradient(rgba(96,165,250,.10) 1px, transparent 1px);
        background-size:46px 46px;
        -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 30%, #000 10%, transparent 75%);
        mask-image:radial-gradient(ellipse 80% 70% at 50% 30%, #000 10%, transparent 75%);
        pointer-events:none; z-index:0;
    }

    .solhub-eyebrow {
        display:inline-block; font-size:.78rem; font-weight:800; letter-spacing:2.5px; text-transform:uppercase;
        color:var(--c-blue-soft); padding:8px 18px; border-radius:100px;
        background:rgba(96,165,250,.08); border:1px solid rgba(96,165,250,.2); margin-bottom:22px;
    }
    .solhub h1 span, .solhub-title span {
        background:linear-gradient(120deg,var(--c-violet),var(--c-blue));
        -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
        filter:drop-shadow(0 0 20px rgba(168,126,216,.25));
    }

    /* ============ HERO (dos columnas) ============ */
    .solhub-hero {
        position:relative; padding:165px 0 120px; overflow:hidden; background:var(--c-dark);
    }
    .solhub-hero::before { /* aura radial violeta-azul */
        content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
        background:
            radial-gradient(900px 520px at 18% 8%, rgba(168,126,216,.18), transparent 60%),
            radial-gradient(820px 520px at 88% 30%, rgba(96,165,250,.16), transparent 58%);
    }
    .solhub-hero__grid {
        display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;
    }
    .solhub-hero h1 {
        font-weight:900; font-size:clamp(2.3rem,5vw,4rem); line-height:1.04; color:#fff;
        margin:0 0 22px; letter-spacing:-1.5px; text-shadow:0 0 40px rgba(96,165,250,.15);
    }
    .solhub-hero p.lead {
        font-size:1.22rem; color:#cbd5e1; line-height:1.6; max-width:560px; margin:0 0 36px;
    }
    .solhub-hero__art { position:relative; }
    .solhub-hero__art img {
        width:100%; height:auto; display:block; border-radius:24px;
        border:1px solid rgba(255,255,255,.06);
        box-shadow:0 40px 90px -30px rgba(10,15,31,.9), inset 0 1px 0 rgba(255,255,255,.05);
    }
    .solhub-hero__art::after { /* glow detrás de la ilustración */
        content:''; position:absolute; inset:-8% -6%; z-index:-1; border-radius:40px;
        background:radial-gradient(circle at 55% 45%, rgba(168,126,216,.30), transparent 62%);
        filter:blur(36px);
    }

    .solhub-cta-row { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
    .solhub-btn {
        display:inline-flex; align-items:center; gap:10px; padding:16px 32px; border-radius:14px;
        font-weight:800; text-decoration:none; font-size:1rem;
        background:linear-gradient(135deg,var(--c-violet),var(--c-blue)); color:#fff;
        box-shadow:0 16px 36px -12px rgba(168,126,216,.55);
        transition:transform .25s ease, box-shadow .25s ease;
    }
    .solhub-btn:hover { transform:translateY(-3px); color:#fff; box-shadow:0 22px 46px -12px rgba(168,126,216,.7); }
    .solhub-btn--ghost {
        background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.14); color:#e2e8f0;
        box-shadow:none;
    }
    .solhub-btn--ghost:hover { background:rgba(255,255,255,.07); border-color:rgba(146,191,249,.45); color:#fff; box-shadow:none; }

    /* Stats strip */
    .solhub-stats {
        display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:54px;
        padding-top:36px; border-top:1px solid rgba(255,255,255,.07);
    }
    .solhub-stat { text-align:center; }
    .solhub-stat__v {
        font-size:clamp(1.7rem,3.2vw,2.4rem); font-weight:900; line-height:1;
        background:linear-gradient(120deg,var(--c-blue-soft),var(--c-violet-soft));
        -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
    }
    .solhub-stat__l { color:var(--c-slate); font-size:.92rem; margin-top:8px; line-height:1.35; }

    /* ============ Separadores entre secciones ============ */
    .solhub-wave { display:block; width:100%; height:80px; line-height:0; }
    .solhub-wave svg { width:100%; height:100%; display:block; }

    /* ============ Secciones genéricas ============ */
    .solhub-section { position:relative; padding:104px 0; }
    .solhub-section--navy {
        background:
            radial-gradient(1000px 460px at 50% 0%, rgba(96,165,250,.08), transparent 62%),
            radial-gradient(760px 420px at 50% 100%, rgba(168,126,216,.07), transparent 62%),
            var(--c-navy);
    }
    .solhub-title { font-weight:900; font-size:clamp(1.9rem,4vw,2.8rem); line-height:1.12; color:#fff; margin:14px 0 0; text-align:center; letter-spacing:-.5px; }
    .solhub-sub { color:var(--c-slate); text-align:center; max-width:660px; margin:18px auto 0; font-size:1.06rem; line-height:1.65; }
    .solhub-head { text-align:center; }

    /* ============ Ecosistema ============ */
    .solhub-eco { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:56px; }
    .solhub-eco__card {
        position:relative; background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.07);
        border-radius:22px; padding:38px 32px; overflow:hidden;
        transition:transform .3s ease, border-color .3s ease, background .3s ease;
    }
    .solhub-eco__card:hover { transform:translateY(-6px); border-color:rgba(168,126,216,.4); background:rgba(255,255,255,.04); }
    .solhub-eco__icon {
        width:58px; height:58px; border-radius:16px; display:flex; align-items:center; justify-content:center;
        font-size:1.5rem; margin-bottom:22px;
        background:linear-gradient(135deg,rgba(168,126,216,.22),rgba(96,165,250,.18));
        color:var(--c-blue-soft); border:1px solid rgba(146,191,249,.2);
    }
    .solhub-eco__card h3 { color:#fff; font-weight:800; font-size:1.3rem; margin:0 0 12px; }
    .solhub-eco__card p { color:var(--c-slate); font-size:1rem; line-height:1.62; margin:0; }

    /* ============ Día a día (storytelling) ============ */
    .solhub-day-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(232px,1fr)); gap:20px; margin-top:52px; }
    .solhub-day__card { position:relative; background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.07); border-radius:20px; padding:32px 26px; transition:transform .3s ease, border-color .3s ease, background .3s ease; }
    .solhub-day__card:hover { transform:translateY(-5px); border-color:rgba(168,126,216,.4); background:rgba(255,255,255,.04); }
    .solhub-day__icon { width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:18px;
        background:linear-gradient(135deg,rgba(168,126,216,.22),rgba(96,165,250,.18)); color:var(--c-blue-soft); border:1px solid rgba(146,191,249,.2); }
    .solhub-day__card h3 { color:#fff; font-weight:800; font-size:1.12rem; margin:0 0 10px; }
    .solhub-day__card p { color:var(--c-slate); font-size:.97rem; line-height:1.6; margin:0; }

    /* ============ Grid de soluciones ============ */
    .solhub-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:24px; margin-top:56px; }
    .solhub-card {
        position:relative; display:flex; flex-direction:column; overflow:hidden;
        background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); border-radius:22px; padding:36px 32px;
        text-decoration:none; transition:transform .3s ease, border-color .3s ease, background .3s ease, box-shadow .3s ease;
    }
    .solhub-card::after { /* hairline glow superior al hover */
        content:''; position:absolute; top:0; left:0; right:0; height:1px;
        background:linear-gradient(90deg,transparent,rgba(146,191,249,.6),transparent);
        opacity:0; transition:opacity .3s ease;
    }
    .solhub-card:hover {
        transform:translateY(-8px); border-color:rgba(168,126,216,.45); background:rgba(255,255,255,.05);
        box-shadow:0 30px 60px -28px rgba(168,126,216,.5);
    }
    .solhub-card:hover::after { opacity:1; }
    .solhub-card__icon {
        width:56px; height:56px; border-radius:15px; display:flex; align-items:center; justify-content:center; margin-bottom:22px;
        background:linear-gradient(135deg,rgba(168,126,216,.2),rgba(96,165,250,.2)); color:var(--c-blue-soft);
        font-size:1.45rem; border:1px solid rgba(146,191,249,.18); transition:transform .3s ease;
    }
    .solhub-card:hover .solhub-card__icon { transform:scale(1.06) rotate(-3deg); }
    .solhub-card h3 { font-weight:800; font-size:1.3rem; color:#fff; margin-bottom:10px; }
    .solhub-card p { color:var(--c-slate); font-size:1rem; line-height:1.6; margin:0 0 22px; flex:1; }
    .solhub-card__more { font-weight:800; color:var(--c-blue-soft); font-size:.95rem; display:inline-flex; align-items:center; gap:8px; transition:gap .25s ease; }
    .solhub-card:hover .solhub-card__more { gap:13px; }
    /* 6a tarjeta CTA — destaque */
    .solhub-card--diag {
        background:linear-gradient(160deg, rgba(168,126,216,.16), rgba(96,165,250,.10));
        border:1px solid rgba(168,126,216,.40);
    }
    .solhub-card--diag .solhub-card__icon { background:linear-gradient(135deg,var(--c-violet),var(--c-blue)); color:#fff; border-color:transparent; }

    /* ============ Cómo elegir ============ */
    .solhub-choose { display:grid; gap:14px; margin-top:52px; max-width:920px; margin-left:auto; margin-right:auto; }
    .solhub-choose a {
        display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
        background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.07); border-radius:16px;
        padding:20px 26px; text-decoration:none;
        transition:border-color .25s ease, background .25s ease, transform .25s ease;
    }
    .solhub-choose a:hover { border-color:rgba(168,126,216,.45); background:rgba(255,255,255,.05); transform:translateX(4px); }
    .solhub-choose__q { color:#e2e8f0; font-size:1.04rem; display:flex; align-items:center; gap:14px; }
    .solhub-choose__q i { color:var(--c-violet-soft); }
    .solhub-choose__a { color:var(--c-blue-soft); font-weight:800; font-size:.96rem; white-space:nowrap; display:inline-flex; align-items:center; gap:9px; }

    /* ============ CTA final ============ */
    .solhub-cta { position:relative; padding:120px 0; text-align:center; overflow:hidden;
        background:radial-gradient(760px 380px at 50% 10%, rgba(168,126,216,.18), transparent 62%), var(--c-navy); }
    .solhub-cta__box {
        position:relative; max-width:820px; margin:0 auto; padding:64px 40px; border-radius:36px;
        background:linear-gradient(160deg,#0f172a,#0a1020); border:1px solid rgba(96,165,250,.16);
        box-shadow:0 40px 100px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.04); overflow:hidden;
    }
    .solhub-cta__box::before { content:''; position:absolute; inset:0;
        background-image:radial-gradient(rgba(96,165,250,.10) 1px, transparent 1px); background-size:48px 48px;
        -webkit-mask-image:radial-gradient(ellipse at center, #000 15%, transparent 70%);
        mask-image:radial-gradient(ellipse at center, #000 15%, transparent 70%); pointer-events:none; }
    .solhub-cta h2 { position:relative; font-weight:900; font-size:clamp(1.9rem,4vw,2.7rem); color:#fff; margin:0 0 16px; letter-spacing:-.5px; }
    .solhub-cta p { position:relative; color:var(--c-slate); font-size:1.12rem; max-width:600px; margin:0 auto 34px; line-height:1.6; }

    /* ============ Cierre: vuelta al mapa (único + entretenido) ============ */
    html { scroll-behavior:smooth; }
    .solhub-close { position:relative; padding:118px 0 132px; text-align:center; overflow:hidden;
        background:radial-gradient(1000px 520px at 50% 118%, rgba(168,126,216,.18), transparent 62%), var(--c-dark); }
    .solhub-close__orbit { position:absolute; inset:0; z-index:0; pointer-events:none; }
    .solhub-close__float { position:absolute; font-size:1.7rem; color:rgba(146,191,249,.16); animation:solhubFloat 9s ease-in-out infinite; }
    .solhub-close__float--0 { top:19%; left:11%; }
    .solhub-close__float--1 { top:63%; left:17%; font-size:1.3rem; animation-delay:1.4s; }
    .solhub-close__float--2 { top:25%; right:13%; animation-delay:2.1s; }
    .solhub-close__float--3 { top:69%; right:16%; font-size:1.4rem; animation-delay:.7s; }
    .solhub-close__float--4 { top:13%; left:47%; font-size:1.15rem; color:rgba(168,126,216,.16); animation-delay:3s; }
    @keyframes solhubFloat { 0%,100%{ transform:translateY(0) rotate(0deg); } 50%{ transform:translateY(-18px) rotate(7deg); } }
    .solhub-close__inner { position:relative; z-index:2; max-width:680px; margin:0 auto; }
    .solhub-close__inner h2 { font-weight:900; font-size:clamp(2rem,4.4vw,3rem); color:#fff; margin:14px 0 16px; letter-spacing:-.6px; line-height:1.08; }
    .solhub-close__inner h2 span { background:linear-gradient(120deg,var(--c-violet),var(--c-blue)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
    .solhub-close__inner p { color:var(--c-slate); font-size:1.12rem; line-height:1.65; max-width:600px; margin:0 auto; }
    .solhub-close__cta { display:inline-flex; align-items:center; gap:12px; margin-top:36px; padding:16px 32px; border-radius:100px;
        font-weight:800; text-decoration:none; color:#fff; background:linear-gradient(135deg,var(--c-violet),var(--c-blue));
        box-shadow:0 16px 40px -12px rgba(168,126,216,.55); transition:transform .25s ease, box-shadow .25s ease; }
    .solhub-close__cta:hover { transform:translateY(-3px); color:#fff; box-shadow:0 24px 52px -12px rgba(168,126,216,.72); }
    .solhub-close__cta-arrow { display:inline-flex; width:26px; height:26px; border-radius:50%; align-items:center; justify-content:center;
        background:rgba(255,255,255,.18); font-size:.8rem; animation:solhubBounce 1.7s ease-in-out infinite; }
    @keyframes solhubBounce { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-5px); } }

    /* ============ Responsive ============ */
    @media (max-width:991px) {
        .solhub-hero { padding:130px 0 90px; }
        .solhub-hero__grid { grid-template-columns:1fr; gap:44px; }
        .solhub-hero__art { order:-1; max-width:520px; margin:0 auto; }
        .solhub-hero p.lead { margin-left:auto; margin-right:auto; }
        .solhub-hero .solhub-hero__col { text-align:center; }
        .solhub-cta-row { justify-content:center; }
        .solhub-stats { grid-template-columns:repeat(2,1fr); gap:28px 18px; }
        .solhub-eco { grid-template-columns:1fr; }
    }
    @media (max-width:575px) {
        .solhub-stats { grid-template-columns:repeat(2,1fr); }
        .solhub-section { padding:78px 0; }
    }

    @media (prefers-reduced-motion: reduce) {
        .solhub-btn, .solhub-card, .solhub-eco__card, .solhub-choose a, .solhub-card__icon { transition:none !important; }
    }
    /* ============================================================
       VARIANTE ALTERNATIVA DE HERO — Mapa/selector visual (heroB)
       Nodo central "Tu empresa" + 5 soluciones en arco orbital.
       Refs #30 #32
       ============================================================ */
    .heroB { position:relative; padding:150px 0 100px; overflow:hidden; background:
        radial-gradient(820px 520px at 50% 42%, rgba(168,126,216,.16), transparent 62%),
        radial-gradient(620px 460px at 84% 8%, rgba(96,165,250,.12), transparent 58%), var(--c-dark); }
    .heroB__head { text-align:center; max-width:680px; margin:0 auto 50px; padding:0 20px; }
    .heroB__head h1 { font-weight:900; font-size:clamp(2.1rem,5vw,3.6rem); line-height:1.06; color:#fff; margin:14px 0 16px; letter-spacing:-.6px; }
    .heroB__head h1 span { background:linear-gradient(120deg,var(--c-violet),var(--c-blue)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
    .heroB__head p { color:#cbd5e1; font-size:1.12rem; line-height:1.6; margin:0; }

    /* --- Escenario del mapa (desktop) --- */
    .heroB__stage { position:relative; width:min(760px,94vw); margin:0 auto; aspect-ratio:1/.82; container-type:inline-size; }
    .heroB__svg { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
    .heroB__line { fill:none; stroke:rgba(148,163,184,.30); stroke-width:1.4; stroke-dasharray:5 7;
        animation:heroB-flow 2.6s linear infinite; transition:stroke .3s ease; }
    @keyframes heroB-flow { to { stroke-dashoffset:-48; } }

    /* Nodo central */
    .heroB__center { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:3;
        width:148px; height:148px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
        background:radial-gradient(circle at 35% 30%, rgba(168,126,216,.32), rgba(96,165,250,.14)), var(--c-navy);
        border:1px solid rgba(168,126,216,.5); box-shadow:0 0 0 6px rgba(168,126,216,.07), 0 18px 50px -16px rgba(168,126,216,.55); }
    .heroB__center::after { content:""; position:absolute; inset:-9px; border-radius:50%; border:1px solid rgba(96,165,250,.28);
        animation:heroB-pulse 3.4s ease-in-out infinite; }
    @keyframes heroB-pulse { 0%,100% { transform:scale(1); opacity:.7; } 50% { transform:scale(1.07); opacity:.25; } }
    .heroB__center i { font-size:1.5rem; color:var(--c-blue); }
    .heroB__center span { font-weight:800; font-size:.92rem; color:#fff; text-align:center; line-height:1.2; padding:0 8px; }

    /* Nodos orbitales (posicionados inline con --x/--y por item) */
    .heroB__node { position:absolute; left:50%; top:50%; z-index:4;
        transform:translate(-50%,-50%) translate(var(--x),var(--y)); width:128px; }
    .heroB__dot { display:flex; flex-direction:column; align-items:center; gap:9px; text-decoration:none; cursor:pointer; }
    .heroB__chip { width:60px; height:60px; border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:1.35rem; color:var(--c-blue);
        background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.10);
        box-shadow:0 10px 26px -14px rgba(0,0,0,.7); transition:transform .25s ease, border-color .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease; }
    .heroB__label { font-weight:700; font-size:.86rem; color:#e2e8f0; text-align:center; line-height:1.25; transition:color .25s ease; }
    /* Tooltip "qué resuelve" */
    .heroB__solves { position:absolute; left:50%; top:calc(100% + 10px); transform:translateX(-50%) translateY(6px);
        width:190px; padding:10px 13px; border-radius:12px; font-size:.8rem; line-height:1.4; color:#cbd5e1; text-align:center;
        background:rgba(8,12,22,.96); border:1px solid rgba(168,126,216,.4); box-shadow:0 14px 34px -12px rgba(0,0,0,.8);
        opacity:0; visibility:hidden; pointer-events:none; transition:opacity .22s ease, transform .22s ease; z-index:6; }
    .heroB__solves::before { content:""; position:absolute; left:50%; top:-6px; width:11px; height:11px; transform:translateX(-50%) rotate(45deg);
        background:rgba(8,12,22,.96); border-left:1px solid rgba(168,126,216,.4); border-top:1px solid rgba(168,126,216,.4); }

    /* Hover / focus: ilumina nodo + revela tooltip */
    .heroB__dot:hover .heroB__chip, .heroB__dot:focus-visible .heroB__chip {
        transform:translateY(-4px) scale(1.06); color:#fff; border-color:rgba(168,126,216,.7);
        background:linear-gradient(135deg,rgba(168,126,216,.5),rgba(96,165,250,.4)); box-shadow:0 18px 40px -12px rgba(168,126,216,.6); }
    .heroB__dot:hover .heroB__label, .heroB__dot:focus-visible .heroB__label { color:#fff; }
    .heroB__dot:hover .heroB__solves, .heroB__dot:focus-within .heroB__solves { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
    .heroB__dot:focus-visible { outline:none; }

    .heroB__actions { text-align:center; margin-top:calc(24px - 0.249 * min(760px, 94vw)); }
    .heroB__hint { display:block; margin-top:18px; font-size:.82rem; color:#64748b; }

    /* --- Mobile: lista vertical apilada (sin órbita) --- */
    .heroB__list { display:none; }
    @media (max-width:720px) {
        .heroB__stage { display:none; }
        .heroB__actions { margin-top:18px; } /* sin stage en mobile: anula el margen negativo del desktop */
        .heroB__list { display:flex; flex-direction:column; gap:12px; max-width:460px; margin:0 auto; padding:0 18px; }
        .heroB__row { display:flex; align-items:center; gap:15px; text-decoration:none; padding:15px 16px; border-radius:15px;
            background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); transition:border-color .2s ease, background .2s ease; }
        .heroB__row:active, .heroB__row:hover { border-color:rgba(168,126,216,.45); background:rgba(255,255,255,.05); }
        .heroB__row .heroB__chip { width:48px; height:48px; flex:0 0 48px; border-radius:13px; font-size:1.15rem; }
        .heroB__rowtxt { display:flex; flex-direction:column; gap:3px; }
        .heroB__rowtxt b { color:#fff; font-size:1rem; font-weight:700; }
        .heroB__rowtxt small { color:var(--c-slate); font-size:.85rem; line-height:1.4; }
        .heroB__mobcenter { text-align:center; margin:0 auto 22px; font-weight:800; color:var(--c-blue); font-size:.78rem; letter-spacing:1.5px; text-transform:uppercase; }
    }

    @media (prefers-reduced-motion:reduce) {
        .heroB__line { animation:none; }
        .heroB__center::after { animation:none; }
        .heroB__dot:hover .heroB__chip, .heroB__dot:focus-visible .heroB__chip { transform:none; }
        html { scroll-behavior:auto; }
        .solhub-close__float, .solhub-close__cta-arrow { animation:none; }
    }
