    :root{
      --bg:#02030a;
      --bg-soft:#0b1020;
      --bg-panel:rgba(10,14,28,.72);
      --bg-panel-strong:rgba(12,17,33,.88);
      --text:#f8fafc;
      --muted:rgba(226,232,240,.78);
      --line:rgba(255,255,255,.12);
      --line-soft:rgba(255,255,255,.08);
      --brand:#f6a868;
      --brand-soft:rgba(246,168,104,.18);
      /* Mismos acentos que botones / plugin (exportación, barras) */
      --accent-text:#ffd2ab;
      --accent-text-hover:#fff1df;
      --accent-border-strong:rgba(246,168,104,.55);
      --accent-grad:linear-gradient(120deg,#f3b48b,#ffd4a8);
      --accent-grad-soft:linear-gradient(135deg,rgba(243,180,139,.22),rgba(238,191,149,.1));
      --sky:#66c8ff;
      --sky-soft:rgba(102,200,255,.18);
      --emerald:#58d5b7;
      --panel-border:rgba(246,168,104,.5);
      /* Fondo tarjeta: oscuro con un punto de aire respecto al negro plano */
      --panel-bg:linear-gradient(180deg, rgba(16,19,32,.98), rgba(9,11,20,.99));
      --card-inset:inset 0 1px 0 rgba(255,255,255,.03);
      --card:#ffffff;
      --card-text:#0f172a;
      --card-sub:#475569;
      --shadow:0 20px 70px rgba(2,8,23,.32);
      --radius:24px;
      --radius-sm:16px;
      --sunMix:0%;
      --dayOp:0;
      --starsOpacity:.94;
      --satOp:.92;
      --seaOp:0;
      --bgShift:0px;
      --seaY:0px;
      /* Hover unificado (mismo que CTA «Evaluar mi operación con Ü») */
      --rum-index-btn-hover-shadow:0 18px 42px rgba(246,168,104,.2),0 18px 38px rgba(2,8,23,.35);
    }

    *{box-sizing:border-box;margin:0;padding:0}
    [hidden]{display:none !important;}
    html{scroll-behavior:smooth}
    html,body{min-height:100%}
    body{
      font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
      background:var(--bg);
      color:var(--text);
      overflow-x:hidden;
    }
    /** Index: el gradiente vive en .world; body transparente para no tapar estrellas/túnel. */
    body.rum-index-page,
    body:has(> .world){
      background:transparent;
    }
    a{color:inherit}
    img{max-width:100%;display:block}

    /* Entrada por caracteres (rum_index_type_reveal.js) — solo .hero-heading; eyebrow + párrafo visibles al cargar */
    html.rum-type-boot .hero-text-stack > .hero-heading{
      opacity:0;
    }
    /** Agrupa letras para que .btn / inline-flex no traten cada .rum-char como ítem flex. */
    .rum-type-run{
      display:inline-block;
      max-width:100%;
      vertical-align:baseline;
    }
    /** Evita cortar palabras entre líneas: el salto es entre palabras, no entre letras. */
    .rum-type-word{
      display:inline-block;
      white-space:nowrap;
    }
    .hero-heading.rum-type-target,
    .hero-deck.rum-type-target,
    .hero-text-stack .eyebrow.rum-type-target{
      word-break:normal;
      overflow-wrap:normal;
      hyphens:manual;
      text-wrap:wrap;
    }
    .btn > .rum-type-run,
    .eyebrow > .rum-type-run,
    .hero-bim-4d-hud__auto > .rum-type-run,
    .u-status-pill > .rum-type-run{
      min-width:0;
    }
    .rum-type-target .rum-char{
      display:inline-block;
      opacity:0;
      transform:translate3d(0,0.06em,0);
    }
    .rum-type-target.rum-type--on .rum-char{
      animation:rumCharReveal 0.52s cubic-bezier(.18,.82,.22,1) forwards;
      animation-delay:calc(var(--rum-ci, 0) * 12ms);
    }
    /** Hero: glifos 0–9 / A–Z (JS los cambia) + entrada suave; sin el keyframe cian del bloque genérico. */
    .rum-type-target--glyph.rum-type--on .rum-char{
      animation:rumGlyphOpac 1.28s cubic-bezier(.22,.78,.2,1) forwards;
      animation-delay:calc(var(--rum-ci, 0) * 19ms);
      color:rgba(186,230,253,.92);
      text-shadow:0 0 10px rgba(34,211,238,.35);
    }
    /** Titular hero: misma estética informática pero más lenta y legible (acompaña al scramble JS). */
    .hero-heading.rum-type-target--glyph.rum-type--on .rum-char{
      animation:rumGlyphOpacDeck 1.72s cubic-bezier(.22,.78,.2,1) forwards;
      animation-delay:calc(var(--rum-ci, 0) * 15ms);
      color:rgba(165,243,252,.95);
      text-shadow:0 0 12px rgba(34,211,238,.42);
    }
    @keyframes rumGlyphOpacDeck{
      0%{
        opacity:0;
        transform:translate3d(0,0.12em,0) scale(0.92);
      }
      100%{
        opacity:1;
        transform:none;
        color:inherit;
        text-shadow:none;
      }
    }
    @keyframes rumGlyphOpac{
      0%{
        opacity:0;
        transform:translate3d(0,0.1em,0) scale(0.94);
      }
      100%{
        opacity:1;
        transform:none;
        color:inherit;
        text-shadow:none;
      }
    }
    @keyframes rumCharReveal{
      0%{
        opacity:0;
        transform:translate3d(0,0.12em,0) scale(0.94);
        color:#5eead4;
        text-shadow:0 0 12px rgba(45,212,191,.85), 0 0 22px rgba(34,211,238,.35);
      }
      28%{
        opacity:1;
        color:#e0f2fe;
        text-shadow:0 0 8px rgba(56,189,248,.55);
      }
      100%{
        opacity:1;
        transform:translate3d(0,0,0) scale(1);
        color:inherit;
        text-shadow:none;
      }
    }
    button,input,select,textarea{font:inherit}

    /* =========================
       BACKGROUND WORLD
       ========================= */
    .world{
      position:fixed;
      inset:0;
      z-index:0;
      pointer-events:none;
      overflow:hidden;
    }
    .bg{
      position:absolute;
      inset:0;
      background:
        linear-gradient(180deg,
          color-mix(in srgb, #02030a calc(100% - var(--sunMix)), #2a0f35 var(--sunMix)) 0%,
          color-mix(in srgb, #08101d calc(100% - var(--sunMix)), #7c361a var(--sunMix)) 56%,
          color-mix(in srgb, #10192c calc(100% - var(--sunMix)), #ffbb72 var(--sunMix)) 100%
        );
      transform:translate3d(0,var(--bgShift),0);
    }
    @supports not (background:color-mix(in srgb, #000 50%, #fff 50%)){
      .bg{background:linear-gradient(180deg,#02030a 0%,#08101d 56%,#7c361a 84%,#ffbb72 100%)}
    }
    .daywash{
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,#c7edff 0%,#8bd6ff 52%,#e8f6ff 100%);
      opacity:var(--dayOp);
      mix-blend-mode:screen;
      transition:opacity .7s ease;
    }
    #tunnelCanvas{
      position:absolute;
      inset:0;
      z-index:1;
      width:100%;
      height:100%;
      display:block;
      /* Túnel = otra animación (no deriva estilo starfield): muy atenuado para que manden las estrellas Z. */
      opacity:calc(var(--starsOpacity) * 0.18);
      transition:opacity .6s ease;
    }
    /* WebGL: nube de puntos orgánica (rum_organic_point_mesh.js) — sin deriva hacia cámara del canvas 2D */
    #rumOrganicMeshCanvas{
      position:absolute;
      inset:0;
      z-index:2;
      width:100%;
      height:100%;
      display:block;
      pointer-events:none;
      opacity:0.22;
      transition:opacity .6s ease;
    }
    @media (prefers-reduced-motion:reduce){
      #rumOrganicMeshCanvas{opacity:0.18}
    }
    #starsCanvas{
      position:absolute;
      inset:0;
      z-index:3;
      width:100%;
      height:100%;
      opacity:var(--starsOpacity);
      transition:opacity .6s ease;
    }
    .layer{
      position:absolute;
      inset:-12vh 0 -12vh 0;
      transform:translate3d(0,var(--shift,0px),0);
      opacity:var(--op,1);
      transition:opacity .7s ease;
    }
    .sea{--op:var(--seaOp)}
    .seaBand{
      position:absolute;
      left:-10vw;
      right:-10vw;
      bottom:-10vh;
      height:42vh;
      background:
        radial-gradient(850px 260px at 50% 28%, rgba(102,200,255,.18), transparent 62%),
        linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(13,22,42,.18) 35%, rgba(13,22,42,.5) 100%);
      border-top-left-radius:60% 38%;
      border-top-right-radius:60% 38%;
      transform:translate3d(0,var(--seaY),0);
    }

    /* =========================
       GLOBAL LAYOUT
       ========================= */
    .page-wrap{position:relative;z-index:1;background:transparent}
    main{
      position:relative;
      z-index:1;
      background:transparent;
      perspective:1680px;
      perspective-origin:50% 38%;
      /** Aire antes del footer.php (bloque claro); evita que la última sección quede pegada. */
      padding-bottom:clamp(40px,5vw,88px);
    }
    .container{width:min(1280px,calc(100% - 72px));margin:0 auto}
    .section{
      padding:88px 0;
      position:relative;
    }
    .section + .section{padding-top:32px}
    .section-anchor{scroll-margin-top:96px}
    .section-header{
      display:grid;
      gap:14px;
      margin-bottom:28px;
      max-width:760px;
    }
    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:10px;
      width:max-content;
      padding:8px 14px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.14);
      background:rgba(255,255,255,.05);
      color:rgba(255,255,255,.72);
      font-size:12px;
      font-weight:700;
      letter-spacing:.08em;
      text-transform:uppercase;
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
    }
    .eyebrow:hover{
      transform:translateY(-2px);
      border-color:#ffbe86;
      background:rgba(255,255,255,.08);
      color:rgba(255,255,255,.88);
      box-shadow:var(--rum-index-btn-hover-shadow);
    }
    .eyebrow::before{
      content:"";
      width:8px;
      height:8px;
      border-radius:50%;
      background:linear-gradient(135deg,var(--brand),#ffd3a2);
      box-shadow:0 0 16px rgba(246,168,104,.45);
    }
    .section-title{
      font-family:'Baloo 2',system-ui,sans-serif;
      font-size:clamp(24px,3.1vw,38px);
      line-height:1.02;
      letter-spacing:.01em;
      color:var(--text);
    }
    .hero-heading,
    .section-title{
      will-change:transform,opacity,filter,text-shadow;
    }
    .title-emerge{
      animation:titleGlowIn 1.08s cubic-bezier(.2,.9,.2,1) both;
    }
    @keyframes titleGlowIn{
      0%{
        opacity:0;
        transform:translate3d(0,18px,0);
        filter:blur(8px) brightness(.96);
        text-shadow:none;
      }
      46%{
        opacity:1;
        transform:translate3d(0,-2px,0);
        filter:blur(0) brightness(1.08);
        text-shadow:0 0 12px rgba(191,219,254,.46), 0 0 26px rgba(59,130,246,.26);
      }
      72%{
        opacity:1;
        transform:translate3d(0,0,0);
        filter:brightness(1.03);
        text-shadow:0 0 8px rgba(147,197,253,.26), 0 0 16px rgba(59,130,246,.14);
      }
      100%{
        opacity:1;
        transform:translate3d(0,0,0);
        filter:none;
        text-shadow:none;
      }
    }
    .section-lede{
      color:var(--muted);
      font-size:clamp(15px,1.55vw,18px);
      line-height:1.75;
    }
    .scrollfx{
      opacity:0;
      transform:translate3d(0,64px,-320px) scale(0.84) rotateX(11deg);
      transform-origin:50% 12%;
      transform-style:preserve-3d;
      filter:blur(8px);
      transition:
        opacity .78s cubic-bezier(.2,.85,.2,1),
        transform .88s cubic-bezier(.18,.9,.22,1),
        filter .65s ease;
    }
    .scrollfx.is-in{
      opacity:1;
      transform:translate3d(0,0,28px) scale(1) rotateX(0deg);
      filter:blur(0);
    }

    .scrollfx .container,
    .scrollfx .system-shell,
    .scrollfx .consultoria-shell{
      transform-style:preserve-3d;
    }
    .scrollfx .services-grid,
    .scrollfx .segment-grid,
    .scrollfx .value-grid{
      transform-style:preserve-3d;
    }

    /* Texto de cabecera: lejos → cerca en Z */
    .scrollfx .container > .section-header,
    .scrollfx .consultoria-shell > .section-header,
    .scrollfx .system-shell > .system-intro{
      opacity:0;
      transform:translate3d(0,36px,-200px) scale(0.9);
      transform-origin:50% 0%;
      transition:
        opacity .62s cubic-bezier(.25,.9,.3,1),
        transform .68s cubic-bezier(.2,.92,.22,1);
    }
    .scrollfx.is-in .container > .section-header,
    .scrollfx.is-in .consultoria-shell > .section-header,
    .scrollfx.is-in .system-shell > .system-intro{
      opacity:1;
      transform:translate3d(0,0,36px) scale(1);
    }

    /* Tarjetas / bloques: lejos en profundidad y se acercan al entrar */
    .scrollfx .services-grid > *,
    .scrollfx .segment-grid > *,
    .scrollfx .value-grid > *,
    .scrollfx .consultoria-grid > *{
      opacity:0;
      transform:translate3d(0,52px,-320px) scale(0.8) rotateX(6deg);
      transform-origin:50% 60%;
      transition:
        opacity .58s cubic-bezier(.25,.9,.3,1),
        transform .68s cubic-bezier(.18,.94,.2,1);
    }
    .scrollfx.is-in .services-grid > *:nth-child(1){transition-delay:.04s}
    .scrollfx.is-in .services-grid > *:nth-child(2){transition-delay:.12s}
    .scrollfx.is-in .services-grid > *:nth-child(3){transition-delay:.2s}
    .scrollfx.is-in .segment-grid > *:nth-child(1){transition-delay:.05s}
    .scrollfx.is-in .segment-grid > *:nth-child(2){transition-delay:.14s}
    .scrollfx.is-in .segment-grid > *:nth-child(3){transition-delay:.23s}
    .scrollfx.is-in .value-grid > *:nth-child(1){transition-delay:.03s}
    .scrollfx.is-in .value-grid > *:nth-child(2){transition-delay:.08s}
    .scrollfx.is-in .value-grid > *:nth-child(3){transition-delay:.13s}
    .scrollfx.is-in .value-grid > *:nth-child(4){transition-delay:.18s}
    .scrollfx.is-in .value-grid > *:nth-child(5){transition-delay:.23s}
    .scrollfx.is-in .value-grid > *:nth-child(6){transition-delay:.28s}
    .scrollfx.is-in .container > .section-header{transition-delay:0s}
    .scrollfx.is-in .consultoria-shell > .section-header{transition-delay:0s}
    .scrollfx.is-in .system-shell > .system-intro{transition-delay:.04s}
    .scrollfx.is-in .services-grid > *:nth-child(1),
    .scrollfx.is-in .segment-grid > *:nth-child(1),
    .scrollfx.is-in .value-grid > *:nth-child(1){transform:translate3d(0,0,48px) scale(1) rotateX(0deg)}
    .scrollfx.is-in .services-grid > *:nth-child(2),
    .scrollfx.is-in .segment-grid > *:nth-child(2),
    .scrollfx.is-in .value-grid > *:nth-child(2){transform:translate3d(0,0,28px) scale(1) rotateX(0deg)}
    .scrollfx.is-in .services-grid > *:nth-child(3),
    .scrollfx.is-in .segment-grid > *:nth-child(3),
    .scrollfx.is-in .value-grid > *:nth-child(3){transform:translate3d(0,0,12px) scale(1) rotateX(0deg)}
    .scrollfx.is-in .value-grid > *:nth-child(4){transform:translate3d(0,0,40px) scale(1) rotateX(0deg)}
    .scrollfx.is-in .value-grid > *:nth-child(5){transform:translate3d(0,0,22px) scale(1) rotateX(0deg)}
    .scrollfx.is-in .value-grid > *:nth-child(6){transform:translate3d(0,0,6px) scale(1) rotateX(0deg)}
    .scrollfx.is-in .consultoria-grid > *{
      transition-delay:.1s;
      transform:translate3d(0,0,44px) scale(1) rotateX(0deg);
    }
    .scrollfx.is-in .services-grid > *,
    .scrollfx.is-in .segment-grid > *,
    .scrollfx.is-in .value-grid > *,
    .scrollfx.is-in .consultoria-grid > *{
      opacity:1;
    }
    .scrollfx.is-in .services-grid > *:nth-child(n+4),
    .scrollfx.is-in .segment-grid > *:nth-child(n+4),
    .scrollfx.is-in .value-grid > *:nth-child(n+7){
      transform:translate3d(0,0,0) scale(1) rotateX(0deg);
    }
    .scrollfx:not(.is-in) .services-grid > *,
    .scrollfx:not(.is-in) .segment-grid > *,
    .scrollfx:not(.is-in) .value-grid > *,
    .scrollfx:not(.is-in) .consultoria-grid > *{
      transform:translate3d(0,-36px,-280px) scale(0.82) rotateX(5deg);
      transition-delay:0s;
      transition-duration:.4s;
    }
    .scrollfx:not(.is-in) .container > .section-header,
    .scrollfx:not(.is-in) .consultoria-shell > .section-header,
    .scrollfx:not(.is-in) .system-shell > .system-intro{
      transform:translate3d(0,-24px,-220px) scale(0.88);
      transition-delay:0s;
      transition-duration:.38s;
    }

    @media (max-width:768px){
      .scrollfx:not(.is-in){filter:blur(3px)}
    }
    @media (prefers-reduced-motion:reduce){
      .scrollfx,
      .scrollfx.is-in,
      .scrollfx .services-grid > *,
      .scrollfx .segment-grid > *,
      .scrollfx .value-grid > *,
      .scrollfx .consultoria-grid > *,
      .scrollfx .container > .section-header,
      .scrollfx .consultoria-shell > .section-header,
      .scrollfx .system-shell > .system-intro{
        opacity:1 !important;
        transform:none !important;
        filter:none !important;
        transition:none !important;
        transition-delay:0s !important;
      }
    }

    /* =========================
       BUTTONS
       ========================= */
    .btn,
    .orbit-btn,
    .tool-button-catalog{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      min-height:48px;
      padding:12px 18px;
      border-radius:16px;
      border:1px solid var(--accent-border-strong);
      background:rgba(16,22,42,.92);
      color:var(--accent-text);
      text-decoration:none;
      font-weight:700;
      font-size:14px;
      line-height:1.1;
      font-family:'Baloo 2',system-ui,sans-serif;
      box-shadow:0 16px 34px rgba(2,8,23,.28);
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
      position:relative;
      overflow:hidden;
    }
    .btn:hover,
    .btn:focus-visible,
    .orbit-btn:hover,
    .orbit-btn:focus-visible,
    .tool-button-catalog:hover,
    .tool-button-catalog:focus-visible{
      transform:translateY(-2px);
      background:rgba(25,31,54,.96);
      border-color:#ffbe86;
      color:var(--accent-text-hover);
      box-shadow:var(--rum-index-btn-hover-shadow);
    }
    .btn.btn-secondary,
    .orbit-btn.secondary{
      background:rgba(16,22,42,.92);
      color:var(--accent-text);
      border-color:var(--accent-border-strong);
      box-shadow:0 16px 34px rgba(2,8,23,.28);
    }
    .btn.btn-secondary:hover,
    .btn.btn-secondary:focus-visible{
      transform:translateY(-2px);
      background:rgba(25,31,54,.96);
      border-color:#ffbe86;
      color:var(--accent-text-hover);
      box-shadow:var(--rum-index-btn-hover-shadow);
    }
    .btn.is-loading{
      pointer-events:none;
      opacity:.9;
    }
    .btn.is-loading::before{
      content:"";
      width:14px;
      height:14px;
      border-radius:50%;
      border:2px solid rgba(255,255,255,.2);
      border-top-color:#fff;
      animation:uSpin .8s linear infinite;
    }
    @keyframes uSpin{to{transform:rotate(360deg)}}
    .text-link{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:rgba(241,245,249,.78);
      text-decoration:none;
      font-weight:600;
      font-size:14px;
      line-height:1.4;
      transition:color .18s ease, transform .18s ease;
    }
    .text-link::after{
      content:"→";
      font-size:14px;
      opacity:.75;
      transition:transform .18s ease, opacity .18s ease;
    }
    .text-link:hover,
    .text-link:focus-visible{
      color:var(--accent-text-hover);
      text-shadow:0 0 18px rgba(246,168,104,.28);
    }
    .text-link:hover::after,
    .text-link:focus-visible::after{
      transform:translateX(2px);
      opacity:1;
    }
    .utility-links{
      display:flex;
      flex-wrap:wrap;
      gap:8px 18px;
      align-items:center;
      justify-content:flex-start;
      margin-top:2px;
    }

    /* =========================
       HERO
       ========================= */
    .hero{
      min-height:100vh;
      display:flex;
      align-items:center;
      padding:138px 0 84px;
      position:relative;
    }
    .hero-inner{
      display:grid;
      grid-template-columns:minmax(0,1.12fr) minmax(380px,.84fr);
      gap:44px;
      align-items:center;
      position:relative;
      z-index:1;
    }
    #main-text{
      max-width:800px;
      width:100%;
      justify-self:start;
      margin:0 auto;
      position:relative;
    }
    @media (min-width:1101px){
      #main-text{ margin:0; }
    }
    .rum-lockup{display:grid;gap:20px;max-width:700px;transform-style:preserve-3d}
    .rum-word{
      font-family:'Baloo 2',system-ui,sans-serif;
      font-size:clamp(82px,10vw,144px);
      font-weight:800;
      line-height:.92;
      letter-spacing:.01em;
      display:inline-flex;
      align-items:flex-end;
      gap:10px;
      color:#fff;
      transform-style:preserve-3d;
    }
    .rum-word > *{
      opacity:1;
      transform:translate3d(0,0,0) scale(1);
      filter:none;
      will-change:auto;
    }
    /* Clases legacy del vuelo desde el centro (JS ya no las aplica; se mantienen por si reaparece el gesto). */
    .rum-word.rum-word--center-flight{
      position:relative;
      z-index:3;
      overflow:visible;
    }
    .rum-word.rum-word--center-flight > .rum-text,
    .rum-word.rum-word--center-flight > .hero-portal{
      will-change:transform, opacity;
    }
    .rum-word.rum-word--entered > .rum-text,
    .rum-word.rum-word--entered > .hero-portal{
      opacity:1;
      transform:translate3d(0,0,0) scale(1);
      filter:none;
      will-change:auto;
    }
    .rum-text{position:relative}
    .hero-portal{
      position:relative;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:clamp(84px,10vw,122px);
      height:clamp(84px,10vw,122px);
      top:-4px;
    }
    .hero-portal--plain{width:auto;height:auto;top:0}
    .hero-portal--plain .u{font-size:clamp(90px,10vw,132px)}
    .hero-portal .u{
      font-family:'Baloo 2',system-ui,sans-serif;
      font-weight:800;
      color:#fff;
      position:relative;
      z-index:2;
      line-height:1;
    }
    .nav-portal-rings{position:absolute;inset:0;pointer-events:none}
    .nav-portal-ring{
      position:absolute;
      border-radius:50%;
      border:2px dashed rgba(203,213,225,.78);
      animation:spin 2.8s linear infinite;
      box-shadow:0 0 12px rgba(102,200,255,.14);
    }
    .nav-portal-ring--outer{inset:0}
    .nav-portal-ring--middle{inset:8px;animation-direction:reverse;animation-duration:2.2s}
    .nav-portal-ring--inner{inset:16px;animation-duration:1.65s}
    .nav-portal-core{
      position:absolute;
      inset:18%;
      border-radius:50%;
      background:radial-gradient(circle, rgba(255,255,255,.88), rgba(148,163,184,.36), transparent 82%);
      opacity:.8;
      transform:scale(.78);
    }
    @keyframes spin{to{transform:rotate(360deg)}}
    .rum-enter .rum-text,
    .rum-enter .hero-portal{
      animation:rumGlyphIn 1.12s cubic-bezier(.14,.78,.18,1) forwards;
    }
    .rum-enter .hero-portal .u{
      animation:rumCorePulse .62s ease-out .26s forwards;
    }
    .rum-enter .rum-text:nth-child(1){animation-delay:0s}
    .rum-enter .hero-portal{animation-delay:.1s}
    .rum-enter .rum-text:nth-child(3){animation-delay:.2s}
    /** Entrada RÜM: acercamiento en profundidad (misma lectura visual que el campo de estrellas del canvas). */
    @keyframes rumGlyphIn{
      0%{
        opacity:0;
        transform:translate3d(0, 38px, -640px) scale(0.4);
        filter:blur(20px);
        text-shadow:0 0 0 rgba(126,245,255,0);
      }
      20%{
        opacity:0.28;
        transform:translate3d(0, 28px, -440px) scale(0.54);
        filter:blur(14px);
      }
      44%{
        opacity:0.92;
        transform:translate3d(0, 10px, -140px) scale(0.86);
        filter:blur(2px);
      }
      68%{
        opacity:1;
        transform:translate3d(0, -7px, 42px) scale(1.07);
        filter:blur(0);
        text-shadow:0 0 34px rgba(126,245,255,.36);
      }
      100%{
        opacity:1;
        transform:translate3d(0, 0, 0) scale(1);
        filter:blur(0);
        text-shadow:0 0 0 rgba(126,245,255,0);
      }
    }
    @keyframes rumCorePulse{
      0%{
        transform:translate3d(0, 0, -120px) scale(0.62);
        filter:drop-shadow(0 0 0 rgba(126,245,255,0));
      }
      58%{
        transform:translate3d(0, 0, 22px) scale(1.1);
        filter:drop-shadow(0 0 18px rgba(126,245,255,.4));
      }
      100%{
        transform:translate3d(0, 0, 0) scale(1);
        filter:drop-shadow(0 0 0 rgba(126,245,255,0));
      }
    }
    @media (prefers-reduced-motion:reduce){
      html.rum-type-boot .hero-text-stack > .hero-heading{
        opacity:1 !important;
      }
      .rum-type-target .rum-char,
      .rum-type-target.rum-type--on .rum-char{
        animation:none !important;
        opacity:1;
        transform:none;
        color:inherit !important;
        text-shadow:none !important;
      }
      .rum-type-target[data-rum-glyph-done='1'] .rum-char{
        animation:none !important;
      }
      .rum-word > *,
      .rum-enter .rum-text,
      .rum-enter .hero-portal,
      .rum-enter .hero-portal .u,
      .rum-word.rum-word--entered > .rum-text,
      .rum-word.rum-word--entered > .hero-portal,
      .rum-word.rum-word--entered .hero-portal .u{
        animation:none !important;
        opacity:1;
        transform:none;
        filter:none;
      }
      .hero-heading{
        animation:none !important;
        opacity:1;
        transform:none;
        filter:none;
        text-shadow:none;
      }
    }
    .hero-text-stack{display:grid;gap:18px}
    .hero-heading{
      font-family:'Baloo 2',system-ui,sans-serif;
      font-size:clamp(22px,2.8vw,40px);
      line-height:1.08;
      letter-spacing:-.01em;
      max-width:min(38ch,100%);
      text-wrap:wrap;
    }
    .hero-deck{
      margin:0;
      font-size:clamp(15px,1.35vw,18px);
      line-height:1.65;
      color:rgba(226,232,240,.88);
      max-width:min(48ch,100%);
      text-wrap:wrap;
    }
    .hero-actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      align-items:center;
    }
    .hero-actions a[href*="rum_tests.php"]{display:none !important}
    .hero-join,
    .glass-panel,
    .system-card,
    .segment-card,
    .signal-card,
    .living-grid article,
    .value-card,
    .micro-card,
    .service-card,
    .u-side-card{
      position:relative;
      overflow:hidden;
      border:1.5px solid var(--panel-border);
      background:var(--panel-bg);
      border-radius:var(--radius);
      box-shadow:0 18px 40px rgba(2,8,23,.28), var(--card-inset);
    }
    .hero-join{
      min-height:100%;
      padding:22px 22px 20px;
      display:grid;
      gap:12px;
      border-radius:var(--radius);
      background:
        radial-gradient(120% 70% at 50% -20%, rgba(42,109,176,.2) 0%, transparent 48%),
        linear-gradient(165deg, #050b14 0%, #0d1829 52%, #0a1424 100%);
      border:1px solid rgba(198,139,89,.32);
      box-shadow:0 24px 60px rgba(0,1,21,.42), inset 0 1px 0 rgba(255,255,255,.04);
      align-content:start;
      overflow:visible;
    }
    .hero-join-top{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:16px;
    }
    .hero-join-title{
      display:grid;
      gap:8px;
      max-width:340px;
    }
    .hero-join-title small{
      color:rgba(255,255,255,.56);
      text-transform:uppercase;
      letter-spacing:.12em;
      font-size:11px;
      font-weight:700;
    }
    .hero-join-title h2{
      font-family:'Baloo 2',system-ui,sans-serif;
      font-size:clamp(18px,1.55vw,24px);
      line-height:1.05;
      color:#fff;
    }
    .hero-loader{
      position:relative;
      width:62px;
      height:62px;
      flex:none;
      margin-top:2px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:50%;
      filter:drop-shadow(0 0 24px rgba(59,130,246,.24));
    }
    a.hero-loader.hero-loader--login{
      text-decoration:none;
      color:inherit;
      cursor:pointer;
      -webkit-tap-highlight-color:transparent;
    }
    a.hero-loader.hero-loader--login:focus-visible{
      outline:2px solid rgba(125,211,252,.92);
      outline-offset:4px;
    }
    a.hero-loader.hero-loader--login:hover{
      filter:drop-shadow(0 0 26px rgba(246,168,104,.42)) drop-shadow(0 0 22px rgba(59,130,246,.34));
    }
    a.hero-loader.hero-loader--login:active{
      transform:scale(.96);
    }
    .hero-loader .nav-portal-rings{inset:2px;}
    .hero-loader .nav-portal-ring{
      border-style:solid;
      border-width:1.5px;
      opacity:.95;
      box-shadow:none;
    }
    .hero-loader .nav-portal-ring--outer{
      inset:0;
      border-color:rgba(59,130,246,.42);
      animation:loaderOrbit 2.6s linear infinite;
    }
    .hero-loader .nav-portal-ring--middle{
      inset:9px;
      border-color:rgba(246,168,104,.78);
      animation:loaderOrbitReverse 1.8s linear infinite;
    }
    .hero-loader .nav-portal-ring--inner{display:none;}
    .hero-loader .nav-portal-core{
      inset:24%;
      background:radial-gradient(circle, rgba(248,250,252,1) 0%, rgba(147,197,253,.98) 38%, rgba(59,130,246,.82) 72%, rgba(59,130,246,.16) 100%);
      box-shadow:0 0 10px rgba(125,211,252,.82), 0 0 24px rgba(59,130,246,.4);
      animation:heroLoaderPulse 1.7s ease-in-out infinite;
    }
    .hero-loader::before{
      content:'';
      position:absolute;
      inset:-4px;
      border-radius:50%;
      background:radial-gradient(circle, rgba(59,130,246,.18), transparent 70%);
      animation:heroLoaderHalo 2.1s ease-in-out infinite;
    }
    @keyframes heroLoaderPulse{
      0%,100%{transform:scale(.88); box-shadow:0 0 10px rgba(125,211,252,.74), 0 0 20px rgba(59,130,246,.34);}
      50%{transform:scale(1.04); box-shadow:0 0 16px rgba(191,219,254,.96), 0 0 30px rgba(59,130,246,.46);}
    }
    @keyframes heroLoaderHalo{
      0%,100%{opacity:.34; transform:scale(.9);}
      50%{opacity:.7; transform:scale(1.06);}
    }
    @keyframes loaderOrbit{to{transform:rotate(360deg)}}
    @keyframes loaderOrbitReverse{to{transform:rotate(-360deg)}}
    /* —— Maqueta “centro de mando” (misma familia visual que project_panel command center) —— */
    .hero-cc-mock{
      display:grid;
      grid-template-columns:minmax(0, 1fr) minmax(0, 120px);
      gap:10px;
      align-items:stretch;
      min-height:0;
      width:100%;
    }
    .hero-cc-mock__rail{
      display:flex;
      flex-direction:column;
      gap:8px;
      padding:8px 6px;
      border-radius:12px;
      border:1px solid rgba(198,139,89,.28);
      background:linear-gradient(180deg, rgba(12,18,30,.96) 0%, rgba(8,13,22,.98) 100%);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
      min-height:0;
      max-height:min(520px, 58vh);
      overflow:auto;
      overscroll-behavior:contain;
    }
    .hero-cc-mock__rail-brand{
      display:grid;
      gap:2px;
      padding-bottom:6px;
      margin-bottom:4px;
      border-bottom:1px solid rgba(148,163,184,.18);
    }
    .hero-cc-mock__rail-kicker{
      font-family:'Baloo 2',system-ui,sans-serif;
      font-size:13px;
      font-weight:800;
      letter-spacing:.14em;
      text-transform:uppercase;
      color:rgba(232,182,141,.95);
      line-height:1;
    }
    .hero-cc-mock__rail-title{
      font-size:8px;
      font-weight:700;
      letter-spacing:.06em;
      text-transform:uppercase;
      color:rgba(226,232,240,.72);
      line-height:1.2;
    }
    .hero-cc-mock__rail-project{
      font-size:9px;
      font-weight:600;
      color:rgba(248,250,252,.9);
      line-height:1.25;
      word-break:break-word;
    }
    .hero-cc-mock__rail-btns{
      display:flex;
      flex-direction:column;
      gap:5px;
    }
    .hero-cc-mock__dock-btn{
      display:block;
      width:100%;
      padding:6px 5px;
      border-radius:8px;
      border:1px solid rgba(198,139,89,.22);
      background:rgba(12,18,30,.88);
      color:rgba(248,250,252,.88);
      font-size:8px;
      font-weight:700;
      letter-spacing:.04em;
      text-transform:uppercase;
      text-align:center;
      line-height:1.15;
      box-shadow:none;
    }
    .hero-cc-mock__dock-btn--active{
      border-color:rgba(160,98,56,.55);
      color:#1a120d;
      background:linear-gradient(165deg, #f2e4d4 0%, #e4c29a 52%, #c99b6f 100%);
      box-shadow:0 0 14px rgba(246,168,104,.22);
    }
    .hero-cc-mock--lite{
      grid-template-columns:minmax(0, 1fr) minmax(0, 92px);
      gap:12px;
    }
    .hero-cc-mock--lite .hero-cc-mock__rail{
      max-height:none;
      overflow:visible;
      padding:10px 7px 12px;
      gap:10px;
    }
    .hero-cc-mock--lite .hero-cc-mock__rail-brand{
      border-bottom:none;
      padding-bottom:0;
      margin-bottom:0;
      gap:3px;
    }
    .hero-cc-mock--lite .hero-cc-mock__rail-kicker{
      font-size:11px;
      letter-spacing:.12em;
    }
    .hero-cc-mock__rail-hint{
      margin:0;
      font-size:7px;
      line-height:1.4;
      font-weight:500;
      color:rgba(148,163,184,.72);
    }
    .hero-cc-mock--lite .hero-cc-mock__dock-btn{
      padding:7px 4px;
      font-size:7px;
    }
    .hero-cc-mock--lite .hero-cc-mock__center{
      gap:10px;
    }
    .hero-cc-mock--lite .hero-bim-concepts{
      gap:8px;
    }
    .hero-cc-mock--lite .hero-bim-concept{
      padding:7px 9px;
    }
    .hero-cc-mock--lite .hero-bim-concept__title{
      font-size:10px;
    }
    .hero-cc-mock--lite .hero-bim-concept__sub{
      font-size:10px;
      padding:8px 9px;
    }
    .hero-cc-mock--lite .hero-cc-mock__side{
      padding:10px 9px 12px;
      max-height:none;
      gap:10px;
    }
    .hero-cc-mock__side-line,
    .hero-cc-mock__side-next{
      margin:0;
      line-height:1.45;
    }
    .hero-cc-mock__side-line{
      font-size:10px;
      font-weight:600;
      color:rgba(241,245,249,.9);
    }
    .hero-cc-mock__side-feed{
      margin:0 0 4px;
      font-size:9px;
      font-weight:600;
      font-style:italic;
      line-height:1.4;
      color:rgba(147,197,253,.88);
      text-shadow:0 0 14px rgba(59,130,246,.22);
    }
    .hero-cc-mock__side-ops{
      display:grid;
      gap:8px;
      margin-top:4px;
      padding-top:10px;
      border-top:1px solid rgba(148,163,184,.14);
    }
    .hero-cc-mock__side-block{
      display:grid;
      gap:4px;
    }
    .hero-cc-mock__status-row{
      display:flex;
      align-items:flex-start;
      gap:7px;
      min-width:0;
    }
    .hero-cc-mock__status-dot{
      flex-shrink:0;
      width:7px;
      height:7px;
      margin-top:3px;
      border-radius:50%;
      background:rgba(148,163,184,.42);
      box-shadow:inset 0 0 0 1px rgba(15,23,42,.55);
      transition:background .25s ease,box-shadow .25s ease;
    }
    .hero-cc-mock__status-dot[data-status="alert"]{
      background:radial-gradient(circle at 32% 28%,#fecaca,#ef4444 52%,#b91c1c 100%);
      box-shadow:
        inset 0 0 0 1px rgba(127,29,29,.45),
        0 0 10px rgba(248,113,113,.72),
        0 0 22px rgba(220,38,38,.38),
        0 0 36px rgba(246,168,104,.18);
      animation:heroCcMockDotPulse 1.45s ease-in-out infinite;
    }
    .hero-cc-mock__status-dot[data-status="ok"]{
      background:radial-gradient(circle at 32% 28%,#bbf7d0,#22c55e 55%,#15803d 100%);
      box-shadow:
        inset 0 0 0 1px rgba(21,128,61,.4),
        0 0 10px rgba(34,197,94,.42),
        0 0 20px rgba(52,211,153,.2);
      animation:none;
    }
    @keyframes heroCcMockDotPulse{
      0%,100%{transform:scale(1);opacity:1;}
      50%{transform:scale(1.14);opacity:.92;}
    }
    .hero-cc-mock__side-line--status{
      flex:1;
      min-width:0;
      font-size:9px;
      font-weight:600;
      line-height:1.45;
    }
    @media (prefers-reduced-motion:reduce){
      .hero-cc-mock__status-dot[data-status="alert"]{animation:none;opacity:.95}
    }
    .hero-cc-mock__side-next{
      font-size:9px;
      font-weight:500;
      color:rgba(148,163,184,.82);
    }
    .hero-cc-mock__av--lite{
      margin-top:2px;
    }
    .hero-cc-mock__center{
      position:relative;
      min-width:0;
      display:grid;
      gap:8px;
      align-content:start;
    }
    .hero-cc-mock__side{
      position:relative;
      display:grid;
      gap:8px;
      align-content:start;
      padding:8px 7px 40px;
      border-radius:12px;
      border:1px solid rgba(198,139,89,.22);
      background:linear-gradient(180deg, rgba(11,17,27,.94) 0%, rgba(6,10,18,.98) 100%);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
      font-family:'Inter',system-ui,sans-serif;
      color:rgba(232,236,244,.92);
      min-height:0;
      max-height:min(520px, 58vh);
      overflow:auto;
      overscroll-behavior:contain;
    }
    .hero-cc-mock__side-h{
      font-size:9px;
      font-weight:800;
      letter-spacing:.1em;
      text-transform:uppercase;
      color:rgba(232,182,141,.92);
    }
    .hero-cc-mock__side-risk{
      display:grid;
      gap:6px;
      margin-top:2px;
      padding-top:10px;
      border-top:1px solid rgba(148,163,184,.14);
    }
    .hero-cc-mock__side-sub-h{
      font-size:8px;
      font-weight:800;
      letter-spacing:.09em;
      text-transform:uppercase;
      color:rgba(232,182,141,.88);
      line-height:1.2;
    }
    .hero-cc-mock__kpi-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:5px;
    }
    .hero-cc-mock__kpi{
      display:flex;
      flex-direction:column;
      gap:2px;
      padding:5px 6px;
      border-radius:8px;
      border:1px solid rgba(148,163,184,.2);
      background:rgba(8,12,20,.9);
    }
    .hero-cc-mock__kpi--alert{
      border-color:rgba(248,113,113,.35);
      box-shadow:0 0 12px rgba(220,38,38,.18);
    }
    .hero-cc-mock__kpi-l{
      font-size:7px;
      font-weight:700;
      letter-spacing:.05em;
      text-transform:uppercase;
      color:rgba(148,163,184,.88);
    }
    .hero-cc-mock__kpi-v{
      font-size:13px;
      font-weight:800;
      font-variant-numeric:tabular-nums;
      color:#f8fafc;
    }
    .hero-cc-mock__kpi--alert .hero-cc-mock__kpi-v{color:#fecaca;}
    .hero-cc-mock__av{
      display:flex;
      align-items:center;
      gap:6px;
      font-size:8px;
      font-weight:700;
      color:rgba(226,232,240,.78);
    }
    .hero-cc-mock__av-bar{
      flex:1;
      height:5px;
      border-radius:999px;
      background:rgba(255,255,255,.08);
      overflow:hidden;
    }
    .hero-cc-mock__av-bar i,
    .hero-cc-mock__av-bar .hero-cc-mock__av-fill{
      display:block;
      height:100%;
      border-radius:999px;
      background:linear-gradient(90deg, rgba(249,115,22,.85), rgba(251,191,36,.95));
      font-style:normal;
      transition:width .38s cubic-bezier(.22,.82,.2,1);
    }
    .hero-cc-mock__cal-h,
    .hero-cc-mock__plan-h{
      font-size:8px;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:rgba(232,182,141,.85);
    }
    .hero-cc-mock__cal-m{
      font-size:10px;
      font-weight:700;
      color:#f1f5f9;
    }
    .hero-cc-mock__cal-w{
      display:flex;
      justify-content:space-between;
      gap:2px;
      margin-top:4px;
      font-size:8px;
      font-weight:700;
      color:rgba(148,163,184,.75);
    }
    .hero-cc-mock__cal-w span:nth-child(4){
      width:16px;
      height:16px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius:50%;
      background:rgba(0,191,255,.22);
      color:#e0f2fe;
      box-shadow:0 0 10px rgba(0,191,255,.25);
    }
    .hero-cc-mock__cal-risk{
      margin-top:5px;
      font-size:8px;
      font-weight:700;
      color:rgba(251,191,36,.9);
    }
    .hero-cc-mock__plan p{
      margin:4px 0 0;
      font-size:9px;
      line-height:1.35;
      color:rgba(226,232,240,.88);
    }
    .hero-cc-mock__plan-d{
      display:block;
      margin-top:4px;
      font-size:8px;
      font-weight:700;
      font-variant-numeric:tabular-nums;
      color:rgba(148,163,184,.85);
    }
    .hero-cc-mock__fab{
      position:absolute;
      right:8px;
      bottom:8px;
      width:34px;
      height:34px;
      border-radius:50%;
      display:flex;
      align-items:center;
      justify-content:center;
      font-family:'Baloo 2',system-ui,sans-serif;
      font-size:15px;
      font-weight:800;
      color:#082f49;
      background:radial-gradient(circle at 30% 28%, #e0f2fe 0%, #38bdf8 42%, #0284c7 100%);
      box-shadow:0 0 18px rgba(56,189,248,.45), 0 8px 20px rgba(0,0,0,.35);
      border:1px solid rgba(125,211,252,.5);
    }
    @media (max-width:1024px){
      .hero-cc-mock{
        grid-template-columns:1fr;
        grid-template-rows:auto auto;
      }
      .hero-cc-mock__rail{
        flex-direction:row;
        flex-wrap:wrap;
        align-items:center;
        max-height:none;
        overflow:visible;
        gap:10px;
      }
      .hero-cc-mock__rail-brand{
        flex:0 0 auto;
        margin-bottom:0;
        padding-bottom:0;
        border-bottom:none;
      }
      .hero-cc-mock__rail-btns{
        flex:1 1 auto;
        flex-direction:row;
        flex-wrap:wrap;
        justify-content:flex-start;
      }
      .hero-cc-mock__rail-hint{
        flex:1 1 100%;
        margin:0;
        max-width:36rem;
      }
      .hero-cc-mock__dock-btn{
        width:auto;
        flex:0 1 auto;
        min-width:64px;
      }
      .hero-cc-mock__side{
        max-height:none;
        display:grid;
        grid-template-columns:1fr;
      }
    }
    @media (max-width:640px){
      .hero-cc-mock__dock-btn{
        min-width:56px;
      }
    }
    /* Tema oscuro solo dentro del mock BIM (tarjetas + HUD como tablero real) */
    #heroBimHub .hero-cc-mock .hero-bim-preview__element-card{
      border:1px solid rgba(198,139,89,.22);
      background:linear-gradient(180deg, rgba(14,20,32,.96) 0%, rgba(9,13,22,.99) 100%);
      box-shadow:0 12px 28px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.04);
      color:rgba(248,250,252,.94);
    }
    #heroBimHub .hero-cc-mock .hero-bim-preview__element-card--idle{
      border-color:rgba(148,163,184,.18);
    }
    #heroBimHub .hero-cc-mock .hero-bim-preview__element-card__accent{
      background:linear-gradient(180deg, rgba(0,191,255,.45), rgba(42,109,176,.35));
    }
    #heroBimHub .hero-cc-mock .hero-bim-preview__element-card__eyebrow{
      color:rgba(232,182,141,.88);
    }
    #heroBimHub .hero-cc-mock .hero-bim-preview__element-card__title{
      color:#f8fafc;
    }
    #heroBimHub .hero-cc-mock .hero-bim-preview__element-card__stats{
      color:rgba(203,213,225,.88);
    }
    #heroBimHub .hero-cc-mock--lite .hero-bim-preview__element-card__title{
      font-size:11px;
      line-height:1.35;
    }
    #heroBimHub .hero-cc-mock--lite .hero-bim-preview__element-card__stats{
      font-size:8px;
      line-height:1.4;
    }
    #heroBimHub .hero-cc-mock .hero-bim-preview__viz{
      border-radius:14px;
      border:1px solid rgba(198,139,89,.2);
      box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);
      background:radial-gradient(ellipse at 50% 0%, rgba(42,109,176,.15) 0%, transparent 55%), #030711;
    }
    #heroBimHub .hero-cc-mock .hero-bim-4d-hud{
      border:1px solid rgba(198,139,89,.22);
      background:linear-gradient(180deg, rgba(12,18,30,.96) 0%, rgba(8,12,20,.99) 100%);
      box-shadow:0 12px 28px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.04);
      color:rgba(248,250,252,.92);
    }
    #heroBimHub .hero-cc-mock .hero-bim-4d-hud__title{
      color:rgba(232,182,141,.92);
    }
    #heroBimHub .hero-cc-mock .hero-bim-4d-hud__auto{
      color:rgba(203,213,225,.85);
    }
    #heroBimHub .hero-cc-mock .hero-bim-4d-hud__collapse{
      border-color:rgba(148,163,184,.25);
      background:rgba(15,23,42,.65);
      color:rgba(248,250,252,.9);
    }
    #heroBimHub .hero-cc-mock .hero-bim-4d-hud__collapse:hover{
      background:rgba(24,32,48,.9);
      border-color:rgba(0,191,255,.35);
    }
    #heroBimHub .hero-cc-mock .hero-bim-4d-hud__slider-row{
      color:rgba(226,232,240,.72);
    }
    #heroBimHub .hero-cc-mock .hero-bim-4d-hud__meta{
      color:rgba(203,213,225,.82);
      border-top-color:rgba(148,163,184,.16);
    }
    /* Fase T+n / % — el base usa #0f172a (tema claro) y aquí no se lee */
    #heroBimHub .hero-cc-mock .hero-bim-4d-hud__phase{
      color:rgba(241,245,249,.9);
    }
    #heroBimHub .hero-cc-mock .hero-bim-4d-hud__cf-v{
      color:rgba(251,191,36,.95);
    }
    #heroBimHub .hero-cc-mock .hero-bim-chart{
      border-color:rgba(148,163,184,.18);
      background:
        repeating-linear-gradient(180deg, transparent 0, transparent 13px, rgba(255,255,255,.04) 13px, rgba(255,255,255,.04) 14px),
        linear-gradient(180deg, rgba(15,23,42,.55) 0%, rgba(8,12,20,.75) 100%);
    }
    #heroBimHub .hero-cc-mock .hero-bim-chart__cap{
      color:rgba(232,182,141,.85);
    }
    #heroBimHub .hero-cc-mock .hero-bim-cf-tooltip,
    #heroBimHub .hero-cc-mock .hero-bim-sc-tooltip{
      background:rgba(12,18,30,.96);
      border-color:rgba(148,163,184,.22);
      color:rgba(226,232,240,.88);
      box-shadow:0 8px 22px rgba(0,0,0,.4);
    }
    #heroBimHub .hero-cc-mock .hero-bim-cf-tooltip strong,
    #heroBimHub .hero-cc-mock .hero-bim-sc-tooltip strong{
      color:#f8fafc;
    }
    #heroBimHub .hero-cc-mock .hero-bim-sc-tooltip__line,
    #heroBimHub .hero-cc-mock .hero-bim-cf-tooltip{
      color:rgba(203,213,225,.82);
    }
    #heroBimHub .hero-cc-mock .hero-bim-sc-tooltip__action{
      border-top-color:rgba(148,163,184,.25);
      color:rgba(248,250,252,.88);
    }
    #heroBimHub .hero-cc-mock .hero-bim-float__card{
      background:rgba(12,18,30,.92);
      border:1px solid rgba(148,163,184,.22);
      color:rgba(248,250,252,.9);
      box-shadow:0 10px 24px rgba(0,0,0,.35);
    }
    #heroBimHub .hero-cc-mock .hero-bim-float__tag,
    #heroBimHub .hero-cc-mock .hero-bim-float__cap{
      color:rgba(203,213,225,.78);
    }
    #heroBimHub .hero-cc-mock .hero-bim-bi-top .hero-bim-float__tag{
      color:rgba(232,182,141,.88);
    }
    #heroBimHub .hero-cc-mock .hero-bim-bi-hero__sub{
      color:rgba(203,213,225,.82);
    }
    /* Burbujas ya son claras: el inner no lleva “caja” oscura encima (evita bloque negro sobre blanco) */
    #heroBimHub .hero-cc-mock .hero-bim-ai-chat-bubble__inner{
      background:transparent;
      border:0;
      box-shadow:none;
      padding:0;
      color:inherit;
    }
    #heroBimHub .hero-cc-mock .hero-bim-4d-slider::-webkit-slider-runnable-track{
      background:linear-gradient(
        90deg,
        rgba(249,115,22,.55) 0%,
        rgba(251,146,60,.42) var(--hero-fill,0%),
        rgba(255,255,255,.08) var(--hero-fill,0%),
        rgba(255,255,255,.12) 100%
      );
      box-shadow:inset 0 1px 2px rgba(0,0,0,.35);
    }
    #heroBimHub .hero-cc-mock .hero-bim-4d-slider::-webkit-slider-thumb{
      background:radial-gradient(circle at 32% 28%, #fff 0%, #e0f2fe 55%, #bae6fd 100%);
      border-color:rgba(251,191,36,.55);
      box-shadow:
        0 0 0 2px rgba(15,23,42,.9),
        0 2px 10px rgba(0,191,255,.22);
    }
    #heroBimHub .hero-cc-mock .hero-bim-4d-slider::-moz-range-track{
      background:rgba(255,255,255,.1);
    }
    #heroBimHub .hero-cc-mock .hero-bim-4d-slider::-moz-range-thumb{
      background:radial-gradient(circle at 32% 28%, #fff 0%, #e0f2fe 55%, #bae6fd 100%);
      border-color:rgba(251,191,36,.55);
      box-shadow:
        0 0 0 2px rgba(15,23,42,.9),
        0 2px 10px rgba(0,191,255,.22);
    }
    #heroBimHub .hero-cc-mock .hero-bi-dash-cell{
      background:rgba(10,15,24,.92);
      border-color:rgba(148,163,184,.2);
      color:rgba(248,250,252,.92);
    }
    #heroBimHub .hero-cc-mock .hero-bi-dash-cell__v{color:#f8fafc;}
    #heroBimHub .hero-cc-mock .hero-bi-dash-cell__k{color:rgba(232,182,141,.78);}
    #heroBimHub .hero-cc-mock .hero-bi-dash-cell__sub,
    #heroBimHub .hero-cc-mock .hero-bi-dash-cell__note{color:rgba(203,213,225,.82);}
    #heroBimHub .hero-cc-mock .hero-bim-concept{
      border-color:rgba(198,139,89,.18);
      background:rgba(8,12,20,.55);
    }

    /* Muestra interactiva — tono minimal (menos bordes, acentos y animación) */
    .hero-join.hero-join--minimal{
      padding:22px 20px 18px;
      gap:12px;
      background:#070910;
      border:1px solid rgba(148,163,184,.1);
      box-shadow:none;
    }
    .hero-join.hero-join--minimal .hero-loader{
      filter:drop-shadow(0 0 10px rgba(59,130,246,.1));
    }
    .hero-join.hero-join--minimal .hero-loader.hero-loader--login:hover{
      filter:drop-shadow(0 0 14px rgba(59,130,246,.2)) drop-shadow(0 0 10px rgba(246,168,104,.18));
    }
    .hero-join.hero-join--minimal .hero-join-title small{
      color:rgba(148,163,184,.62);
      letter-spacing:.06em;
      font-weight:500;
      text-transform:none;
    }
    .hero-join.hero-join--minimal .hero-join-title h2{
      color:rgba(248,250,252,.94);
      font-weight:600;
      letter-spacing:-.02em;
    }
    #heroBimHub.hero-bim-hub--minimal{
      gap:8px;
    }
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock--lite{
      gap:14px;
      grid-template-columns:minmax(0,1fr) minmax(0,92px);
    }
    #heroBimHub.hero-bim-hub--minimal .hero-bim-concepts{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:6px;
    }
    @media (max-width:620px){
      #heroBimHub.hero-bim-hub--minimal .hero-bim-concepts{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
    }
    #heroBimHub.hero-bim-hub--minimal .hero-bim-concept{
      padding:6px 8px;
      border-radius:8px;
      border:0;
      background:rgba(255,255,255,.04);
      box-shadow:none;
    }
    /* Sin hover en pestañas: mismo aspecto siempre y panel de subtítulo cerrado */
    #heroBimHub.hero-bim-hub--minimal .hero-bim-concept:hover,
    #heroBimHub.hero-bim-hub--minimal .hero-bim-concept:focus-within{
      transform:none;
      border:0;
      background:rgba(255,255,255,.04);
      box-shadow:none;
      outline:none;
      z-index:1;
    }
    #heroBimHub.hero-bim-hub--minimal .hero-bim-concept:hover .hero-bim-concept__panel,
    #heroBimHub.hero-bim-hub--minimal .hero-bim-concept:focus-within .hero-bim-concept__panel{
      grid-template-rows:0fr;
      opacity:0;
      margin-top:0;
      pointer-events:none;
    }
    #heroBimHub.hero-bim-hub--minimal .hero-bim-concept__dot{
      box-shadow:none;
      width:6px;
      height:6px;
      margin-top:5px;
      opacity:.92;
    }
    #heroBimHub.hero-bim-hub--minimal .hero-bim-concept[data-viz="live"] .hero-bim-concept__dot,
    #heroBimHub.hero-bim-hub--minimal .hero-bim-concept[data-viz="ai"] .hero-bim-concept__dot,
    #heroBimHub.hero-bim-hub--minimal .hero-bim-concept[data-viz="bi"] .hero-bim-concept__dot{
      box-shadow:none;
    }
    #heroBimHub.hero-bim-hub--minimal .hero-bim-concept__title{
      font-weight:700;
      font-size:10px;
      color:rgba(226,232,240,.92);
    }
    #heroBimHub.hero-bim-hub--minimal .hero-bim-concept__sub{
      padding:6px 7px;
      border:0;
      background:rgba(0,0,0,.2);
      box-shadow:none;
      font-size:9px;
    }
    #heroBimHub.hero-bim-hub--minimal .hero-bim-preview__label{
      color:rgba(148,163,184,.72);
      font-weight:600;
      letter-spacing:.05em;
      font-size:9px;
    }
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock--lite .hero-cc-mock__side{
      padding:10px 8px 12px;
      gap:8px;
      border:0;
      background:rgba(255,255,255,.03);
      box-shadow:none;
    }
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock__side-h,
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock__side-sub-h{
      color:rgba(148,163,184,.82);
      font-weight:700;
      letter-spacing:.06em;
    }
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock__side-feed{
      margin:0 0 2px;
      font-style:normal;
      font-weight:500;
      color:rgba(148,163,184,.78);
      text-shadow:none;
    }
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock__side-line{
      color:rgba(226,232,240,.82);
      font-weight:600;
    }
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock__side-ops,
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock__side-risk{
      margin-top:0;
      padding-top:6px;
      border-top:1px solid rgba(148,163,184,.08);
      gap:6px;
    }
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock__av-bar i,
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock__av-bar .hero-cc-mock__av-fill{
      background:linear-gradient(90deg, rgba(148,163,184,.55), rgba(203,213,225,.75));
    }
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock .hero-bim-preview__element-card{
      border:0;
      box-shadow:none;
      background:rgba(255,255,255,.04);
    }
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock .hero-bim-preview__element-card__accent{
      display:none;
    }
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock .hero-bim-preview__element-card__inner{
      padding:6px 8px 6px 8px;
    }
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock .hero-bim-preview__element-card__eyebrow{
      color:rgba(148,163,184,.7);
      margin:0 0 2px;
    }
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock .hero-bim-preview__viz{
      border:0;
      box-shadow:none;
      background:#04060c;
      border-radius:10px;
    }
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock .hero-bim-4d-hud{
      border:0;
      box-shadow:none;
      background:rgba(255,255,255,.03);
      border-radius:10px;
      padding:5px 5px 6px;
    }
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock .hero-bim-4d-hud__collapse{
      border:0;
      background:rgba(255,255,255,.06);
    }
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock .hero-bim-chart{
      border:0;
      background:rgba(0,0,0,.22);
    }
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock .hero-bim-4d-hud__title,
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock .hero-bim-chart__cap{
      color:rgba(148,163,184,.82);
    }
    #heroBimHub.hero-bim-hub--minimal .hero-cc-mock .hero-bim-4d-hud__cf-v{
      color:rgba(203,213,225,.88);
    }
    #heroBimHub.hero-bim-hub--minimal:has(.hero-bim-concept[data-viz="live"]:hover) .hero-bim-4d-hud__charts,
    #heroBimHub.hero-bim-hub--minimal:has(.hero-bim-concept[data-viz="live"]:focus-within) .hero-bim-4d-hud__charts{
      animation:none;
    }
    #heroBimHub.hero-bim-hub--minimal:has(.hero-bim-concept[data-viz="live"]:hover) .hero-bim-float--bi .hero-bim-float__card,
    #heroBimHub.hero-bim-hub--minimal:has(.hero-bim-concept[data-viz="live"]:focus-within) .hero-bim-float--bi .hero-bim-float__card{
      animation:none;
    }
    .hero-join.hero-join--minimal > .hero-actions{
      margin-top:2px;
    }
    .hero-join.hero-join--minimal > .hero-actions .btn.btn-secondary{
      background:transparent;
      border:1px solid rgba(148,163,184,.28);
      color:rgba(241,245,249,.88);
      box-shadow:none;
    }
    .hero-join.hero-join--minimal > .hero-actions .btn.btn-secondary:hover{
      background:rgba(255,255,255,.06);
      border-color:rgba(148,163,184,.42);
    }

    .hero-join-list{display:grid;gap:10px;margin:0;}
    .hero-join-list li{list-style:none;color:rgba(241,245,249,.84);font-size:14px;line-height:1.6;display:flex;gap:10px;}
    .hero-join-list li::before{content:'•';color:#f6a868;font-size:18px;line-height:1;}
    .hero-bim-preview{
      display:grid;
      gap:4px;
      margin-top:2px;
      min-height:0;
      position:relative;
      z-index:9;
    }
    .hero-bim-preview__hint{
      display:none !important;
    }
    /* Flujo visual: datos vivos → gráficos 4D (y retorno), solo con hover en "Datos vivos" */
    .hero-bim-live-flow{
      position:absolute;
      left:0;
      right:0;
      top:8%;
      bottom:0;
      z-index:4;
      pointer-events:none;
      opacity:0;
      transition:opacity .5s ease;
    }
    .hero-bim-preview__head{
      position:relative;
      z-index:6;
    }
    .hero-bim-hub:has(.hero-bim-concept[data-viz="live"]:hover) .hero-bim-live-flow,
    .hero-bim-hub:has(.hero-bim-concept[data-viz="live"]:focus-within) .hero-bim-live-flow{
      opacity:1;
    }
    .hero-bim-hub:has(.hero-bim-concept[data-viz="live"]:hover) .hero-bim-4d-hud__charts,
    .hero-bim-hub:has(.hero-bim-concept[data-viz="live"]:focus-within) .hero-bim-4d-hud__charts{
      border-radius:8px;
      animation:heroBimLiveChartsPulse 2.5s ease-in-out infinite;
    }
    .hero-bim-hub:has(.hero-bim-concept[data-viz="live"]:hover) .hero-bim-float--bi .hero-bim-float__card,
    .hero-bim-hub:has(.hero-bim-concept[data-viz="live"]:focus-within) .hero-bim-float--bi .hero-bim-float__card{
      animation:heroBimBiFeedPulse 2.4s ease-in-out infinite;
    }
    @keyframes heroBimLiveChartsPulse{
      0%,100%{
        box-shadow:0 0 0 0 rgba(16,185,129,.18), inset 0 0 0 1px rgba(15,23,42,.06);
      }
      50%{
        box-shadow:0 0 16px 1px rgba(16,185,129,.28), inset 0 0 0 1px rgba(15,23,42,.08);
      }
    }
    @keyframes heroBimBiFeedPulse{
      0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,.15);}
      50%{box-shadow:0 0 14px 1px rgba(245,158,11,.28);}
    }
    .hero-bim-preview__head{
      display:flex;
      align-items:center;
      justify-content:flex-start;
      gap:10px;
      flex-wrap:wrap;
    }
    .hero-bim-preview__label{
      font-size:10px;
      font-weight:800;
      letter-spacing:.08em;
      text-transform:uppercase;
      color:rgba(246,168,104,.88);
    }
    .hero-bim-preview__model-row{
      display:flex;
      flex-direction:column;
      align-items:stretch;
      gap:4px;
      min-width:0;
    }
    /* Tablero BI absoluto dentro del visor: sin esto, el HUD 4D (z-index:1) pinta encima del desborde */
    .hero-bim-hub:has(.hero-bim-concept[data-viz="bi"]:is(:hover,:focus-within)) .hero-bim-preview__model-row{
      position:relative;
      z-index:4;
    }
    .hero-bim-preview__model-row > .hero-bim-preview__viz{
      flex:1 1 auto;
      width:100%;
      max-width:100%;
      min-width:0;
    }
    .hero-bim-preview__element-card{
      position:relative;
      flex:0 0 auto;
      width:100%;
      max-width:100%;
      align-self:stretch;
      display:flex;
      flex-direction:column;
      border-radius:10px;
      overflow:hidden;
      border:1px solid rgba(15,23,42,.12);
      background:#fff;
      box-shadow:0 8px 24px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.9);
      color:#0f172a;
      transition:opacity .12s ease, visibility 0s linear 0s;
    }
    .hero-bim-preview__element-card--idle{
      border-color:rgba(15,23,42,.1);
    }
    .hero-bim-preview__element-card--idle .hero-bim-preview__element-card__accent{
      background:linear-gradient(180deg,#cbd5e1,#e2e8f0);
    }
    .hero-bim-preview__element-card--has-selection{
      border-color:rgba(37,99,235,.22);
    }
    .hero-bim-preview__element-card--has-selection .hero-bim-preview__element-card__accent{
      background:#dbeafe;
    }
    .hero-bim-preview__element-card__accent{
      position:absolute;
      left:0;
      top:0;
      bottom:0;
      width:3px;
      border-radius:10px 0 0 10px;
      background:#dbeafe;
      box-shadow:none;
    }
    .hero-bim-preview__element-card__inner{
      position:relative;
      z-index:1;
      padding:6px 8px 6px 11px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      flex:1;
      min-height:0;
    }
    .hero-bim-preview__element-card__eyebrow{
      display:block;
      font-size:8px;
      font-weight:800;
      letter-spacing:.14em;
      text-transform:uppercase;
      color:#64748b;
      margin:0 0 4px;
    }
    .hero-bim-preview__element-card__title{
      margin:0;
      font-size:11px;
      font-weight:700;
      line-height:1.35;
      color:#0f172a;
      font-family:'Inter',system-ui,sans-serif;
      letter-spacing:.01em;
      word-break:break-word;
    }
    .hero-bim-preview__element-card__stats{
      margin:6px 0 0;
      font-size:9px;
      font-weight:500;
      line-height:1.42;
      color:#334155;
      font-family:'Inter',system-ui,sans-serif;
      letter-spacing:.01em;
      white-space:pre-line;
      word-break:break-word;
    }
    .hero-bim-preview__element-card__stats:empty{
      display:none;
    }
    @media (prefers-reduced-motion:reduce){
      .hero-bim-preview__element-card{
        transition:none;
      }
    }
    @media (max-width:520px){
      .hero-bim-preview__element-card{
        min-height:0;
      }
    }
    .hero-bim-hub{
      display:grid;
      gap:8px;
      margin-top:0;
      position:relative;
    }
    /* Debajo del bloque preview (z-index mayor): evita que las líneas crucen el tablero BI sobre el canvas */
    .hero-bim-bi-synapse-layer{
      position:absolute;
      inset:0;
      z-index:5;
      pointer-events:none;
      opacity:0;
      transition:opacity .35s ease,visibility .35s ease;
      visibility:hidden;
    }
    .hero-bim-hub:has(.hero-bim-concept[data-viz="bi"]:hover) .hero-bim-bi-synapse-layer,
    .hero-bim-hub:has(.hero-bim-concept[data-viz="bi"]:focus-within) .hero-bim-bi-synapse-layer{
      opacity:1;
      visibility:visible;
    }
    /* Partículas / glifos: del chip BI hacia cashflow, curva S, 4D y tarjeta BI (sin panel blanco). */
    .hero-bim-bi-feed{
      position:absolute;
      inset:0;
      z-index:6;
      pointer-events:none;
      overflow:visible;
    }
    .hero-bim-bi-feed__mote{
      position:absolute;
      left:0;
      top:0;
      margin:0;
      padding:1px 3px;
      border-radius:4px;
      font-family:'Baloo 2',system-ui,sans-serif;
      font-size:9px;
      font-weight:800;
      letter-spacing:.02em;
      line-height:1;
      color:rgba(254,243,199,.98);
      text-shadow:
        0 0 10px rgba(59,130,246,.55),
        0 0 18px rgba(251,191,36,.45);
      transform:translate(-50%,-50%) translate(0,0) scale(1);
      opacity:1;
      transition:transform .78s cubic-bezier(.18,.88,.2,1), opacity .78s ease;
      will-change:transform,opacity;
    }
    .hero-bim-bi-feed__mote--go{
      transform:translate(-50%,-50%) translate(var(--bi-mote-tx,0),var(--bi-mote-ty,0)) scale(.45);
      opacity:0;
    }
    .hero-bim-bi-feed__mote--dot{
      width:5px;
      height:5px;
      padding:0;
      border-radius:50%;
      font-size:0;
      color:transparent;
      background:radial-gradient(circle at 32% 28%,#fff7ed,#fbbf24 55%,#ea580c 100%);
      box-shadow:0 0 12px rgba(251,191,36,.75),0 0 20px rgba(59,130,246,.35);
    }
    @media (prefers-reduced-motion:reduce){
      .hero-bim-bi-feed{display:none !important;}
    }
    .hero-bim-bi-synapse-layer svg{
      display:block;
      width:100%;
      height:100%;
      overflow:visible;
    }
    .hero-bim-synapse-path{
      stroke-dasharray:6 14;
      animation:heroBimSynapseFlow 1.15s linear infinite;
    }
    .hero-bim-synapse-node{
      animation:heroBimSynapseNode 1.4s ease-in-out infinite;
    }
    .hero-bim-synapse-node--target{
      animation-delay:.35s;
    }
    @keyframes heroBimSynapseFlow{
      to{stroke-dashoffset:-20;}
    }
    @keyframes heroBimSynapseNode{
      0%,100%{opacity:.65;}
      50%{opacity:1;}
    }
    .hero-bim-concepts{
      position:relative;
      z-index:10;
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:6px;
      overflow:visible;
    }
    @media (max-width:520px){
      .hero-bim-concepts{grid-template-columns:1fr}
    }
    .hero-bim-concept{
      display:flex;
      gap:8px;
      align-items:flex-start;
      text-align:left;
      padding:8px 10px;
      border-radius:12px;
      border:1px solid rgba(255,255,255,.1);
      background:rgba(255,255,255,.04);
      color:inherit;
      cursor:pointer;
      font:inherit;
      transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease;
      position:relative;
      z-index:1;
    }
    .hero-bim-concept:hover,
    .hero-bim-concept:focus-within{
      transform:translateY(-2px);
      border-color:#ffbe86;
      background:rgba(25,31,54,.96);
      box-shadow:var(--rum-index-btn-hover-shadow);
      outline:none;
      z-index:4;
    }
    .hero-bim-concept__dot{
      flex:none;
      width:8px;
      height:8px;
      margin-top:4px;
      border-radius:50%;
      background:linear-gradient(135deg,var(--sky),var(--brand));
      box-shadow:0 0 12px rgba(102,200,255,.35);
    }
    .hero-bim-concept[data-viz="live"] .hero-bim-concept__dot{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 0 12px rgba(52,211,153,.35);}
    .hero-bim-concept[data-viz="ai"] .hero-bim-concept__dot{background:linear-gradient(135deg,#a78bfa,#6366f1);box-shadow:0 0 12px rgba(167,139,250,.35);}
    .hero-bim-concept[data-viz="bi"] .hero-bim-concept__dot{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 0 12px rgba(251,191,36,.3);}
    .hero-bim-concept__copy{
      display:block;
      min-width:0;
      flex:1;
    }
    .hero-bim-concept__title{
      display:block;
      font-size:11px;
      font-weight:800;
      letter-spacing:.02em;
      color:#fff;
      line-height:1.25;
    }
    .hero-bim-concept__panel{
      display:grid;
      grid-template-rows:0fr;
      transition:grid-template-rows .32s cubic-bezier(.2,.85,.2,1),opacity .28s ease,margin .28s ease;
      opacity:0;
      margin-top:0;
      pointer-events:none;
    }
    .hero-bim-concept:hover .hero-bim-concept__panel,
    .hero-bim-concept:focus-within .hero-bim-concept__panel{
      grid-template-rows:1fr;
      opacity:1;
      margin-top:8px;
      pointer-events:auto;
    }
    .hero-bim-concept__panel-inner{
      min-height:0;
      overflow:hidden;
    }
    .hero-bim-concept__sub{
      display:block;
      font-size:11px;
      color:rgba(226,232,240,.88);
      line-height:1.45;
      margin:0;
      padding:10px 11px 11px;
      border-radius:10px;
      border:1px solid rgba(148,163,184,.28);
      background:
        linear-gradient(180deg, rgba(30,36,52,.94) 0%, rgba(18,24,38,.97) 100%);
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.07),
        0 10px 26px rgba(0,0,0,.4);
    }
    @media (prefers-reduced-motion:reduce){
      .hero-bim-concept__panel{transition:none;}
    }
    .hero-bim-preview__stage{
      display:grid;
      grid-template-columns:minmax(0,1fr);
      gap:4px;
      align-items:stretch;
    }
    .hero-bim-preview__viz{
      position:relative;
      border-radius:16px;
      overflow:visible;
      z-index:0;
      min-width:0;
    }
    .hero-bim-4d-hud{
      position:relative;
      z-index:1;
      width:100%;
      margin-top:2px;
      display:grid;
      gap:0;
      padding:6px 6px 6px;
      border-radius:10px;
      border:1px solid rgba(15,23,42,.12);
      background:#fff;
      box-shadow:0 8px 24px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.9);
      pointer-events:auto;
      font-family:'Baloo 2',system-ui,sans-serif;
      color:#0f172a;
    }
    .hero-bim-4d-hud__head{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:10px;
    }
    .hero-bim-4d-hud__head-main{
      display:flex;
      align-items:center;
      gap:8px;
      min-width:0;
    }
    .hero-bim-4d-hud__collapse{
      flex-shrink:0;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      width:30px;
      height:30px;
      padding:0;
      border-radius:8px;
      border:1px solid rgba(15,23,42,.15);
      background:#f1f5f9;
      color:#334155;
      cursor:pointer;
      transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
    }
    .hero-bim-4d-hud__collapse:hover{
      transform:translateY(-2px);
      background:#e2e8f0;
      border-color:rgba(246,168,104,.55);
      box-shadow:var(--rum-index-btn-hover-shadow);
    }
    .hero-bim-4d-hud__collapse svg{
      transition:transform .28s ease;
    }
    .hero-bim-4d-hud--collapsed .hero-bim-4d-hud__collapse svg{
      transform:rotate(-90deg);
    }
    .hero-bim-4d-hud__body{
      display:grid;
      grid-template-rows:1fr;
      padding-top:6px;
      transition:grid-template-rows .32s ease,padding-top .28s ease;
    }
    .hero-bim-4d-hud--collapsed .hero-bim-4d-hud__body{
      grid-template-rows:0fr;
      padding-top:0;
    }
    .hero-bim-4d-hud__body-inner{
      min-height:0;
      overflow:hidden;
      display:grid;
      gap:4px;
    }
    .hero-bim-preview__sr{
      position:absolute;
      width:1px;
      height:1px;
      padding:0;
      margin:-1px;
      overflow:hidden;
      clip:rect(0,0,0,0);
      border:0;
      white-space:nowrap;
    }
    @media (prefers-reduced-motion:reduce){
      .hero-bim-4d-hud__body,
      .hero-bim-4d-hud__collapse svg{transition:none;}
    }
    .hero-bim-4d-hud__title{
      font-size:10px;
      font-weight:700;
      letter-spacing:.06em;
      text-transform:uppercase;
      color:#0f172a;
    }
    .hero-bim-4d-hud__auto{
      display:inline-flex;
      align-items:center;
      gap:6px;
      font-size:10px;
      font-weight:600;
      color:#475569;
      cursor:pointer;
      user-select:none;
    }
    .hero-bim-4d-hud__auto input{
      accent-color:#2563eb;
      width:14px;
      height:14px;
      cursor:pointer;
    }
    .hero-bim-4d-hud__charts{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:8px;
      align-items:end;
      position:relative;
    }
    .hero-bim-4d-hud__tooltip-band{
      grid-column:1 / -1;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:8px;
      align-items:start;
      margin-top:2px;
    }
    .hero-bim-4d-hud__tooltip-slot{
      min-width:0;
      min-height:0;
    }
    .hero-bim-chart{
      /* Sin barrido de luz (::before + heroBimChartSweep) en modo auto 4D — distraía y parecía “espejo”. */
      position:relative;
      overflow:hidden;
      border:1px solid rgba(15,23,42,.1);
      border-radius:6px;
      background:
        repeating-linear-gradient(180deg, transparent 0, transparent 13px, rgba(15,23,42,.06) 13px, rgba(15,23,42,.06) 14px),
        linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
      padding:3px 3px 2px;
      min-height:44px;
    }
    .hero-bim-chart--cf{
      position:relative;
    }
    .hero-bim-chart--sc{
      position:relative;
    }
    .hero-bim-sc-tooltip{
      position:relative;
      left:auto;
      top:auto;
      z-index:1;
      pointer-events:none;
      width:100%;
      max-width:none;
      max-height:104px;
      overflow:auto;
      overscroll-behavior:contain;
      padding:6px 8px;
      border-radius:6px;
      border:1px solid rgba(15,23,42,.12);
      background:#fff;
      box-shadow:0 4px 12px rgba(15,23,42,.1);
      font-size:9px;
      line-height:1.4;
      color:#334155;
      font-variant-numeric:tabular-nums;
      font-family:'Baloo 2',system-ui,sans-serif;
      transform:none;
      margin-top:0;
    }
    .hero-bim-sc-tooltip.hero-bim-sc-tooltip--flip{
      transform:none;
      margin-top:0;
    }
    .hero-bim-sc-tooltip strong{
      display:block;
      font-weight:800;
      color:#0f172a;
      font-size:10px;
      letter-spacing:.02em;
    }
    .hero-bim-sc-tooltip__line{
      margin:5px 0 0;
      color:#475569;
      font-size:9px;
    }
    .hero-bim-sc-tooltip__action{
      margin:6px 0 0;
      padding-top:5px;
      border-top:1px solid rgba(148,163,184,.35);
      color:#0f172a;
      font-size:9px;
      font-weight:600;
    }
    .hero-bim-cf-tooltip{
      position:relative;
      left:auto;
      top:auto;
      z-index:1;
      pointer-events:none;
      width:100%;
      max-width:none;
      padding:5px 7px;
      border-radius:6px;
      border:1px solid rgba(15,23,42,.12);
      background:#fff;
      box-shadow:0 4px 12px rgba(15,23,42,.1);
      font-size:10px;
      line-height:1.35;
      color:#334155;
      font-variant-numeric:tabular-nums;
      font-family:'Baloo 2',system-ui,sans-serif;
      transform:none;
      margin-top:0;
    }
    .hero-bim-cf-tooltip.hero-bim-cf-tooltip--flip{
      transform:none;
      margin-top:0;
    }
    .hero-bim-cf-tooltip strong{
      display:block;
      font-weight:800;
      color:#0f172a;
      font-size:11px;
      letter-spacing:.02em;
    }
    .hero-bim-cf-tooltip span{
      color:#64748b;
      font-size:9px;
    }
    .hero-bim-chart svg{
      display:block;
      width:100%;
      height:38px;
      position:relative;
      z-index:3;
    }
    .hero-bim-chart__cap{
      position:relative;
      z-index:4;
      font-size:8px;
      font-weight:600;
      letter-spacing:.04em;
      text-transform:uppercase;
      color:#475569;
      padding:0 2px 4px;
    }
    .hero-bim-4d-hud__slider-row{
      display:grid;
      grid-template-columns:auto 1fr auto;
      align-items:center;
      gap:8px;
      padding:4px 0 2px;
    }
    .hero-bim-4d-hud__slider-row span{
      font-size:10px;
      font-weight:700;
      color:#94a3b8;
      font-variant-numeric:tabular-nums;
      letter-spacing:.02em;
      min-width:2.25ch;
    }
    .hero-bim-4d-hud__slider-row span:first-of-type{text-align:left;}
    .hero-bim-4d-hud__slider-row span:last-of-type{text-align:right;}
    .hero-bim-4d-slider{
      -webkit-appearance:none;
      appearance:none;
      width:100%;
      height:18px;
      margin:0;
      background:transparent;
      outline:none;
      cursor:pointer;
      --hero-fill:0%;
      --wall-a:rgba(254,215,170,.95);
      --wall-b:rgba(249,115,22,.65);
    }
    .hero-bim-4d-slider:focus-visible{
      outline:2px solid rgba(249,115,22,.28);
      outline-offset:3px;
      border-radius:999px;
    }
    .hero-bim-4d-slider::-webkit-slider-runnable-track{
      height:4px;
      border-radius:999px;
      border:0;
      background:linear-gradient(
        90deg,
        rgba(249,115,22,.5) 0%,
        rgba(251,146,60,.38) var(--hero-fill,0%),
        #e8ecf0 var(--hero-fill,0%),
        #f1f5f9 100%
      );
      box-shadow:inset 0 1px 1px rgba(15,23,42,.07);
    }
    .hero-bim-4d-slider::-webkit-slider-thumb{
      -webkit-appearance:none;
      width:13px;
      height:13px;
      margin-top:-4.5px;
      border-radius:50%;
      background:radial-gradient(circle at 32% 28%,#fff 0%,#f8fafc 55%,#eef2f7 100%);
      border:1px solid rgba(249,115,22,.48);
      box-shadow:
        0 0 0 2px rgba(255,255,255,.98),
        0 1px 2px rgba(15,23,42,.1),
        0 2px 10px rgba(249,115,22,.16);
      cursor:grab;
      transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
    }
    .hero-bim-4d-slider:hover::-webkit-slider-thumb{
      transform:scale(1.06);
      border-color:rgba(249,115,22,.72);
      box-shadow:
        0 0 0 2px #fff,
        0 2px 4px rgba(15,23,42,.12),
        0 4px 14px rgba(249,115,22,.22);
    }
    .hero-bim-4d-slider::-webkit-slider-thumb:active{
      cursor:grabbing;
      transform:scale(1.02);
      box-shadow:
        0 0 0 2px #fff,
        0 1px 3px rgba(15,23,42,.14);
    }
    .hero-bim-4d-slider--wall-hot::-webkit-slider-runnable-track{
      background:linear-gradient(90deg,var(--wall-a),var(--wall-b));
      box-shadow:inset 0 0 0 1px rgba(234,88,12,.1);
    }
    .hero-bim-4d-slider--wall-hot::-webkit-slider-thumb{
      border-color:rgba(234,88,12,.72);
      box-shadow:
        0 0 0 2px #fff,
        0 1px 2px rgba(15,23,42,.1),
        0 2px 12px rgba(234,88,12,.28);
    }
    .hero-bim-4d-slider::-moz-range-track{
      height:4px;
      border-radius:999px;
      border:0;
      background:#e8ecf0;
      box-shadow:inset 0 1px 1px rgba(15,23,42,.07);
    }
    .hero-bim-4d-slider::-moz-range-progress{
      height:4px;
      border-radius:999px 0 0 999px;
      background:linear-gradient(90deg,rgba(249,115,22,.5),rgba(251,146,60,.38));
    }
    .hero-bim-4d-slider--wall-hot::-moz-range-track{
      background:linear-gradient(90deg,var(--wall-a),var(--wall-b));
      box-shadow:inset 0 0 0 1px rgba(234,88,12,.1);
    }
    .hero-bim-4d-slider--wall-hot::-moz-range-progress{
      height:4px;
      border-radius:999px;
      background:transparent;
    }
    .hero-bim-4d-slider::-moz-range-thumb{
      width:13px;
      height:13px;
      border-radius:50%;
      border:1px solid rgba(249,115,22,.48);
      background:radial-gradient(circle at 32% 28%,#fff 0%,#f8fafc 55%,#eef2f7 100%);
      box-shadow:
        0 0 0 2px rgba(255,255,255,.98),
        0 1px 2px rgba(15,23,42,.1),
        0 2px 10px rgba(249,115,22,.16);
      cursor:grab;
    }
    .hero-bim-4d-slider--wall-hot::-moz-range-thumb{
      border-color:rgba(234,88,12,.72);
    }
    .hero-bim-4d-hud__meta{
      display:flex;
      justify-content:space-between;
      align-items:baseline;
      gap:8px;
      flex-wrap:wrap;
      font-size:10px;
      color:#64748b;
      border-top:1px solid rgba(15,23,42,.1);
      padding-top:6px;
    }
    .hero-bim-4d-hud__phase{
      font-variant-numeric:tabular-nums;
      font-weight:600;
      color:#0f172a;
    }
    .hero-bim-4d-hud__cf-v{
      font-weight:800;
      font-variant-numeric:tabular-nums;
      color:#0f172a;
      font-size:12px;
      letter-spacing:.02em;
    }
    @media (max-width:480px){
      .hero-bim-4d-hud__charts{grid-template-columns:1fr;}
      .hero-bim-4d-hud__tooltip-band{grid-template-columns:1fr;}
      .hero-bim-chart svg{height:34px;}
    }
    .hero-bim-preview__canvas-wrap{
      position:relative;
      z-index:1;
      border-radius:16px;
      overflow:hidden;
      border:1px solid rgba(246,168,104,.28);
      background:
        radial-gradient(1200px 520px at 50% -10%, rgba(102,200,255,.09), transparent 55%),
        linear-gradient(165deg, rgba(6,10,22,.99) 0%, rgba(12,18,36,.96) 48%, rgba(8,12,24,.99) 100%);
      box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.04),
        inset 0 -40px 80px rgba(0,0,0,.35),
        0 14px 40px rgba(2,8,23,.45);
      box-sizing:border-box;
      width:100%;
      height:clamp(118px,min(148px,22vw),176px);
      min-height:118px;
      max-height:176px;
      flex-shrink:0;
      transition:border-color .35s ease, box-shadow .35s ease;
    }
    .hero-bim-preview__canvas-wrap::before{
      content:'';
      position:absolute;
      inset:0;
      z-index:2;
      pointer-events:none;
      border-radius:inherit;
      background:
        radial-gradient(ellipse 72% 58% at 50% 38%, rgba(102,200,255,.07), transparent 62%),
        radial-gradient(ellipse 108% 92% at 50% 52%, transparent 38%, rgba(0,0,0,.5) 100%);
      opacity:.95;
    }
    .hero-bim-preview__canvas-wrap::after{
      content:'';
      position:absolute;
      left:10%;
      right:10%;
      bottom:5%;
      height:22%;
      z-index:2;
      pointer-events:none;
      border-radius:50%;
      background:radial-gradient(ellipse at 50% 50%, rgba(0,0,0,.55), transparent 72%);
      filter:blur(14px);
      opacity:.58;
      transform:scaleY(.55);
    }
    .hero-bim-preview__canvas-wrap:hover{
      border-color:rgba(102,200,255,.38);
      box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.06),
        inset 0 -32px 70px rgba(0,0,0,.32),
        0 0 0 1px rgba(102,200,255,.12),
        0 20px 52px rgba(2,8,23,.5);
    }
    .hero-bim-preview__canvas-wrap canvas{
      display:block;
      width:100% !important;
      height:100% !important;
      vertical-align:top;
      touch-action:none;
      position:relative;
      z-index:1;
    }
    .hero-bim-viz-overlays{
      position:absolute;
      inset:0;
      z-index:2;
      pointer-events:none;
      border-radius:16px;
      overflow:visible;
    }
    .hero-bim-ai-chat-orbit{
      position:absolute;
      inset:0;
      z-index:3;
      pointer-events:none;
      overflow:visible;
      opacity:0;
      visibility:hidden;
      transition:opacity .4s ease,visibility .4s;
    }
    .hero-bim-hub:has(.hero-bim-concept[data-viz="ai"]:hover) .hero-bim-ai-chat-orbit,
    .hero-bim-hub:has(.hero-bim-concept[data-viz="ai"]:focus-within) .hero-bim-ai-chat-orbit{
      opacity:1;
      visibility:visible;
    }
    .hero-bim-hub--ai-story .hero-bim-ai-chat-orbit{
      opacity:0 !important;
      visibility:hidden !important;
    }
    .hero-bim-ai-chat-bubble{
      position:absolute;
      max-width:min(46%,148px);
      padding:7px 10px 8px;
      border-radius:14px;
      background:linear-gradient(165deg,rgba(255,255,255,.98) 0%,rgba(248,250,252,.96) 100%);
      border:1px solid rgba(99,102,241,.38);
      box-shadow:
        0 0 0 1px rgba(255,255,255,.75) inset,
        0 10px 28px rgba(15,23,42,.14),
        0 0 20px rgba(99,102,241,.12);
      font-size:9.5px;
      line-height:1.38;
      color:#1e293b;
      font-family:'Baloo 2',system-ui,sans-serif;
      opacity:0;
      transform:translate3d(0,10px,0) scale(.94);
      transition:opacity .45s ease,transform .5s cubic-bezier(.2,.8,.2,1);
    }
    .hero-bim-hub:has(.hero-bim-concept[data-viz="ai"]:hover) .hero-bim-ai-chat-bubble,
    .hero-bim-hub:has(.hero-bim-concept[data-viz="ai"]:focus-within) .hero-bim-ai-chat-bubble{
      opacity:1;
      transform:translate3d(0,0,0) scale(1);
    }
    .hero-bim-ai-chat-bubble:nth-child(1){transition-delay:0ms;}
    .hero-bim-ai-chat-bubble:nth-child(2){transition-delay:75ms;}
    .hero-bim-ai-chat-bubble:nth-child(3){transition-delay:150ms;}
    .hero-bim-ai-chat-bubble:nth-child(4){transition-delay:220ms;}
    .hero-bim-ai-chat-bubble--nw{top:7%;left:3%;}
    .hero-bim-ai-chat-bubble--ne{top:9%;right:3%;left:auto;}
    .hero-bim-ai-chat-bubble--sw{bottom:12%;left:4%;}
    .hero-bim-ai-chat-bubble--se{bottom:10%;right:4%;left:auto;}
    .hero-bim-ai-chat-bubble::after{
      content:'';
      position:absolute;
      width:0;height:0;
      border:7px solid transparent;
    }
    .hero-bim-ai-chat-bubble--nw::after{
      left:14px;bottom:-12px;
      border-top-color:rgba(99,102,241,.32);
      border-bottom:none;
    }
    .hero-bim-ai-chat-bubble--ne::after{
      right:14px;bottom:-12px;
      border-top-color:rgba(99,102,241,.32);
      border-bottom:none;
    }
    .hero-bim-ai-chat-bubble--sw::after{
      left:16px;top:-12px;
      border-bottom-color:rgba(99,102,241,.32);
      border-top:none;
    }
    .hero-bim-ai-chat-bubble--se::after{
      right:16px;top:-12px;
      border-bottom-color:rgba(99,102,241,.32);
      border-top:none;
    }
    .hero-bim-ai-chat-bubble__inner{
      display:block;
      background:transparent;
      border:0;
      padding:0;
      color:inherit;
      font-weight:700;
      font-variant-ligatures:none;
      animation:heroBimAiChatFloat 2.6s ease-in-out infinite;
    }
    .hero-bim-ai-chat-bubble:nth-child(2) .hero-bim-ai-chat-bubble__inner{animation-delay:.35s;}
    .hero-bim-ai-chat-bubble:nth-child(3) .hero-bim-ai-chat-bubble__inner{animation-delay:.7s;}
    .hero-bim-ai-chat-bubble:nth-child(4) .hero-bim-ai-chat-bubble__inner{animation-delay:1.05s;}
    @keyframes heroBimAiChatFloat{
      0%,100%{transform:translate3d(0,0,0);}
      50%{transform:translate3d(0,-3px,0);}
    }
    @media (prefers-reduced-motion:reduce){
      .hero-bim-ai-chat-bubble__inner{animation:none;}
      .hero-bim-ai-chat-bubble{transition-duration:.15s;}
    }
    .hero-bim-float{
      position:absolute;
      opacity:0;
      transform:translate3d(0,8px,0) scale(.96);
      transition:opacity .35s ease,transform .4s cubic-bezier(.2,.8,.2,1);
      max-width:min(46%,150px);
    }
    .hero-bim-hub:has(.hero-bim-concept[data-viz="live"]:hover) .hero-bim-float--live,
    .hero-bim-hub:has(.hero-bim-concept[data-viz="live"]:focus-within) .hero-bim-float--live{
      opacity:1;
      transform:translate3d(0,0,0) scale(1);
    }
    /* BI: no tarjeta flotante “BI · dirección” al pasar el chip (sólo sinapsis + partículas → gráficas). */
    .hero-bim-hub:has(.hero-bim-concept[data-viz="bi"]:hover) .hero-bim-float--bi,
    .hero-bim-hub:has(.hero-bim-concept[data-viz="bi"]:focus-within) .hero-bim-float--bi{
      opacity:0 !important;
      visibility:hidden !important;
      pointer-events:none !important;
      transform:translate3d(0,10px,0) scale(.94) !important;
    }
    /* Tablero ejecutivo / órbita BI: sin panel blanco — sólo capa de órbita para stacking; el shell va oculto. */
    .hero-bim-hub:has(.hero-bim-concept[data-viz="bi"]:hover) .hero-bim-bi-orbit,
    .hero-bim-hub:has(.hero-bim-concept[data-viz="bi"]:focus-within) .hero-bim-bi-orbit{
      opacity:0;
    }
    .hero-bim-bi-orbit{
      position:absolute;
      inset:0;
      z-index:1;
      pointer-events:none;
      opacity:0;
      transition:opacity .4s ease;
    }
    .hero-bim-bi-orbit__shell{
      display:none;
      flex-direction:column;
      gap:0;
      align-items:stretch;
      min-width:0;
    }
    .hero-bim-hub:has(.hero-bim-concept[data-viz="bi"]:is(:hover,:focus-within)) .hero-bim-bi-orbit__shell{
      display:none !important;
    }
    .hero-bim-hub--bi-dashboard .hero-bim-bi-orbit{
      pointer-events:auto;
      inset:auto;
      left:auto;
      right:8px;
      top:14px;
      /* Nunca más ancho que el visor (54% + bordes recortaba a la derecha en columnas estrechas) */
      width:min(272px, calc(100% - 16px));
      max-width:calc(100% - 16px);
      /* No superar la caja del visor: 56vh solía dejar el panel bajo el HUD 4D */
      max-height:min(64vh, 360px, calc(100% - 14px));
      overflow-x:hidden;
      overflow-y:hidden;
      overscroll-behavior:contain;
      padding:12px 10px 14px;
      border-radius:14px;
      background:rgba(255,255,255,.985);
      border:1px solid rgba(245,158,11,.28);
      box-shadow:0 12px 32px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.95);
      z-index:4;
      display:flex;
      flex-direction:column;
      gap:0;
      align-items:stretch;
      transition:box-shadow .45s ease, transform .5s cubic-bezier(.2,.8,.2,1);
      animation:heroBimBiDashPanel .55s cubic-bezier(.2,.8,.2,1) both;
    }
    .hero-bim-hub--bi-dashboard .hero-bim-bi-orbit__shell{
      display:flex;
      flex-direction:column;
      flex:1;
      min-height:0;
      overflow:hidden;
      isolation:isolate;
    }
    @keyframes heroBimBiDashPanel{
      from{
        opacity:.88;
        transform:translate3d(12px,-6px,0) scale(.97);
      }
      to{
        opacity:1;
        transform:translate3d(0,0,0) scale(1);
      }
    }
    .hero-bim-hub--bi-dashboard .hero-bim-bi-orbit__dash-head{
      display:block;
      flex-shrink:0;
      padding-bottom:8px;
      margin-bottom:2px;
      border-bottom:1px solid rgba(15,23,42,.1);
    }
    .hero-bim-bi-orbit__dash-title{
      display:block;
      font-size:10px;
      font-weight:900;
      letter-spacing:.06em;
      text-transform:uppercase;
      color:#0f172a;
    }
    .hero-bim-bi-orbit__dash-sub{
      display:block;
      margin-top:2px;
      font-size:8px;
      font-weight:600;
      color:rgba(15,23,42,.55);
    }
    .hero-bim-bi-orbit__metrics{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:8px;
      margin-top:4px;
      padding-top:4px;
      flex:1 1 auto;
      min-height:0;
      align-content:start;
      overflow-x:hidden;
      overflow-y:auto;
      overscroll-behavior:contain;
      scrollbar-width:thin;
      scrollbar-color:rgba(148,163,184,.45) rgba(15,23,42,.06);
      scrollbar-gutter:stable;
    }
    .hero-bim-hub--bi-dashboard .hero-bim-bi-orbit__metrics{
      gap:9px;
    }
    .hero-bi-dash-cell{
      display:flex;
      flex-direction:column;
      gap:5px;
      justify-content:flex-start;
      padding:9px 9px 10px;
      border-radius:10px;
      background:rgba(255,255,255,.98);
      border:1px solid rgba(15,23,42,.1);
      font-family:'Baloo 2',system-ui,sans-serif;
      color:#0f172a;
      min-width:0;
      min-height:52px;
      overflow:hidden;
      position:relative;
      z-index:0;
    }
    .hero-bim-hub--bi-dashboard .hero-bi-dash-cell{
      padding:10px 10px 11px;
      gap:6px;
      min-height:54px;
    }
    .hero-bi-dash-cell--wide{
      grid-column:1 / -1;
    }
    .hero-bi-dash-cell--note{
      grid-column:1 / -1;
      padding-top:7px;
    }
    .hero-bi-dash-cell__v{
      display:block;
      font-size:13px;
      font-weight:800;
      font-variant-numeric:tabular-nums;
      letter-spacing:-.02em;
      line-height:1.28;
      padding-top:1px;
      color:#0f172a;
    }
    .hero-bi-dash-cell__k{
      display:block;
      margin-top:0;
      font-size:7.5px;
      font-weight:700;
      letter-spacing:.05em;
      text-transform:uppercase;
      color:rgba(15,23,42,.55);
      line-height:1.35;
    }
    .hero-bi-dash-cell__sub{
      display:block;
      margin-top:2px;
      font-size:8px;
      font-weight:600;
      line-height:1.35;
      color:rgba(15,23,42,.62);
    }
    .hero-bi-dash-cell__note{
      margin:4px 0 0;
      font-size:8px;
      line-height:1.45;
      color:#475569;
      font-weight:500;
    }
    /* Texto largo del demo: limita altura para que el panel no “explote” ni recorte raro */
    .hero-bim-bi-orbit__metrics .hero-bi-dash-cell--note .hero-bi-dash-cell__note{
      display:-webkit-box;
      -webkit-box-orient:vertical;
      -webkit-line-clamp:4;
      overflow:hidden;
    }
    .hero-bi-dash-cell__spark{
      display:block;
      width:100%;
      height:20px;
      margin-top:4px;
    }
    .hero-bi-dash-cell__area{
      display:block;
      width:100%;
      height:22px;
      margin-top:4px;
    }
    .hero-bi-dash-cell__bars{
      display:flex;
      align-items:flex-end;
      justify-content:center;
      gap:3px;
      height:18px;
      margin-top:4px;
    }
    .hero-bi-dash-cell__bars span{
      flex:1;
      max-width:12px;
      border-radius:3px 3px 1px 1px;
      background:linear-gradient(180deg,#93c5fd,#2563eb);
      opacity:.92;
    }
    .hero-bi-dash-cell__bars span:nth-child(1){height:42%;}
    .hero-bi-dash-cell__bars span:nth-child(2){height:68%;}
    .hero-bi-dash-cell__bars span:nth-child(3){height:55%;}
    .hero-bi-dash-cell__bars span:nth-child(4){height:88%;}
    .hero-bi-dash-cell__donuts{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:4px;
      margin-top:4px;
    }
    .hero-bi-dash-cell__donut{
      width:22px;
      height:22px;
      border-radius:50%;
      position:relative;
      background:conic-gradient(
        #2563eb 0deg calc(var(--p,50) * 3.6deg),
        #dbeafe calc(var(--p,50) * 3.6deg) 360deg
      );
    }
    .hero-bi-dash-cell__donut::after{
      content:'';
      position:absolute;
      left:50%;
      top:50%;
      width:54%;
      height:54%;
      margin:-27% 0 0 -27%;
      border-radius:50%;
      background:#fff;
      box-shadow:inset 0 0 0 1px rgba(37,99,235,.12);
    }
    @media (max-width:420px){
      .hero-bim-bi-orbit__metrics{grid-template-columns:1fr;}
      .hero-bi-dash-cell--wide{grid-column:1;}
    }
    .hero-bim-hub--bi-dashboard .hero-bim-bi-orbit__metrics::-webkit-scrollbar,
    .hero-bim-hub:has(.hero-bim-concept[data-viz="bi"]:is(:hover,:focus-within)):not(.hero-bim-hub--bi-dashboard) .hero-bim-bi-orbit__metrics::-webkit-scrollbar{
      width:5px;
      height:5px;
    }
    .hero-bim-hub--bi-dashboard .hero-bim-bi-orbit__metrics::-webkit-scrollbar-track,
    .hero-bim-hub:has(.hero-bim-concept[data-viz="bi"]:is(:hover,:focus-within)):not(.hero-bim-hub--bi-dashboard) .hero-bim-bi-orbit__metrics::-webkit-scrollbar-track{
      background:rgba(15,23,42,.05);
      border-radius:8px;
    }
    .hero-bim-hub--bi-dashboard .hero-bim-bi-orbit__metrics::-webkit-scrollbar-thumb,
    .hero-bim-hub:has(.hero-bim-concept[data-viz="bi"]:is(:hover,:focus-within)):not(.hero-bim-hub--bi-dashboard) .hero-bim-bi-orbit__metrics::-webkit-scrollbar-thumb{
      background:rgba(100,116,139,.55);
      border-radius:8px;
      border:2px solid transparent;
      background-clip:padding-box;
    }
    .hero-bim-bi-donut{
      width:32px;
      height:32px;
      border-radius:50%;
      margin:0 auto 3px;
      position:relative;
      background:conic-gradient(
        #2563eb 0deg calc(var(--p,50) * 3.6deg),
        #dbeafe calc(var(--p,50) * 3.6deg) 360deg
      );
    }
    .hero-bim-bi-donut::after{
      content:'';
      position:absolute;
      left:50%;
      top:50%;
      width:54%;
      height:54%;
      margin:-27% 0 0 -27%;
      border-radius:50%;
      background:#fff;
      box-shadow:inset 0 0 0 1px rgba(37,99,235,.12);
    }
    .hero-bim-bi-kpis--donuts{
      grid-template-columns:repeat(3,minmax(0,1fr));
      align-items:start;
    }
    .hero-bim-bi-kpis--donuts .hero-bim-bi-kpi{
      text-align:center;
    }
    .hero-bim-bi-kpis--donuts .hero-bim-bi-kpi strong{
      font-size:10px;
      margin-top:2px;
    }
    .hero-bim-float--live{top:10px;right:10px;left:auto;}
    .hero-bim-float--bi{
      bottom:40px;right:10px;left:auto;top:auto;
      max-width:min(58%,216px);
    }
    .hero-bim-float__card{
      padding:8px 10px;
      border-radius:12px;
      border:1px solid rgba(15,23,42,.12);
      background:#fff;
      backdrop-filter:none;
      box-shadow:0 10px 28px rgba(15,23,42,.1);
      font-size:10px;
      line-height:1.35;
      color:#0f172a;
      font-family:'Baloo 2',system-ui,sans-serif;
    }
    .hero-bim-float__tag{
      display:inline-block;
      font-weight:800;
      letter-spacing:.08em;
      font-size:9px;
      color:#0f172a;
      margin-bottom:6px;
    }
    .hero-bim-float__cap{
      display:block;
      margin-top:4px;
      font-size:9px;
      color:rgba(15,23,42,.62);
    }
    .hero-bim-float--live .hero-bim-float__card{border-color:rgba(59,130,246,.38);}
    .hero-bim-kpi-donuts{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:6px;
      height:44px;
      margin:6px 0 4px;
    }
    .hero-bim-kpi-donut{
      flex:1;
      aspect-ratio:1;
      max-width:40px;
      margin:0 auto;
      border-radius:50%;
      position:relative;
      background:conic-gradient(
        #2563eb 0deg calc(var(--p,50) * 3.6deg),
        #dbeafe calc(var(--p,50) * 3.6deg) 360deg
      );
      animation:heroBimDonutPulse 1.5s ease-in-out infinite alternate;
    }
    .hero-bim-kpi-donut::after{
      content:'';
      position:absolute;
      left:50%;
      top:50%;
      width:52%;
      height:52%;
      margin:-26% 0 0 -26%;
      border-radius:50%;
      background:#fff;
      box-shadow:inset 0 0 0 1px rgba(37,99,235,.12);
    }
    .hero-bim-kpi-donut:nth-child(2){animation-delay:.2s;}
    .hero-bim-kpi-donut:nth-child(3){animation-delay:.4s;}
    @keyframes heroBimDonutPulse{
      0%{filter:brightness(.92);}
      100%{filter:brightness(1.08);}
    }
    .hero-bim-live-nums{
      display:flex;
      justify-content:space-between;
      font-weight:800;
      font-variant-numeric:tabular-nums;
      font-size:11px;
      color:#1d4ed8;
    }
    .hero-bim-live-nums span:last-child{font-size:10px;color:rgba(29,78,216,.72);}
    .hero-bim-float--bi .hero-bim-float__card{border-color:rgba(245,158,11,.35);}
    .hero-bim-float__card--bi{
      padding:10px 10px 8px;
      background:#fff;
    }
    .hero-bim-bi-top{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:6px;
      margin-bottom:6px;
    }
    .hero-bim-bi-pulse{
      display:inline-flex;
      align-items:center;
      gap:4px;
      font-size:7px;
      font-weight:800;
      letter-spacing:.06em;
      text-transform:uppercase;
      color:#047857;
    }
    .hero-bim-bi-pulse__dot{
      width:6px;
      height:6px;
      border-radius:50%;
      background:#34d399;
      box-shadow:0 0 0 2px rgba(52,211,153,.35);
      animation:heroBimBiDotPulse 1.8s ease-in-out infinite;
    }
    @keyframes heroBimBiDotPulse{
      0%,100%{opacity:1;transform:scale(1);}
      50%{opacity:.75;transform:scale(.88);}
    }
    .hero-bim-bi-hero{
      display:grid;
      gap:2px;
      margin-bottom:6px;
    }
    .hero-bim-bi-hero__n{
      font-size:clamp(19px,5.5vw,24px);
      font-weight:900;
      line-height:1;
      letter-spacing:-.03em;
      font-variant-numeric:tabular-nums;
      color:#0f172a;
    }
    .hero-bim-bi-hero__sub{
      font-size:8px;
      font-weight:700;
      line-height:1.25;
      color:rgba(15,23,42,.72);
      letter-spacing:.02em;
    }
    .hero-bim-bi-chart{
      width:100%;
      height:34px;
      display:block;
      margin:2px 0 6px;
      overflow:visible;
    }
    .hero-bim-bi-area{opacity:.85;}
    .hero-bim-bi-plan{
      fill:none;
      stroke:rgba(148,163,184,.45);
      stroke-width:1.1;
      stroke-dasharray:3 3;
      stroke-linecap:round;
    }
    .hero-bim-bi-line{
      fill:none;
      stroke:url(#heroBiLineGrad);
      stroke-width:2.15;
      stroke-linecap:round;
      stroke-linejoin:round;
      filter:drop-shadow(0 0 5px rgba(251,191,36,.45));
      stroke-dasharray:140;
      stroke-dashoffset:140;
      transition:stroke-dashoffset .35s ease;
    }
    .hero-bim-hub:has(.hero-bim-concept[data-viz="bi"]:hover) .hero-bim-bi-line,
    .hero-bim-hub:has(.hero-bim-concept[data-viz="bi"]:focus-within) .hero-bim-bi-line{
      animation:heroBimBiLineDraw 1.15s cubic-bezier(.2,.8,.2,1) forwards;
    }
    @keyframes heroBimBiLineDraw{to{stroke-dashoffset:0;}}
    .hero-bim-bi-kpis{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:4px;
      margin-top:2px;
      padding-top:6px;
      border-top:1px solid rgba(15,23,42,.1);
    }
    .hero-bim-bi-kpi{
      text-align:center;
      display:grid;
      gap:1px;
    }
    .hero-bim-bi-kpi strong{
      font-size:11px;
      font-weight:900;
      font-variant-numeric:tabular-nums;
      color:#0f172a;
      line-height:1.1;
    }
    .hero-bim-bi-kpi small{
      font-size:6.5px;
      font-weight:700;
      line-height:1.2;
      color:rgba(15,23,42,.55);
      text-transform:uppercase;
      letter-spacing:.04em;
    }
    @media (prefers-reduced-motion:reduce){
      .hero-bim-live-flow{display:none !important;}
      .hero-bim-hub:has(.hero-bim-concept[data-viz="live"]:hover) .hero-bim-4d-hud__charts,
      .hero-bim-hub:has(.hero-bim-concept[data-viz="live"]:focus-within) .hero-bim-4d-hud__charts,
      .hero-bim-hub:has(.hero-bim-concept[data-viz="live"]:hover) .hero-bim-float--bi .hero-bim-float__card,
      .hero-bim-hub:has(.hero-bim-concept[data-viz="live"]:focus-within) .hero-bim-float--bi .hero-bim-float__card{animation:none !important;}
      .hero-bim-kpi-donut{animation:none !important;}
      .hero-bim-bi-pulse__dot{animation:none !important;}
      .hero-bim-hub:has(.hero-bim-concept[data-viz="bi"]:hover) .hero-bim-bi-line,
      .hero-bim-hub:has(.hero-bim-concept[data-viz="bi"]:focus-within) .hero-bim-bi-line{animation:none !important;stroke-dashoffset:0;}
      .hero-bim-bi-orbit__shell{animation:none !important;}
      .hero-bim-hub--bi-dashboard .hero-bim-bi-orbit{animation:none !important;}
      .hero-bim-synapse-path,
      .hero-bim-synapse-node{animation:none !important;}
    }
    .hero-bim-preview__static{
      margin:0;
      padding:20px 14px;
      font-size:13px;
      color:rgba(226,232,240,.72);
      line-height:1.5;
    }
    .signal-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
    }
    .signal-screen--simple{
      margin-top:8px;
    }
    .signal-intro{
      color:rgba(226,232,240,.78);
      font-size:14px;
      line-height:1.7;
    }
    .signal-tags{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:10px;
      margin-top:14px;
    }
    .signal-tag{
      padding:12px;
      border-radius:16px;
      background:rgba(255,255,255,.03);
      border:1px solid rgba(246,168,104,.22);
      color:#fff;
      font-size:13px;
      line-height:1.5;
      text-align:left;
    }
    .signal-tag strong{
      display:block;
      font-family:'Baloo 2',system-ui,sans-serif;
      font-size:16px;
      margin-bottom:4px;
    }
    .signal-card{
      padding:18px;
      min-height:200px;
    }
    .signal-card h3,
    .system-card h3,
    .segment-card h3,
    .value-card h3,
    .living-grid h3,
    .micro-card h3{
      font-family:'Baloo 2',system-ui,sans-serif;
      font-size:17px;
      color:#fff;
      line-height:1.08;
      margin-bottom:10px;
    }
    .signal-card p,
    .system-card p,
    .segment-card p,
    .value-card p,
    .living-grid p,
    .micro-card p{
      color:rgba(226,232,240,.72);
      font-size:14px;
      line-height:1.7;
    }
    .signal-screen{
      margin-top:16px;
      padding:16px;
      border-radius:20px;
      border:1px solid rgba(255,255,255,.08);
      background:rgba(255,255,255,.04);
      display:grid;
      gap:14px;
    }
    .signal-bars{display:grid;gap:10px}
    .signal-bar{
      display:grid;
      gap:6px;
    }
    .signal-bar-head{
      display:flex;
      justify-content:space-between;
      gap:10px;
      color:#dbeafe;
      font-size:12px;
      letter-spacing:.02em;
    }
    .signal-bar-track{
      height:10px;
      border-radius:999px;
      background:rgba(255,255,255,.08);
      overflow:hidden;
    }
    .signal-bar-track span{
      display:block;
      height:100%;
      border-radius:inherit;
      background:linear-gradient(90deg,var(--sky),var(--brand));
      box-shadow:0 0 20px rgba(102,200,255,.28);
    }
    .signal-timeline{display:grid;gap:10px;margin-top:10px}
    .signal-timeline li{
      list-style:none;
      display:grid;
      grid-template-columns:auto 1fr;
      gap:10px;
      align-items:flex-start;
      color:rgba(255,255,255,.8);
      font-size:13px;
      line-height:1.55;
    }
    .signal-timeline li::before{
      content:"";
      width:10px;
      height:10px;
      border-radius:50%;
      margin-top:4px;
      background:linear-gradient(135deg,var(--brand),#ffe0c1);
      box-shadow:0 0 18px rgba(246,168,104,.3);
    }
    .mini-stack{display:grid;gap:12px}
    .micro-card{padding:16px 16px 18px;border-radius:22px}
    .micro-card ul{display:grid;gap:10px;margin-top:14px}
    .micro-card li{list-style:none;color:#dbeafe;font-size:13px;line-height:1.55}

    /* =========================
       SEGMENTATION
       ========================= */
    .segment-grid,
    .value-grid,
    .living-grid,
    .final-grid{
      display:grid;
      gap:18px;
    }
    .segment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .segment-card{
      padding:26px;
      display:grid;
      gap:18px;
      min-height:100%;
    }
    .segment-label{
      display:inline-flex;
      width:max-content;
      padding:8px 12px;
      border-radius:999px;
      background:var(--accent-grad-soft);
      border:1.5px solid var(--accent-border-strong);
      color:var(--accent-text);
      font-size:12px;
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:.08em;
      box-shadow:inset 0 1px 0 rgba(255,214,180,.12);
    }
    .segment-label--long{
      width:100%;
      max-width:100%;
      white-space:normal;
      line-height:1.35;
      text-transform:none;
      letter-spacing:.03em;
    }
    .segment-copy{display:grid;gap:12px}
    .segment-copy strong{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
    .segment-copy p span{color:#fff;font-weight:700}
    .segment-card .action{margin-top:auto;width:max-content}

    /* =========================
       SYSTEM EXPLANATION
       ========================= */
    .system-shell{
      display:grid;
      grid-template-columns:1.08fr .92fr;
      gap:22px;
      align-items:start;
    }
    .system-intro{
      padding:30px;
      display:grid;
      gap:18px;
    }
    .system-story{
      display:grid;
      gap:18px;
    }
    .system-note{
      padding:18px 20px;
      border-left:2px solid rgba(102,200,255,.5);
      background:rgba(255,255,255,.03);
      border-radius:18px;
      color:rgba(241,245,249,.82);
      line-height:1.75;
    }
    .value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .value-card{padding:22px;border-radius:22px}
    .value-card h3{display:flex;align-items:center;gap:10px}
    .value-card h3::before{
      content:"";
      width:12px;
      height:12px;
      border-radius:50%;
      background:linear-gradient(135deg,var(--sky),var(--brand));
      box-shadow:0 0 18px rgba(102,200,255,.25);
      flex:none;
    }

    /* =========================
       WHAT WE DO
       ========================= */
    .services-grid{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:16px;
    }
    .service-card{
      padding:24px;
      border-radius:24px;
    }
    .service-card h3{
      font-family:'Baloo 2',system-ui,sans-serif;
      font-size:18px;
      line-height:1.05;
      color:#fff;
      margin-bottom:10px;
    }
    .service-card p{
      color:rgba(226,232,240,.76);
      font-size:14px;
      line-height:1.7;
    }
    a.service-card--cta{
      display:block;
      text-decoration:none;
      color:inherit;
      cursor:pointer;
      transition:border-color .22s ease, box-shadow .22s ease, transform .18s ease;
    }
    a.service-card--cta:hover{
      border-color:rgba(102,200,255,.42);
      box-shadow:0 22px 48px rgba(2,8,23,.34), 0 0 0 1px rgba(102,200,255,.12);
      transform:translateY(-2px);
    }
    a.service-card--cta:focus-visible{
      outline:2px solid rgba(102,200,255,.85);
      outline-offset:3px;
    }
    a.service-card--cta h3,
    a.service-card--cta p{
      text-decoration:none;
    }
    /* Tarjeta “Software y plugins”: CTA principal + fila de enlaces al pasar el cursor (o focus/teclado). */
    .service-card.service-card--hover-actions{
      display:flex;
      flex-direction:column;
      overflow:visible;
      transition:border-color .22s ease, box-shadow .22s ease, transform .18s ease;
    }
    a.service-card__lead{
      display:block;
      flex:1 1 auto;
      text-decoration:none;
      color:inherit;
      cursor:pointer;
      transition:border-color .22s ease, box-shadow .22s ease, transform .18s ease;
    }
    a.service-card__lead h3,
    a.service-card__lead p{
      text-decoration:none;
    }
    .service-card--hover-actions:hover,
    .service-card--hover-actions:focus-within{
      border-color:rgba(102,200,255,.42);
      box-shadow:0 22px 48px rgba(2,8,23,.34), 0 0 0 1px rgba(102,200,255,.12);
      transform:translateY(-2px);
    }
    a.service-card__lead:focus-visible{
      outline:2px solid rgba(102,200,255,.85);
      outline-offset:3px;
      border-radius:12px;
    }
    .service-card__reveal-actions{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      max-height:0;
      opacity:0;
      margin-top:0;
      overflow:hidden;
      pointer-events:none;
      transition:max-height .32s ease, opacity .24s ease, margin-top .24s ease;
    }
    .service-card__reveal-actions .btn--service-row{
      min-height:48px;
      padding:12px 18px;
      font-size:14px;
      border-radius:14px;
    }
    @media (hover:hover) and (pointer:fine){
      .service-card--hover-actions:hover .service-card__reveal-actions,
      .service-card--hover-actions:focus-within .service-card__reveal-actions{
        max-height:220px;
        opacity:1;
        margin-top:14px;
        pointer-events:auto;
      }
    }
    @media (hover:none), (pointer:coarse){
      .service-card__reveal-actions{
        max-height:220px;
        opacity:1;
        margin-top:14px;
        pointer-events:auto;
      }
    }

    /* =========================
       Ü SECTION
       ========================= */
    /** Aire bajo el formulario Ü (Comunidad va encima; esto evita pegar al footer). */
    .consultoria-section{
      padding-bottom:clamp(104px,14vh,200px);
    }
    /**
     * Solución → Ü: separación moderada. Un hueco muy alto (solo estrellas + scroll del canvas)
     * desincroniza la sensación respecto a las tarjetas; mantener la cabecera de Ü más cerca del cierre de la sección anterior.
     */
    #solucion + #ia-con-u{
      padding-top:clamp(28px,4.5vh,64px);
    }
    /* IA con Ü: sin animación scrollfx — visible y nítido desde el primer paint */
    #ia-con-u,
    #ia-con-u .consultoria-shell,
    #ia-con-u .consultoria-grid,
    #ia-con-u .consultoria-shell > .section-header,
    #ia-con-u .consultoria-grid > *,
    #story-hero,
    #story-hero .story-hero__content,
    #story-chaos,
    #story-chaos .story-chaos__layout,
    #story-cost,
    #story-cost .story-cost__content,
    #story-bim-scroll,
    #story-bim-scroll .story-bim-scroll__pin,
    #story-bim-scroll .story-bim-scroll__fallback-scene,
    #story-platform,
    #segmentos,
    #segmentos .segment-grid,
    #segmentos .container > .section-header,
    #solucion,
    #solucion .value-grid,
    #solucion .system-shell,
    #story-platform .consultoria-shell,
    #story-platform .story-platform__grid,
    #story-platform .section-header,
    #story-platform .story-platform__card,
    #story-cta,
    #story-cta .story-cta__content{
      opacity:1;
      filter:none;
      transform:none;
      transform-style:flat;
      transition:none;
      visibility:visible;
    }
    #story-platform .story-platform__card{
      opacity:1;
      transform:none;
    }
    /* Canvas BIM: visibilidad la controla rum_scroll_story (.is-bim-live / fallback) */
    #story-bim-scroll .story-bim-scroll__canvas{
      opacity:0;
      visibility:hidden;
    }
    #story-bim-scroll.is-bim-live .story-bim-scroll__canvas{
      opacity:1;
      visibility:visible;
    }
    main.story-wrap{
      perspective:none !important;
      transform:none !important;
      transform-style:flat !important;
    }
    /*
     * Nitidez en “Solución”: .scrollfx aplica blur(8px) al section y translateZ en hijos;
     * en algunos DPI/GPU el texto queda borroso. Mismo enfoque que #ia-con-u.
     */
    #solucion.scrollfx{
      filter:none !important;
      transform-style:flat;
    }
    #solucion.scrollfx.is-in{
      transform:translate3d(0,0,0) scale(1) !important;
    }
    #solucion.scrollfx .system-shell,
    #solucion.scrollfx .value-grid{
      transform-style:flat;
    }
    #solucion.scrollfx.is-in .value-grid > *,
    #solucion.scrollfx.is-in .system-shell > .system-intro{
      transform:none !important;
    }
    @media (max-width:768px){
      #solucion.scrollfx:not(.is-in){
        filter:none !important;
      }
    }
    /*
     * Nitidez en “Segmentos” (tres tarjetas): mismo .scrollfx blur + capas 3D.
     */
    #segmentos.scrollfx{
      filter:none !important;
      transform-style:flat;
    }
    #segmentos.scrollfx.is-in{
      transform:translate3d(0,0,0) scale(1) !important;
    }
    #segmentos.scrollfx .container,
    #segmentos.scrollfx .segment-grid{
      transform-style:flat;
    }
    #segmentos.scrollfx.is-in .segment-grid > *,
    #segmentos.scrollfx.is-in .container > .section-header{
      transform:none !important;
    }
    @media (max-width:768px){
      #segmentos.scrollfx:not(.is-in){
        filter:none !important;
      }
    }
    /** Titular IA con Ü: una línea en desktop, tipografía más contenida. */
    .section-title--ia-u-hero{
      font-size:clamp(15px,1.55vw,24px) !important;
      line-height:1.2;
      letter-spacing:.01em;
      max-width:100%;
    }
    @media (min-width:900px){
      .section-title--ia-u-hero{
        white-space:nowrap;
      }
    }
    .consultoria-shell{
      width:calc(100% - 72px);
      max-width:none;
      margin:0 auto;
    }
    .consultoria-grid{
      display:grid;
      grid-template-columns:minmax(0,1.55fr) minmax(240px,.5fr);
      gap:28px;
      align-items:start;
    }
    .u-chat-card{
      background:var(--panel-bg);
      border:1.5px solid var(--panel-border);
      border-radius:28px;
      padding:32px 36px 40px;
      color:var(--text);
      box-shadow:0 18px 40px rgba(2,8,23,.28), var(--card-inset);
    }
    .u-chat-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom:12px;
    }
    .u-chat-head h3{
      font-size:clamp(22px,2.3vw,30px);
      line-height:1.05;
      font-family:'Baloo 2',system-ui,sans-serif;
      color:#fff;
    }
    .u-status-pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 12px;
      border-radius:999px;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.12);
      color:rgba(241,245,249,.88);
      font-size:12px;
      font-weight:700;
      white-space:nowrap;
    }
    .u-status-pill::before{
      content:"";
      width:8px;
      height:8px;
      border-radius:50%;
      background:linear-gradient(135deg,var(--brand),#ffd3a2);
      box-shadow:0 0 12px rgba(246,168,104,.45);
    }
    .u-chat-copy{
      color:rgba(226,232,240,.78);
      line-height:1.75;
      margin-bottom:16px;
    }
    .u-stepper{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 24px}
    .u-step-pill{
      border:1px solid rgba(255,255,255,.12);
      border-radius:999px;
      padding:8px 12px;
      font-size:12px;
      color:rgba(226,232,240,.72);
      background:rgba(255,255,255,.04);
      font-weight:700;
    }
    .u-step-pill.is-active{
      color:#fff;
      border-color:rgba(246,168,104,.45);
      background:rgba(246,168,104,.12);
    }
    .u-step{display:none}
    .u-step.is-active{display:block}
    .u-step-title{font-size:15px;font-weight:800;color:#fff;margin-bottom:12px}
    .u-step-sub{font-size:12px;color:rgba(226,232,240,.65);line-height:1.6;margin-bottom:14px}
    .u-step-panel{
      border:1px solid rgba(255,255,255,.1);
      border-radius:18px;
      background:rgba(6,10,22,.45);
      padding:22px 24px;
    }
    .u-step-divider{
      height:1px;
      margin:18px 0 14px;
      background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);
    }
    .u-step-title--secondary{
      font-size:14px;
      font-weight:800;
      color:rgba(248,250,252,.92);
      margin-top:4px;
    }
    .u-diag-processing{
      position:fixed;
      inset:0;
      z-index:12040;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:24px;
      background:rgba(2,6,23,.72);
      backdrop-filter:blur(6px);
    }
    .u-diag-processing__card{
      width:min(420px,100%);
      border-radius:var(--rum-radius-md,14px);
      padding:28px 24px;
      background:rgba(15,23,42,.94);
      border:1px solid rgba(56,189,248,.25);
      box-shadow:0 24px 64px rgba(0,0,0,.45),0 0 0 1px rgba(248,250,252,.06);
      text-align:center;
    }
    .u-diag-processing__orb{
      display:flex;
      justify-content:center;
      margin:0 auto 10px;
    }
    .u-diag-processing__orb .viewer-loader__portal-visual{
      margin-top:0;
      margin-bottom:4px;
    }
    .u-diag-processing__msg{
      font-size:14px;
      font-weight:600;
      color:#f8fafc;
      line-height:1.5;
      min-height:3.2em;
    }
    .u-diag-processing__bar{
      margin-top:18px;
      height:4px;
      border-radius:999px;
      background:rgba(148,163,184,.2);
      overflow:hidden;
    }
    .u-diag-processing--scan .u-diag-processing__bar-fill{
      animation-duration:2.85s;
    }
    .u-diag-processing__bar-fill{
      display:block;
      height:100%;
      width:38%;
      border-radius:999px;
      background:linear-gradient(
        90deg,
        rgba(59,130,246,.35),
        rgba(147,197,253,.95),
        rgba(191,219,254,.88),
        rgba(246,168,104,.92)
      );
      box-shadow:0 0 14px rgba(59,130,246,.28);
      animation:uDiagBar 2.1s ease-in-out infinite alternate;
    }
    @keyframes uDiagBar{from{transform:translateX(-15%)}to{transform:translateX(165%)}}
    @media (prefers-reduced-motion:reduce){
      .u-diag-processing__bar-fill{animation:none;transform:none;width:55%;opacity:.85}
    }
    .u-lead-panel{margin-bottom:16px}
    /* Modal centrado: captura correo al completar diagnóstico (paso final) */
    .u-lead-drawer{
      position:fixed;
      inset:0;
      z-index:12050;
      display:flex;
      justify-content:center;
      align-items:center;
      padding:max(16px, env(safe-area-inset-top, 0px))
        max(16px, env(safe-area-inset-right, 0px))
        max(20px, env(safe-area-inset-bottom, 0px))
        max(16px, env(safe-area-inset-left, 0px));
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      transition:opacity .22s ease,visibility .22s ease;
    }
    .u-lead-drawer.is-open{
      opacity:1;
      visibility:visible;
      pointer-events:auto;
    }
    .u-lead-drawer__backdrop{
      position:absolute;
      inset:0;
      background:rgba(2,3,10,.62);
      backdrop-filter:blur(3px);
      border:0;
      cursor:pointer;
    }
    .u-lead-drawer__panel{
      position:relative;
      z-index:1;
      width:min(480px, 100%);
      max-width:100%;
      max-height:min(88vh, 720px);
      margin:0;
      background:var(--bg-panel-strong);
      border-radius:20px;
      border:1px solid var(--accent-border-strong);
      box-shadow:
        0 24px 64px rgba(2,8,23,.55),
        0 0 0 1px rgba(255,255,255,.04);
      padding:28px 22px 32px;
      overflow-y:auto;
      -webkit-overflow-scrolling:touch;
      transform:translateY(16px) scale(0.98);
      opacity:0;
      transition:
        transform .3s cubic-bezier(.22,1,.36,1),
        opacity .26s ease;
    }
    .u-lead-drawer.is-open .u-lead-drawer__panel{
      transform:translateY(0) scale(1);
      opacity:1;
    }
    @media (prefers-reduced-motion:reduce){
      .u-lead-drawer__panel{
        transform:none;
        transition:opacity .12s ease;
      }
      .u-lead-drawer.is-open .u-lead-drawer__panel{transform:none}
    }
    .u-lead-drawer__close{
      position:absolute;
      top:14px;
      right:14px;
      width:38px;
      height:38px;
      border-radius:12px;
      border:1px solid rgba(255,255,255,.14);
      background:rgba(255,255,255,.06);
      color:rgba(241,245,249,.92);
      font-size:22px;
      line-height:1;
      cursor:pointer;
      display:flex;
      align-items:center;
      justify-content:center;
      transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
    }
    .u-lead-drawer__close:hover,
    .u-lead-drawer__close:focus-visible{
      transform:translateY(-2px);
      background:rgba(255,255,255,.1);
      border-color:rgba(246,168,104,.5);
      box-shadow:var(--rum-index-btn-hover-shadow);
    }
    .u-lead-drawer__title{
      font-size:18px;
      font-weight:800;
      color:#fff;
      line-height:1.35;
      padding-right:40px;
      margin-bottom:10px;
    }
    .u-lead-drawer__sub{
      font-size:13px;
      color:rgba(226,232,240,.72);
      line-height:1.6;
      margin-bottom:18px;
    }
    .u-result-upsell{
      margin-top:16px;
      padding-top:16px;
      border-top:1px solid rgba(255,255,255,.12);
    }
    .u-result-upsell__grid{
      display:grid;
      gap:14px;
      margin-top:10px;
    }
    @media (min-width:560px){
      .u-result-upsell__grid{grid-template-columns:1fr 1fr;align-items:start}
    }
    .u-result-upsell__block{
      border-radius:16px;
      padding:14px 14px 16px;
      border:1px solid rgba(255,255,255,.1);
      background:rgba(255,255,255,.03);
    }
    .u-result-upsell__head{
      font-size:11px;
      font-weight:800;
      letter-spacing:.06em;
      text-transform:uppercase;
      color:rgba(148,163,184,.95);
      margin-bottom:8px;
    }
    .u-result-upsell__text{
      font-size:13px;
      line-height:1.55;
      color:rgba(241,245,249,.88);
    }
    .u-premium-badge{
      display:inline-flex;
      align-items:center;
      gap:6px;
      margin-top:10px;
      padding:5px 10px;
      border-radius:999px;
      font-size:11px;
      font-weight:800;
      letter-spacing:.03em;
      background:var(--brand-soft);
      color:var(--accent-text);
      border:1px solid rgba(246,168,104,.35);
    }
    .u-chat-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
    /* Paso 5: estado y comentario a ancho completo; sliders en fila sin apretar el <select> */
    .u-chat-fields--diag-scale{
      gap:14px;
      grid-template-columns:1fr;
    }
    @media (min-width:640px){
      .u-chat-fields--diag-scale{
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:16px;
        row-gap:14px;
      }
      .u-chat-fields--diag-scale > .u-chat-field--full{
        grid-column:1 / -1;
      }
    }
    .u-chat-field{display:flex;flex-direction:column;gap:6px}
    .u-chat-field label{font-size:12px;color:rgba(226,232,240,.85);font-weight:700}
    .u-chat-fields--diag-scale .u-chat-field label{
      line-height:1.35;
      min-height:2.7em;
      display:flex;
      align-items:flex-end;
    }
    .u-chat-field input,
    .u-chat-field textarea,
    .u-chat-field select{
      width:100%;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.14);
      background:rgba(12,17,33,.85);
      color:var(--text);
      padding:11px 13px;
      outline:none;
      transition:border-color .2s ease,box-shadow .2s ease;
    }
    .u-chat-field select{
      cursor:pointer;
      appearance:none;
      -webkit-appearance:none;
      min-height:46px;
      font-size:14px;
      line-height:1.35;
      padding:12px 44px 12px 14px;
      border-color:rgba(255,255,255,.18);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='%23f6a868' d='M7 10l5 5 5-5H7z'/%3E%3C/svg%3E");
      background-repeat:no-repeat;
      background-position:right 12px center;
      background-size:16px 16px;
    }
    .u-chat-field input:focus,
    .u-chat-field textarea:focus,
    .u-chat-field select:focus,
    .u-other-program-wrap input:focus,
    .u-chat-inline-input input:focus{
      border-color:rgba(246,168,104,.45);
      box-shadow:0 0 0 3px var(--brand-soft);
    }
    .u-chat-field textarea{min-height:110px;resize:vertical;grid-column:1 / -1}
    .u-chat-field input[type="range"]{padding:0;border:0;background:transparent;accent-color:var(--brand);height:28px}
    /* Mín/máx arriba; valor dinámico abajo (evita solapamiento con texto largo) */
    .range-meta{
      display:grid;
      grid-template-columns:1fr auto 1fr;
      grid-template-rows:auto auto;
      row-gap:6px;
      column-gap:8px;
      margin-top:8px;
      font-size:12px;
      color:rgba(148,163,184,.85);
    }
    .range-meta > span:first-child{
      grid-column:1;
      grid-row:1;
      justify-self:start;
      font-size:11px;
      font-weight:800;
      letter-spacing:.06em;
      color:rgba(148,163,184,.72);
    }
    .range-meta > span:last-child{
      grid-column:3;
      grid-row:1;
      justify-self:end;
      font-size:11px;
      font-weight:800;
      letter-spacing:.06em;
      color:rgba(148,163,184,.72);
    }
    .range-value{
      grid-column:1 / -1;
      grid-row:2;
      justify-self:stretch;
      text-align:center;
      font-weight:800;
      color:#fff;
      font-size:13px;
      line-height:1.35;
      padding:2px 2px 0;
    }
    .u-branch-only{display:none;margin-top:6px}
    .u-branch-only.is-active{display:block}
    .u-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:10px}
    .u-check-item{
      display:flex;
      align-items:flex-start;
      gap:10px;
      padding:14px 16px;
      border:1px solid rgba(255,255,255,.1);
      border-radius:14px;
      background:rgba(255,255,255,.04);
      color:rgba(241,245,249,.92);
      font-size:14px;
      font-weight:600;
      line-height:1.4;
      transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
    }
    .u-check-item:hover{border-color:rgba(246,168,104,.35);box-shadow:0 12px 26px rgba(2,8,23,.35);transform:translateY(-1px)}
    .u-check-item input{accent-color:var(--brand);margin-top:2px}
    .u-step-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
    .u-other-program-wrap{
      margin-top:12px;
      display:none;
      border:1px solid rgba(246,168,104,.22);
      border-radius:14px;
      background:rgba(6,10,22,.55);
      padding:12px;
    }
    .u-other-program-wrap.is-visible{display:block}
    .u-other-program-wrap label{display:block;color:rgba(226,232,240,.9);font-weight:700;font-size:13px;margin-bottom:6px}
    .u-other-program-wrap input[type="text"]{
      width:100%;
      margin-top:8px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.14);
      background:rgba(12,17,33,.85);
      color:var(--text);
      padding:11px 13px;
      outline:none;
    }
    .u-chat-result{
      margin-top:16px;
      margin-bottom:4px;
      border-radius:18px;
      padding:14px 16px;
      background:rgba(6,10,22,.5);
      border:1px solid rgba(255,255,255,.1);
      color:rgba(241,245,249,.9);
      line-height:1.65;
      min-height:74px;
    }
    .u-result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
    .u-free-chat{
      margin-top:14px;
      border:1px solid rgba(255,255,255,.1);
      border-radius:18px;
      background:rgba(6,10,22,.45);
      padding:14px;
    }
    .u-chat-thread{
      margin:10px 0;
      border:1px solid rgba(255,255,255,.1);
      border-radius:14px;
      background:rgba(12,17,33,.65);
      padding:12px;
      display:grid;
      gap:8px;
      max-height:260px;
      overflow-y:auto;
    }
    .u-chat-bubble{border-radius:12px;padding:9px 11px;font-size:13px;line-height:1.5}
    .u-chat-bubble.user{background:rgba(59,130,246,.28);color:#dbeafe;border:1px solid rgba(96,165,250,.35)}
    .u-chat-bubble.assistant{background:rgba(15,23,42,.55);color:rgba(241,245,249,.92);border:1px solid rgba(148,163,184,.28)}
    .u-chat-inline-input{display:flex;gap:8px;align-items:center}
    .u-chat-inline-input input{flex:1;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:11px 13px;font-size:14px;background:rgba(12,17,33,.85);color:var(--text)}
    .u-side-panel{
      display:grid;
      gap:22px;
      position:sticky;
      top:110px;
    }
    .u-side-card{
      border-radius:24px;
      padding:18px;
    }
    .u-side-card h3{font-size:20px;line-height:1.15;margin-bottom:10px}
    .u-side-card p{color:rgba(226,232,240,.74);font-size:14px;line-height:1.7}
    .u-insight-list{display:grid;gap:10px;margin-top:16px}
    .u-insight-list li{
      list-style:none;
      padding:12px 14px;
      border-radius:16px;
      background:rgba(255,255,255,.03);
      border:1px solid rgba(246,168,104,.22);
      color:rgba(241,245,249,.84);
      font-size:13px;
      line-height:1.6;
    }
    .u-insight-list strong{display:block;color:#fff;margin-bottom:4px}
    /* =========================
       ECOSYSTEM
       ========================= */
    .living-grid{grid-template-columns:1.1fr .9fr}
    .living-grid article{padding:28px}
    .living-constellation{
      display:grid;
      gap:18px;
      align-content:start;
    }
    .living-orbs{
      display:grid;
      grid-template-columns:repeat(3,minmax(140px,1fr));
      gap:14px;
      margin-top:6px;
    }
    .living-orb{
      min-height:160px;
      border-radius:22px;
      border:1px solid rgba(255,255,255,.1);
      background:
        radial-gradient(circle at top, rgba(102,200,255,.22), transparent 46%),
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
      padding:18px;
      display:grid;
      align-content:end;
      gap:8px;
      transition:transform .25s ease, border-color .25s ease, background .25s ease;
    }
    .living-orb:hover{
      transform:translateY(-4px);
      border-color:rgba(246,168,104,.28);
      background:
        radial-gradient(circle at top, rgba(246,168,104,.22), transparent 46%),
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
    }
    .living-orb strong{font-size:17px;color:#fff}
    .living-orb span{font-size:13px;color:rgba(226,232,240,.74);line-height:1.55}
    .living-strip{
      display:grid;
      grid-template-columns:repeat(3,minmax(140px,1fr));
      gap:12px;
      margin-top:18px;
    }
    .living-strip div{
      padding:14px;
      border-radius:18px;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.08);
      color:rgba(241,245,249,.82);
      font-size:13px;
      line-height:1.55;
    }
    .rum-astro-float{
      position:fixed;
      inset:0;
      z-index:3;
      pointer-events:none;
      /* visible: la trayectoria cruza casi todo el viewport (antes overflow:hidden recortaba el sube) */
      overflow:visible;
      opacity:0;
      visibility:hidden;
      transition:opacity .65s ease, visibility .65s ease;
    }
    html.rum-index-astro-visible .rum-astro-float{
      opacity:1;
      visibility:visible;
    }
    .rum-astro-float__carry{
      position:absolute;
      left:0;
      bottom:max(8px, min(14dvh, 120px));
      will-change:transform;
      animation:rumAstroDiagonal 52s ease-in-out infinite alternate;
    }
    .rum-astro-float__img{
      width:min(420px,45vw);
      max-width:520px;
      height:auto;
      display:block;
      object-fit:contain;
      object-position:left bottom;
      opacity:.93;
      filter:drop-shadow(0 12px 28px rgba(0,0,0,.4));
      transform-origin:45% 58%;
      animation:rumAstroSpin 20s linear infinite;
      will-change:transform;
    }
    /* Diagonal larga: atraviesa casi todo el viewport (ancho + alto) */
    @keyframes rumAstroDiagonal{
      0%{ transform:translate3d(-14vw, 6vh, 0); }
      100%{
        transform:translate3d(
          calc(100vw - min(420px, 45vw) + 8vw),
          calc(-100dvh + max(10vh, 72px)),
          0
        );
      }
    }
    @keyframes rumAstroSpin{
      to{ transform:rotate(360deg); }
    }
    @media (prefers-reduced-motion:reduce){
      .rum-astro-float__carry{
        animation:none;
        left:auto;
        right:max(12px,2vw);
        bottom:min(16vh,120px);
        transform:none;
      }
      .rum-astro-float__img{
        animation:none;
        transform:none;
      }
    }
    @media (max-width:720px){
      .rum-astro-float__carry{
        bottom:max(6px, min(12dvh, 100px));
      }
      .rum-astro-float__img{
        width:min(304px,61vw);
      }
      @keyframes rumAstroDiagonal{
        0%{ transform:translate3d(-8vw, 4vh, 0); }
        100%{
          transform:translate3d(
            calc(100vw - min(304px, 61vw) + 4vw),
            calc(-100dvh + max(8vh, 56px)),
            0
          );
        }
      }
    }

    /* =========================
       ACCESSORY
       ========================= */

    /* =========================
       RESPONSIVE
       ========================= */
    @media (max-width:1100px){
      .hero-inner,
      .system-shell,
      .consultoria-grid,
      .living-grid,
      .signal-grid{grid-template-columns:1fr}
      .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .u-side-panel{position:static}
    }
    @media (max-width:900px){
      .segment-grid,
      .value-grid,
      .hero-metrics,
      .living-strip,
      .services-grid{grid-template-columns:1fr}
      .u-check-grid{grid-template-columns:1fr}
      .living-orbs{grid-template-columns:1fr}
    }
    @media (max-width:768px){
      main.story-wrap{
        padding-bottom:clamp(48px,8vh,72px);
      }
      #ia-con-u{
        padding-top:clamp(32px,5vh,48px) !important;
      }
      #ia-con-u + #story-cta{
        margin-top:0;
      }
      .section.consultoria-section{
        padding:clamp(56px,10vh,80px) 0 clamp(64px,11vh,96px);
      }
      .section-anchor{
        scroll-margin-top:max(72px, env(safe-area-inset-top, 0px) + 64px);
      }
      .consultoria-shell{
        width:calc(100% - 28px);
      }
      .consultoria-grid{
        gap:20px;
      }
      .section-header{
        margin-bottom:22px;
        text-align:center;
        margin-left:auto;
        margin-right:auto;
      }
      .section-title--ia-u-hero{
        font-size:clamp(17px,4.6vw,22px) !important;
        white-space:normal !important;
        line-height:1.25;
      }
      .u-stepper{
        justify-content:center;
        gap:8px;
      }
      .u-step-pill{
        font-size:11px;
        padding:7px 10px;
      }
    }
    @media (max-width:720px){
      .hero{padding-top:108px}
      .container{width:min(100% - 36px,1280px)}
      .consultoria-shell{width:calc(100% - 36px)}
      .section{padding:72px 0}
      .hero-heading{max-width:none}
      .hero-metric strong{font-size:26px}
      .u-chat-card{padding:22px 20px 28px}
      .signal-card,
      .segment-card,
      .system-intro,
      .value-card,
      .living-grid article{
        padding:20px;
      }
    }

    /*
     * index.php: resplandor solo en CTA “Entrar” y menú hamburguesa (no en cada .nav-glow del menú:
     * la sombra grande leía como “cuadro” detrás del texto).
     */
    body .rum-navbar .portal-enter-link--sky-cta:hover,
    body .rum-navbar .portal-enter-link--sky-cta:focus-visible{
      box-shadow:var(--rum-index-btn-hover-shadow) !important;
      border-color:#ffbe86 !important;
    }
    body .rum-navbar .rum-nav-toggle:hover,
    body .rum-navbar .rum-nav-toggle:focus-visible{
      transform:translateY(-2px);
      box-shadow:var(--rum-index-btn-hover-shadow);
      background:rgba(15,23,42,.08);
    }