/* ═══════════════════════════════════════════════════════════════════════
   INDUBAI v3 — HOME (solo index)
   Hero "motor de arbitraje": copy + command bar a la izquierda, ventana de
   vidrio inclinada tipo terminal a la derecha (estructura de RELAY), riel de
   exchanges abajo. El humo de oro corre detrás (gl-stream).
   ═══════════════════════════════════════════════════════════════════════ */

/* ── humo (canvas fijo) ───────────────────────────────────────────────── */
#pm-stream{position:fixed;inset:0;width:100%;height:100lvh;z-index:1;pointer-events:none;display:block;
  mix-blend-mode:screen;opacity:0;transition:opacity 1.4s cubic-bezier(.2,0,0,1)}
#pm-stream.on{opacity:1}
html[data-theme="light"] #pm-stream{mix-blend-mode:multiply;filter:invert(1) hue-rotate(180deg) saturate(1.4);opacity:0}
html[data-theme="light"] #pm-stream.on{opacity:.85}

/* ── HERO ─────────────────────────────────────────────────────────────── */
header.hero.hx{padding-top:calc(70px + clamp(60px,7vw,110px));padding-bottom:clamp(40px,5vw,70px);position:relative}
.hx-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:clamp(32px,4.5vw,64px);align-items:center;position:relative;z-index:2}
.hx-copy{min-width:0}
.hx .hero h1,.hx h1{font-size:clamp(40px,5.6vw,78px);margin-bottom:20px}

.hx-status{display:inline-flex;align-items:center;gap:10px;font-family:var(--fm);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink);padding:7px 14px 7px 10px;border-radius:99px;margin-bottom:18px;
  background:linear-gradient(90deg,rgba(212,164,55,.10),rgba(255,255,255,.02));border:1px solid rgba(212,164,55,.24);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.hx-pulse{position:relative;width:8px;height:8px;border-radius:50%;background:#3ddc97;box-shadow:0 0 10px #3ddc97}
.hx-pulse::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid #3ddc97;animation:hxPing 1.8s cubic-bezier(.2,0,0,1) infinite}
@keyframes hxPing{0%{transform:scale(.4);opacity:1}100%{transform:scale(1.6);opacity:0}}
.hx-sep{width:1px;height:12px;background:rgba(212,164,55,.35)}
.hx-clock{color:var(--gold-b);font-variant-numeric:tabular-nums}
.hx .eyebrow{margin-bottom:6px}

/* command bar */
.hx-cmd{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin:6px 0 26px}
.hx-primary{padding:18px 34px;font-size:14.5px;border-radius:14px}
.hx-keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;max-width:560px}
.hx-key{position:relative;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;text-decoration:none;
  font-family:var(--fd);font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);
  background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(255,255,255,.012));border:1px solid rgba(212,164,55,.18);
  overflow:hidden;transition:transform .35s cubic-bezier(.2,0,0,1),border-color .35s,background .35s}
.hx-key kbd{flex:none;font-family:var(--fm);font-size:9.5px;font-weight:500;letter-spacing:.06em;color:var(--gold-b);
  padding:4px 6px;border-radius:6px;border:1px solid rgba(212,164,55,.35);background:rgba(0,0,0,.35);box-shadow:inset 0 -2px 0 rgba(212,164,55,.18)}
.hx-key span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-key::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(242,213,94,.14) 50%,transparent 70%);
  transform:translateX(-120%);transition:transform .7s cubic-bezier(.2,0,0,1)}
.hx-key:hover{transform:translateY(-2px);border-color:rgba(242,213,94,.6);background:linear-gradient(160deg,rgba(212,164,55,.12),rgba(255,255,255,.02))}
.hx-key:hover::after{transform:translateX(120%)}
.hx-key-gold{border-color:rgba(242,213,94,.45)}
.hx .hero-trust{gap:8px}
.hx .hero-trust .ti{font-family:var(--fm);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding:6px 11px;border-radius:8px;
  border:1px solid var(--line);background:rgba(255,255,255,.02)}
.hx .hero-trust .ti svg{width:13px;height:13px}

/* ventana inclinada */
.hx-stage{position:relative;perspective:1700px;min-width:0}
.hx-window{--rx:6deg;--ry:-13deg;position:relative;z-index:2;border-radius:22px;overflow:hidden;
  transform:rotateX(var(--rx)) rotateY(var(--ry)) rotateZ(.6deg);transform-style:preserve-3d;transition:transform .9s cubic-bezier(.2,0,0,1);
  background:linear-gradient(160deg,rgba(16,20,28,.72),rgba(6,8,12,.62));
  -webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);
  border:1px solid rgba(212,164,55,.28);
  box-shadow:0 50px 120px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,240,200,.12),0 0 60px rgba(212,164,55,.10)}
.hx-window::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:linear-gradient(rgba(212,164,55,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(212,164,55,.045) 1px,transparent 1px);background-size:28px 28px;
  -webkit-mask-image:radial-gradient(ellipse at 40% 30%,#000,transparent 75%);mask-image:radial-gradient(ellipse at 40% 30%,#000,transparent 75%)}
.hx-window::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;border-radius:inherit;
  background:linear-gradient(115deg,rgba(255,244,214,.09),transparent 32%,transparent 70%,rgba(255,244,214,.04))}
.hx-bar{position:relative;z-index:1;display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(212,164,55,.16);
  background:rgba(0,0,0,.22);font-family:var(--fm);font-size:10.5px;letter-spacing:.08em}
.hx-dots{display:flex;gap:6px}.hx-dots i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.14)}
.hx-dots i:first-child{background:#D4A437}
.hx-url{flex:1;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.hx-live{display:flex;align-items:center;gap:6px;color:#3ddc97;font-weight:700;letter-spacing:.18em}
.hx-live b{width:6px;height:6px;border-radius:50%;background:#3ddc97;box-shadow:0 0 8px #3ddc97;animation:hxBlink 1.2s steps(2) infinite}
@keyframes hxBlink{50%{opacity:.2}}
.hx-body{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr)}
.hx-main{padding:26px 22px 22px;min-width:0}
.hx-side{padding:18px 16px;border-left:1px solid rgba(212,164,55,.14);background:rgba(0,0,0,.18);min-width:0;display:flex;flex-direction:column;gap:10px}
.hx-side-h{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--fm);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.hx-side-h b{font-family:var(--fd);font-size:18px;letter-spacing:0;color:#3ddc97;font-variant-numeric:tabular-nums}
.hx-spark{width:100%;height:78px;display:block}
.hx-log{font-family:var(--fm);font-size:9.5px;line-height:1.55;color:var(--text);height:132px;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 100%);mask-image:linear-gradient(180deg,transparent,#000 22%,#000 100%)}
.hx-log div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:hxIn .5s cubic-bezier(.2,0,0,1)}
.hx-log .up{color:#3ddc97}.hx-log .g{color:var(--gold-b)}
@keyframes hxIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* el ejemplo Coca-Cola, compactado dentro de la ventana */
.hx-window .arb-vis-head{margin-bottom:16px}
.hx-window .arb-vis-tl{font-size:clamp(17px,1.6vw,22px)}
.hx-window .arb-card{padding:20px 12px;background:rgba(0,0,0,.35);border-color:rgba(212,164,55,.18);box-shadow:none}
.hx-window .arb-card .ap{font-size:clamp(24px,2.6vw,36px)}
.hx-window .arb-mid{font-size:12px;padding:7px 10px}
.hx-window .arb-caption{font-size:11px;margin-top:16px}
.hx-glow{position:absolute;left:8%;right:8%;bottom:-14%;height:40%;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(212,164,55,.28),transparent 70%);filter:blur(30px)}

/* riel de exchanges */
.hx-rail{position:relative;z-index:2;display:flex;align-items:center;gap:22px;margin-top:clamp(40px,5vw,70px);padding:14px 0;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hx-rail-lbl{flex:none;font-family:var(--fm);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-s)}
.hx-rail-track{flex:1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.hx-rail-run{display:flex;gap:34px;width:max-content;animation:hxRail 46s linear infinite}
.hx-rail-run span{display:flex;align-items:baseline;gap:8px;font-family:var(--fd);font-weight:800;font-size:13px;letter-spacing:.06em;color:var(--ink);white-space:nowrap}
.hx-rail-run em{font-style:normal;font-family:var(--fm);font-size:10.5px;font-weight:500;color:var(--muted)}
.hx-rail-run i{font-style:normal;font-family:var(--fm);font-size:10.5px;color:#3ddc97}
@keyframes hxRail{to{transform:translateX(-50%)}}

@media (max-width:980px){
  .hx-grid{grid-template-columns:1fr}
  .hx-window{--rx:4deg;--ry:0deg}
  .hx-stage{max-width:640px;margin:0 auto;width:100%}
}
@media (max-width:600px){
  .hx-keys{grid-template-columns:1fr}
  .hx-primary{width:100%;justify-content:center}
  .hx-body{grid-template-columns:1fr}
  .hx-side{border-left:0;border-top:1px solid rgba(212,164,55,.14)}
  .hx-log{height:84px}
  .hx-rail-lbl{display:none}
}

/* modo día */
html[data-theme="light"] .hx-window{background:linear-gradient(160deg,rgba(255,255,255,.82),rgba(244,247,251,.7));border-color:rgba(156,122,34,.25);
  box-shadow:0 40px 90px rgba(20,40,80,.16),inset 0 1px 0 #fff}
html[data-theme="light"] .hx-bar,html[data-theme="light"] .hx-side{background:rgba(17,25,40,.035)}
html[data-theme="light"] .hx-window .arb-card{background:#fff}
html[data-theme="light"] .hx-key{background:#fff;color:var(--ink);border-color:rgba(156,122,34,.22)}
html[data-theme="light"] .hx-key kbd{background:#F6F1E4}
html[data-theme="light"] .hx-status{background:rgba(156,122,34,.07)}

/* ═══ SECCIONES REESTRUCTURADAS ═══════════════════════════════════════ */
/* pilares: bento asimétrico (1 grande + 3) */
#ecosistema .eco-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:repeat(2,minmax(210px,auto));gap:14px}
#ecosistema .eco-card:nth-child(1){grid-row:span 2}
#ecosistema .eco-card:nth-child(4){grid-column:span 2}
#ecosistema .eco-card{background-size:cover!important;transition:transform .5s cubic-bezier(.2,0,0,1),box-shadow .5s,background-size .9s!important;overflow:hidden}
#ecosistema .eco-card::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse at 20% 0%,rgba(212,164,55,.18),transparent 55%)}
#ecosistema .eco-card>*{position:relative;z-index:1}
#ecosistema .eco-card .eco-num{font-family:var(--fm)}
#ecosistema .eco-card:nth-child(1) .eco-title{font-size:clamp(26px,2.6vw,36px)}
@media (max-width:900px){
  #ecosistema .eco-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  #ecosistema .eco-card:nth-child(1){grid-row:auto;grid-column:span 2}
  #ecosistema .eco-card:nth-child(4){grid-column:span 2}
}
@media (max-width:560px){ #ecosistema .eco-grid{grid-template-columns:1fr} #ecosistema .eco-card:nth-child(n){grid-column:auto} }

/* números de sección gigantes tipo editorial */
.sec[id]{position:relative}
.pm-secnum{position:absolute;top:clamp(10px,2vw,30px);right:6vw;font-family:var(--fd);font-weight:900;font-size:clamp(70px,11vw,170px);line-height:1;
  letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(212,164,55,.16);pointer-events:none;user-select:none;z-index:0}
html[data-theme="light"] .pm-secnum{-webkit-text-stroke:1px rgba(156,122,34,.18)}
@media (max-width:700px){ .pm-secnum{display:none} }

/* cómo funciona: riel de progreso a la izquierda de los pasos */
#como-funciona .step-item{position:relative}
#como-funciona{--cf-p:0}
#como-funciona .pm-rail{position:absolute;left:0;z-index:2;top:0;bottom:0;width:2px;background:rgba(212,164,55,.14);border-radius:2px}
#como-funciona .pm-rail i{position:absolute;left:0;top:0;width:100%;height:calc(var(--cf-p)*100%);border-radius:2px;
  background:linear-gradient(180deg,#F2D55E,#D4A437);box-shadow:0 0 12px rgba(242,213,94,.6)}

/* ═══ CUADRE ═══════════════════════════════════════════════════════════ */
/* eventos: cada diapositiva con su propia altura (antes se estiraban a la más alta y dejaban un hueco) */
.ev-track{align-items:flex-start}
/* Fundación: 4 cifras en una fila (antes quedaba una huérfana abajo) */
.fnd-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media (max-width:760px){ .fnd-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important} }
