/* Resumen ejecutivo, recorrido de un contacto y movimiento de apoyo. */
/* Número de fondo de cada diapositiva, en trazo fino */
.slide-inner{isolation:isolate}
.slide-inner::before{content:attr(data-n);position:absolute;right:3.2%;bottom:0;z-index:-1;pointer-events:none;font:700 clamp(160px,24vw,380px)/1 'Space Grotesk',sans-serif;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px currentColor;opacity:.1;height:1em;overflow:hidden}
.slide.active .slide-inner::before{animation:ghost 1.1s var(--ease) both}
@keyframes ghost{from{opacity:0}to{opacity:.1}}
/* Barrido de luz entre diapositivas (el horizonte de la marca) */
#slide-sweep{position:fixed;left:0;right:0;top:var(--header);height:2px;z-index:19;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent,#5DB2FF 40%,#fff 50%,#6FE3C8 60%,transparent);background-size:40% 100%;background-repeat:no-repeat}
#slide-sweep.go{animation:sweep .9s var(--ease) both}
@keyframes sweep{0%{opacity:1;background-position:-40% 0}100%{opacity:0;background-position:140% 0}}
/* Portada: render con relieve y reflejo que cruza */
.hero-render{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease);transform-style:preserve-3d}
.hero-render::after{content:"";position:absolute;inset:0;border-radius:6px 64px 6px 6px;pointer-events:none;background:linear-gradient(115deg,transparent 35%,#ffffff26 48%,transparent 60%);background-size:250% 100%;background-position:120% 0;mix-blend-mode:screen}
.slide.active .hero-render::after{animation:shine 5.5s 1.2s ease-in-out infinite}
@keyframes shine{0%,55%{background-position:120% 0}100%{background-position:-60% 0}}
.hero-bottom strong{font:600 clamp(30px,2.7vw,46px)/1 'Space Grotesk',sans-serif;letter-spacing:-.04em;color:#5DB2FF;font-variant-numeric:tabular-nums}.hero-bottom span{display:block;margin-top:6px}
.investment-product-label{display:none}
.scope-minutes b:first-child{color:#13a36b}.scope-minutes b:last-child{color:#e0485a}

/* ---- En 30 segundos ---- */
.exec .section-head{margin-bottom:clamp(20px,3.4vh,40px)}
.exec-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,26px)}
.exec-card{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px;padding:clamp(18px,2.2vw,30px);border-radius:22px;background:#fff;border:1px solid #020B1A14;box-shadow:0 18px 50px #02142a14;opacity:0;transform:translateY(30px)}
.slide.active .exec-card{animation:rise .8s calc(.25s + var(--i)*.18s) var(--ease) both}
.exec-card:hover{transform:translateY(-4px);box-shadow:0 26px 60px #02142a22;transition:transform .3s var(--ease),box-shadow .3s}
.exec-top{display:flex;justify-content:space-between;align-items:center}
.exec-tag{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#1E6FD9}
.exec-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#1E6FD912;color:#1E6FD9}.exec-icon svg{width:22px;height:22px}
.exec-big{display:flex;align-items:baseline;gap:12px;margin-top:6px}
.exec-big strong{font:700 clamp(64px,7vw,112px)/.9 'Space Grotesk',sans-serif;letter-spacing:-.06em;color:#020B1A;font-variant-numeric:tabular-nums}
.exec-big span{font:600 clamp(16px,1.3vw,20px)/1.2 'Space Grotesk',sans-serif;color:#33435e;max-width:9ch}
.exec-card h3{font:600 clamp(18px,1.45vw,22px)/1.25 'Space Grotesk',sans-serif;color:#020B1A}
.exec-card ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.exec-card li{font-size:13px;line-height:1;padding:8px 11px;border-radius:30px;background:#f1f4f9;color:#33435e}
.exec-state{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#33435e}
.exec-state i{width:9px;height:9px;border-radius:50%;background:#3DDC97;box-shadow:0 0 0 0 #3DDC9799;animation:live 2s infinite}
.exec-propuesta .exec-state i{background:#13B597;box-shadow:none;animation:none;outline:2px solid #13B59755;outline-offset:2px}
.exec-propuesta .exec-tag,.exec-propuesta .exec-icon{color:#13866E}.exec-propuesta .exec-icon{background:#13866E14}
.exec-card.exec-propuesta:last-child{background:linear-gradient(160deg,#04161B,#0B3A3A);border-color:#6FE3C855}
.exec-card.exec-propuesta:last-child :is(.exec-big strong,h3){color:#fff}.exec-card.exec-propuesta:last-child .exec-big span,.exec-card.exec-propuesta:last-child .exec-state{color:#b3cdc7}
.exec-card.exec-propuesta:last-child li{background:#ffffff14;color:#d6ece6}.exec-card.exec-propuesta:last-child :is(.exec-tag,.exec-icon){color:#6FE3C8}
@keyframes live{0%{box-shadow:0 0 0 0 #3DDC9799}70%{box-shadow:0 0 0 9px #3DDC9700}100%{box-shadow:0 0 0 0 #3DDC9700}}
.exec-ask{margin-top:clamp(18px,3vh,32px);display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:16px 22px;border-radius:16px;background:#020B1A;color:#fff}
.exec-ask span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#5DB2FF;font-weight:600;margin-right:6px}
.exec-ask b{font:600 clamp(15px,1.15vw,18px) 'Space Grotesk',sans-serif}.exec-ask i{color:#5DB2FF;font-style:normal}

/* ---- Del anuncio a la venta ---- */
.lj{position:relative;margin-top:clamp(8px,2vh,24px);padding-bottom:64px}
.lj-track{position:absolute;left:calc(100%/(var(--n)*2));right:calc(100%/(var(--n)*2));top:34px;height:2px;background:#ffffff1f;border-radius:2px}
.lj-fill{position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--p,0));background:linear-gradient(90deg,#5DB2FF,#6FE3C8);box-shadow:0 0 14px #6FE3C8;transition:transform 1s var(--ease)}
.lj-comet{position:absolute;top:50%;left:calc(var(--p,0)*100%);width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#fff;box-shadow:0 0 0 6px #6FE3C833,0 0 26px 8px #6FE3C8aa;transition:left 1s var(--ease)}
.lj.reset :is(.lj-fill,.lj-comet){transition:none}
.lj-nodes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n),1fr);position:relative}
.lj-node{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:0 6px;opacity:.42;transition:opacity .5s}
.lj-node.on{opacity:1}
.lj-dot{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:#04161B;border:1px solid #ffffff2e;color:#b3cdc7;transition:all .5s var(--ease);position:relative;z-index:1}
.lj-dot svg{width:28px;height:28px}
.lj-node.on .lj-dot{border-color:#6FE3C8;color:#6FE3C8;background:#0B2A2A}
.lj-node.now .lj-dot{transform:scale(1.14);background:#6FE3C8;color:#04161B;box-shadow:0 0 0 10px #6FE3C822,0 0 40px #6FE3C888}
.lj-node b{margin-top:6px;font:600 clamp(16px,1.3vw,20px)/1.2 'Space Grotesk',sans-serif;color:#fff}
.lj-node small{font-size:13px;line-height:1.4;color:#b3cdc7;max-width:18ch}
.lj-node em{font-style:normal;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:5px 9px;border-radius:20px;background:#3DDC9722;color:#7FF0BE}
.lj-node.lj-propuesta em{background:#5DB2FF26;color:#9fd2ff}
.lj-node.lj-propuesta .lj-dot{border-style:dashed}
.lj-loop{position:absolute;left:0;right:0;bottom:0;height:56px;opacity:.25;transition:opacity .6s}
.lj-loop svg{position:absolute;inset:0 0 18px;width:100%;height:38px;overflow:visible}
.lj-loop path{fill:none;stroke:#6FE3C8;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:6 6}
.lj-loop span{position:absolute;left:50%;bottom:0;transform:translateX(-50%);display:inline-flex;gap:8px;align-items:center;white-space:nowrap;font:600 14px 'Space Grotesk',sans-serif;color:#6FE3C8;background:#04161B;padding:0 12px}
.lj-loop span svg{width:18px;height:18px}
.lj.looped .lj-loop{opacity:1}.lj.looped .lj-loop path{animation:dash 1s linear infinite}
@keyframes dash{to{stroke-dashoffset:-24}}
.lj-measure{margin-top:clamp(18px,3vh,30px);display:grid;grid-template-columns:repeat(3,1fr) 1.4fr;gap:12px;align-items:stretch}
.lj-measure div{padding:14px 16px;border-radius:14px;background:#ffffff0b;border:1px solid #6FE3C833}
.lj-measure b{display:block;font:600 clamp(16px,1.25vw,19px) 'Space Grotesk',sans-serif;color:#fff}
.lj-measure span{display:block;margin-top:4px;font-size:13px;color:#b3cdc7}
.lj-measure p{display:flex;gap:10px;align-items:center;margin:0;padding:14px 16px;border-radius:14px;background:#6FE3C8;color:#04161B;font:600 clamp(14px,1.05vw,16px)/1.35 'Space Grotesk',sans-serif}
.lj-measure p svg{width:24px;height:24px;flex:0 0 24px}

@media(max-height:800px) and (min-width:901px){.exec .section-head{margin-bottom:14px}.exec-ask{margin-top:14px;padding:11px 18px}.exec-card li{padding:6px 10px}.exec-big strong{font-size:clamp(52px,5.4vw,80px)}.exec-card{gap:9px;padding:18px 22px}.lj-dot{width:58px;height:58px}.lj-track{top:29px}.lj-node small{font-size:12px}}
@media(max-width:900px){
  .exec-grid{grid-template-columns:1fr}
  .lj{padding-bottom:0}.lj-nodes{grid-template-columns:1fr;gap:14px}
  .lj-track{left:33px;right:auto;top:34px;bottom:34px;width:2px;height:auto}
  .lj-fill{transform-origin:top;transform:scaleY(var(--p,0))}
  .lj-comet{left:50%;top:calc(var(--p,0)*100%);transition:top 1s var(--ease)}
  .lj.reset .lj-comet{transition:none}
  .lj-node{display:grid;grid-template-columns:68px 1fr;grid-template-areas:"dot b" "dot small" "dot em";column-gap:16px;row-gap:3px;text-align:left;align-items:center;padding:0}
  .lj-dot{grid-area:dot}.lj-node b{grid-area:b;margin:0}.lj-node small{grid-area:small;max-width:none}.lj-node em{grid-area:em;justify-self:start}
  .lj-loop{position:static;height:auto;margin-top:14px;opacity:1}.lj-loop svg{display:none}.lj-loop span{position:static;transform:none;padding:0}
  .lj-measure{grid-template-columns:1fr 1fr}.lj-measure p{grid-column:1/-1}
  .slide-inner::before{font-size:44vw;bottom:0}
}
@media(prefers-reduced-motion:reduce){.slide.active .slide-inner::before{animation:none}.exec-card{animation:none!important;opacity:1;transform:none}.hero-render{transform:none}#slide-sweep{display:none}}
.motion-paused .exec-card{animation:none!important;opacity:1;transform:none}.motion-paused .motion-paused .hero-render::after,.motion-paused .lj-loop path{animation:none!important}

@media(max-width:760px){.hero-bottom{flex-wrap:wrap;row-gap:14px}.hero-bottom>div{flex:0 0 calc(50% - 14px)}.hero-bottom span{max-width:none}}
@media(max-height:800px) and (min-width:901px){#escala .scale-vision{margin:10px 0 0;padding:10px 0}#escala .scale-vision strong{font-size:60px}#escala .gfa-projects{margin-top:10px;gap:4px}#escala .gfa-projects li{padding:6px 0}#app .gfa-links{margin-top:12px;gap:10px}#app .gfa-link{padding:12px 16px}#app .gfa-urls{gap:2px}#app .gfa-url-s{min-height:40px}#app .gfa-link p{margin-top:4px}}
