/* ── Scroll story wrapper ──────────────────────────────── */
/* Carousel mode on all viewports — no sticky / no 250-400vh "scroll tail".
   Steps change via the .ss-dot or .ss-arrow controls (story.js).
   Next section appears immediately after the mockup. */
#scroll-story{position:relative;background:var(--white)}
.ss-wrapper{position:relative;background:var(--white)}
.ss-sticky{
  position:relative;
  padding:80px 0;
  background:var(--white);border-bottom:1px solid var(--border);
  display:flex;align-items:center
}
.ss-inner{
  display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;
  max-width:1120px;margin:0 auto;padding:0 40px;width:100%
}
.ss-left{position:relative;min-height:280px}

/* ── Step shell — carousel mode: only the active step is rendered ─── */
.ss-step{display:none}
.ss-step.active{display:block}
.ss-step.exiting{display:none}

/* ══ SCALE-FROM-CENTER SYSTEM ═══════════════════════════════
   Base:    oculto (scale pequeño)
   .seg-in: crece al lugar — JS lo añade con stagger
   .seg-out: encoge y desaparece — JS lo añade al salir
═══════════════════════════════════════════════════════════ */
.step-seg-l,.step-seg-r,.step-seg-b{
  opacity:0;transform:scale(0.06);
  transform-origin:center center;
  transition:none;
}
.step-seg-l.seg-in,.step-seg-r.seg-in,.step-seg-b.seg-in{
  opacity:1;transform:scale(1);
  transition:opacity 0.55s cubic-bezier(0.16,1,0.3,1),
             transform 0.65s cubic-bezier(0.16,1,0.3,1)
}
.step-seg-l.seg-out,.step-seg-r.seg-out,.step-seg-b.seg-out{
  opacity:0;transform:scale(0.06);
  transition:opacity 0.18s cubic-bezier(0.55,0,1,1),
             transform 0.22s cubic-bezier(0.55,0,1,1)
}

/* ── Chat stream ─────────────────────────────────────────── */
.ss-chat-stream{
  padding:14px 16px;display:flex;flex-direction:column;gap:10px;
  min-height:270px;max-height:326px;overflow-y:auto;
  background:var(--bg);scroll-behavior:smooth
}
.ss-chat-stream::-webkit-scrollbar{width:3px}
.ss-chat-stream::-webkit-scrollbar-track{background:transparent}
.ss-chat-stream::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px}
.ss-chat-msg{display:flex;gap:9px}
.ss-chat-msg.msg-hidden{display:none}
.ss-chat-msg.user{flex-direction:row-reverse}
.ss-chat-msg .ss-msg-bbl{max-width:80%;padding:9px 13px;border-radius:11px;font-size:13px;line-height:1.65}
.ss-chat-msg.ai .ss-msg-bbl{background:var(--bg2);border:1px solid var(--border);color:var(--ink2)}
/* Dashboard bubble */
.ss-msg-bbl-dashboard{padding:10px!important;display:flex;flex-direction:column;gap:6px;max-width:88%!important}
.ss-dashboard-label{font-size:11px;font-weight:700;color:var(--green);letter-spacing:0.04em}
.ss-dashboard-img{width:100%;border-radius:8px;display:block;border:1px solid var(--border)}
.ss-dashboard-img-sm{width:auto;max-width:100%;max-height:140px;object-fit:contain}
.ss-pdf-wrap{display:contents}
.ss-dashboard-sub{font-size:11px;color:var(--ink3)}
.ss-chat-msg.user .ss-msg-bbl{background:var(--amber);color:#fff;font-weight:500}
.ss-chat-msg.ai .ss-msg-av{background:var(--amber-light)}

/* ── Step content ──────────────────────────────────────── */
.ss-step-chip{margin-bottom:16px}
.ss-step-h2{
  font-family:var(--f-display);font-size:clamp(26px,3.2vw,40px);font-weight:800;
  letter-spacing:-0.035em;line-height:1.08;color:var(--ink);margin-bottom:16px
}
.ss-step-h2 em{font-style:normal;color:var(--amber)}
.ss-step-p{font-size:15px;color:var(--ink3);line-height:1.8;max-width:420px;margin-bottom:24px}

/* Vanishing-point rails — lines converge toward top-left */
.ss-dots{display:flex;flex-direction:column;gap:10px;align-items:flex-start;margin-top:28px}
.ss-dot{
  height:2px;border-radius:2px;background:rgba(255,255,255,0.15);
  transition:all 0.4s cubic-bezier(0.16,1,0.3,1);cursor:pointer
}
.ss-dot:nth-child(1){width:22px}
.ss-dot:nth-child(2){width:38px}
.ss-dot:nth-child(3){width:56px}
.ss-dot:nth-child(4){width:74px}
.ss-dot:nth-child(5){width:94px}
.ss-dot.active{
  background:var(--amber);height:3px;
  box-shadow:0 0 12px rgba(245,166,35,0.55)
}

/* Tags */
.broken-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.broken-tag{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;
  border:1.5px solid var(--border);color:var(--ink3);background:none
}
.btag-icon{width:13px;height:13px;flex-shrink:0;stroke-width:2}
.broken-tag.on{background:var(--amber-light);border-color:rgba(245,166,35,0.4);color:#8A5608}

/* Arrow buttons — always visible; steps are click-driven now */
.ss-arrows{display:flex;gap:10px;align-items:center;margin-top:20px}
.ss-arrow-btn{
  width:40px;height:40px;border-radius:50%;background:var(--white);
  border:1.5px solid var(--border);font-size:18px;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all 0.15s;color:var(--ink2)
}
.ss-arrow-btn:hover{background:var(--amber-light);border-color:var(--amber);color:var(--amber)}

/* ── Mockup ────────────────────────────────────────────── */
.ss-right{position:relative}
.ss-mockup{
  background:var(--white);border:1.5px solid var(--border);
  border-radius:var(--r3);box-shadow:var(--sh4);overflow:hidden
}

/* Window chrome bar */
.ss-bar{
  background:var(--bg2);border-bottom:1.5px solid var(--border);
  padding:11px 14px;display:flex;align-items:center;gap:8px
}
.mac-dots{display:flex;gap:5px}
.mac-dots span{width:10px;height:10px;border-radius:50%}
.mac-dots span:nth-child(1){background:#FF5F57}
.mac-dots span:nth-child(2){background:#FEBC2E}
.mac-dots span:nth-child(3){background:#28C840}
.ss-bar-title{font-size:12px;font-weight:600;color:var(--ink3);margin-left:4px}
.ss-bar-status{
  margin-left:auto;font-size:11px;font-weight:700;color:var(--green);
  background:var(--green-bg);border:1px solid var(--green-bd);
  padding:2px 9px;border-radius:var(--r-full);display:flex;align-items:center;gap:4px
}

/* Chat body */
.ss-chat-body{
  padding:16px;display:flex;flex-direction:column;gap:11px;
  min-height:280px;max-height:340px;overflow-y:auto
}

/* ── MultIA App-style (Panel 0) ──────────────────────── */
.ss-app-header{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 16px;border-bottom:1px solid var(--border);background:var(--bg2)
}
.ss-app-logo{height:18px;width:auto}
.ss-app-name{
  font-family:var(--f-display);font-size:14px;font-weight:800;
  color:var(--ink);letter-spacing:-0.02em
}
.ss-app-name em{font-style:normal;color:var(--amber)}
.ss-app-body{min-height:220px;max-height:260px;background:var(--bg)}
.ss-app-user-bbl{
  display:inline-block;max-width:78%;
  background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);
  border-radius:16px 16px 4px 16px;
  padding:8px 13px;font-size:12px;color:var(--ink2);line-height:1.6;
  margin-left:auto
}
.ss-app-ai-card{
  display:flex;gap:8px;align-items:flex-start;
  animation:msgSlide 0.35s cubic-bezier(0.16,1,0.3,1) both
}
.ss-app-ai-icon{
  width:24px;height:24px;border-radius:7px;flex-shrink:0;
  background:var(--amber-light);border:1px solid rgba(245,166,35,0.2);
  display:flex;align-items:center;justify-content:center
}
.ss-app-ai-body{
  flex:1;background:var(--white);border:1px solid var(--border);
  border-radius:4px 14px 14px 14px;padding:9px 13px;
  font-size:12px;color:var(--ink2);line-height:1.65;
  box-shadow:0 2px 10px rgba(0,0,0,0.25)
}
.ss-msg{display:flex;gap:9px;animation:msgSlide 0.35s cubic-bezier(0.16,1,0.3,1) both}
@keyframes msgSlide{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ss-msg.user{flex-direction:row-reverse}
.ss-msg-av{
  width:28px;height:28px;border-radius:8px;display:flex;align-items:center;
  justify-content:center;flex-shrink:0;font-size:12px;font-weight:700;
  color:var(--ink3);background:var(--bg3);overflow:hidden
}
.ss-msg.ai .ss-msg-av{background:var(--amber-light);font-size:15px}
.ss-msg-av-logo{background:var(--amber-light) !important;border:1px solid rgba(245,166,35,0.2)}
.ss-msg-av-logo img{width:18px;height:auto;object-fit:contain}
.ss-msg-bbl{max-width:80%;padding:9px 13px;border-radius:11px;font-size:13px;line-height:1.65}
.ss-msg.ai .ss-msg-bbl{background:var(--bg2);border:1px solid var(--border);color:var(--ink2)}
.ss-msg.user .ss-msg-bbl{background:var(--amber);color:#fff;font-weight:500}

/* Typing indicator */
.ss-typing{
  display:flex;gap:3px;padding:9px 13px;
  background:var(--bg2);border:1px solid var(--border);border-radius:11px
}
.ss-typing span{
  width:5px;height:5px;border-radius:50%;background:var(--ink4);
  animation:tdot2 1.2s infinite
}
.ss-typing span:nth-child(2){animation-delay:0.22s}
.ss-typing span:nth-child(3){animation-delay:0.44s}
@keyframes tdot2{
  0%,60%,100%{transform:translateY(0);opacity:0.35}
  30%{transform:translateY(-5px);opacity:1}
}

/* Input row */
.ss-input-row{
  padding:10px 13px;border-top:1.5px solid var(--border);
  display:flex;gap:7px;align-items:center;background:var(--white)
}
.ss-inp{
  flex:1;background:var(--bg2);border:1.5px solid var(--border);
  border-radius:var(--r);padding:7px 11px;font-size:13px;
  font-family:var(--f-body);color:var(--ink);outline:none
}
.ss-inp::placeholder{color:var(--ink4)}
.ss-send{
  width:30px;height:30px;border-radius:8px;background:var(--amber);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:#fff;font-size:13px;flex-shrink:0;border:none
}

/* ── Voice panel ───────────────────────────────────────── */
.ss-voice-panel{
  padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:14px
}
.ss-voice-ring{
  width:72px;height:72px;border-radius:50%;background:var(--amber-light);
  border:2px solid rgba(245,166,35,0.3);
  display:flex;align-items:center;justify-content:center;font-size:28px;position:relative
}
.ss-voice-ring::before{
  content:'';position:absolute;inset:-8px;border-radius:50%;
  border:2px solid rgba(245,166,35,0.2);animation:voiceRing 1.5s ease-in-out infinite
}
.ss-voice-ring::after{
  content:'';position:absolute;inset:-18px;border-radius:50%;
  border:2px solid rgba(245,166,35,0.1);animation:voiceRing 1.5s 0.3s ease-in-out infinite
}
@keyframes voiceRing{
  0%,100%{transform:scale(1);opacity:0.6}
  50%{transform:scale(1.05);opacity:1}
}
.ss-voice-bars{display:flex;align-items:flex-end;gap:3px;height:36px}
.ss-vbar{width:4px;height:32px;border-radius:99px;background:var(--amber);transform-origin:bottom;will-change:transform,opacity}
.ss-vbar:nth-child(1){animation:vb 0.9s 0.00s ease-in-out infinite}
.ss-vbar:nth-child(2){animation:vb 0.9s 0.10s ease-in-out infinite}
.ss-vbar:nth-child(3){animation:vb 0.9s 0.20s ease-in-out infinite}
.ss-vbar:nth-child(4){animation:vb 0.9s 0.30s ease-in-out infinite}
.ss-vbar:nth-child(5){animation:vb 0.9s 0.15s ease-in-out infinite}
.ss-vbar:nth-child(6){animation:vb 0.9s 0.35s ease-in-out infinite}
.ss-vbar:nth-child(7){animation:vb 0.9s 0.05s ease-in-out infinite}
@keyframes vb{
  0%,100%{transform:scaleY(0.25);opacity:0.3}
  50%{transform:scaleY(1);opacity:1}
}
.ss-voice-text{font-size:13px;color:var(--ink3);font-style:italic;text-align:center;max-width:240px}

/* ── Files panel ───────────────────────────────────────── */
.ss-files{padding:14px;display:flex;flex-direction:column;gap:8px}
.ss-file-row{
  display:flex;align-items:center;gap:10px;padding:10px 12px;
  border-radius:var(--r);border:1.5px solid var(--border);
  background:var(--bg);transition:border-color 0.15s
}
.ss-file-row.analyzing{border-color:var(--amber);background:var(--amber-light)}
.ss-file-icon{
  width:30px;height:30px;border-radius:8px;background:var(--bg2);
  display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0
}
.ss-file-name{flex:1;font-size:13px;color:var(--ink2);font-weight:500}
.ss-file-st{font-size:11px;font-weight:700}
.ss-file-st.done{color:var(--green)}
.ss-file-st.proc{color:var(--amber)}
.ss-file-prog{height:3px;background:var(--border);border-radius:99px;margin-top:4px;overflow:hidden}
.ss-file-prog-fill{height:100%;background:var(--amber);border-radius:99px;width:0;transition:width 2s ease}

/* ── Mode switcher panel ───────────────────────────────── */
.ss-mode-bar{
  padding:8px 14px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:8px;background:var(--bg2)
}
.ss-mode-chip{
  padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;
  border:1.5px solid var(--border);background:var(--white);color:var(--ink3);
  cursor:pointer;transition:all 0.15s
}
.ss-mode-chip.active{background:var(--amber);border-color:var(--amber-d);color:#fff}

/* ── History panel ─────────────────────────────────────── */
.ss-history{padding:12px;display:flex;flex-direction:column;gap:5px}
.ss-hist-item{
  display:flex;align-items:center;gap:9px;padding:9px 11px;
  border-radius:var(--r);border-left:3px solid transparent;
  transition:all 0.15s;cursor:pointer
}
.ss-hist-item:hover{background:var(--bg2)}
.ss-hist-item.active{background:var(--amber-light);border-left-color:var(--amber)}
.ss-hist-icon{font-size:14px;flex-shrink:0}
.ss-hist-meta{flex:1;min-width:0}
.ss-hist-title{
  font-size:13px;font-weight:600;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.ss-hist-time{font-size:11px;color:var(--ink4);margin-top:1px}
