  /* ============ sección OS · relato animado ============ */
  @keyframes netopulse{0%{box-shadow:0 0 0 0 rgba(58,208,126,.55)}100%{box-shadow:0 0 0 14px rgba(58,208,126,0)}}
  @keyframes osrise{0%{transform:translateY(18px);opacity:0}100%{transform:translateY(0);opacity:1}}
  @keyframes osdash{to{stroke-dashoffset:-160}}
  @keyframes ossteam{0%{transform:translateY(2px) scaleX(.9);opacity:0}35%{opacity:.55}100%{transform:translateY(-9px) scaleX(1.25);opacity:0}}
  @keyframes oscore{0%{border-color:rgba(143,141,255,.42);box-shadow:0 24px 60px -28px rgba(43,42,230,.9)}45%{border-color:rgba(143,141,255,.95);box-shadow:0 0 0 5px rgba(110,107,255,.16),0 24px 60px -24px rgba(43,42,230,1)}100%{border-color:rgba(143,141,255,.42);box-shadow:0 24px 60px -28px rgba(43,42,230,.9)}}
  @keyframes osbump{0%{transform:scale(1)}42%{transform:scale(1.13);color:#8F8DFF}100%{transform:scale(1)}}
  @keyframes oscap{0%{transform:translateY(7px);opacity:0}100%{transform:translateY(0);opacity:1}}
  @keyframes oswinon{0%{opacity:.55}45%{opacity:1}100%{opacity:.55}}
  @keyframes osslash{to{stroke-dashoffset:0}}
  .os-rise{animation:osrise .65s cubic-bezier(.2,.7,.2,1) both}

  /* ---- chips de plataforma (arriba) ---- */
  .osc{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;height:44px;padding:0 15px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.11);transition:border-color .35s,background .35s,box-shadow .35s;z-index:3;white-space:nowrap}
  .osc.hot{border-color:rgba(143,141,255,.9);background:rgba(110,107,255,.16);box-shadow:0 0 0 4px rgba(110,107,255,.12)}
  .osc-name{font:700 12.5px 'Space Mono',monospace;letter-spacing:-.02em;color:#fff}
  .osc img{display:block;width:auto;flex:none;height:17px}
  .osc img.lg-solo{height:20px}
  .osc img.lg-arca{height:12px;background:#123B6D;border-radius:6px;padding:4px 8px;box-sizing:content-box}
  .osc-mono{width:24px;height:24px;border-radius:7px;flex:none;display:inline-flex;align-items:center;justify-content:center;font:700 10.5px 'Space Mono',monospace;letter-spacing:-.02em;color:#fff}

  /* ---- locales ilustrados (abajo) ---- */
  .osl{position:absolute;transform:translate(-50%,-50%);width:176px;padding-bottom:2px;text-align:center;z-index:3}
  .osl-art{position:relative;display:block;margin:0 auto;width:134px;height:94px}
  .osl-art .win{opacity:.55;transition:opacity .5s}
  .osl.hot .win{animation:oswinon 1.1s ease both}
  .osl .stm{animation:ossteam 3.4s ease-in-out infinite;transform-origin:52px 30px}
  .osl .stm.b{animation-delay:1.4s}
  .osl-name{font:700 13px 'Space Mono',monospace;color:#fff;margin-top:7px;letter-spacing:-.02em}
  .osl-val{font:700 14px 'Space Mono',monospace;color:rgba(255,255,255,.62);margin-top:2px;font-variant-numeric:tabular-nums}
  .osl-val.bump{animation:osbump .45s cubic-bezier(.2,.8,.2,1)}

  /* ---- núcleo: terminal de marca ---- */
  .os-core{position:absolute;left:50%;top:39.5%;transform:translate(-50%,-50%);z-index:5;width:214px;border-radius:16px;background:#12111F;border:1px solid rgba(143,141,255,.42);box-shadow:0 24px 60px -28px rgba(43,42,230,.9);overflow:hidden}
  .os-core.beat{animation:oscore .85s cubic-bezier(.2,.7,.2,1)}
  .os-core-bar{display:flex;align-items:center;gap:6px;padding:7px 11px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
  .os-core-bar i{width:6px;height:6px;border-radius:8px;background:rgba(255,255,255,.18);display:block}
  .os-core-bar span{font:700 10.5px 'Space Mono',monospace;letter-spacing:.12em;color:rgba(255,255,255,.72);margin-left:auto}
  .os-core-in{display:flex;align-items:center;gap:10px;padding:13px 14px}
  .os-core-wm{font:700 15px 'Space Mono',monospace;letter-spacing:-.03em;color:#fff}
  .os-core-sub{font:400 9.5px 'Space Mono',monospace;color:#3AD07E;margin-top:2px}
  .os-planilla{position:absolute;left:50%;top:23.5%;transform:translate(-50%,-50%) scale(.9);opacity:0;transition:opacity .4s,transform .4s;z-index:6;display:flex;align-items:center;gap:6px;background:#151427;border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:5px 11px;font:700 9.5px 'Space Mono',monospace;color:rgba(255,255,255,.6);white-space:nowrap}
  .os-planilla.on{opacity:1;transform:translate(-50%,-50%) scale(1)}

  /* ---- paquetes ---- */
  .os-pk{position:absolute;left:0;top:0;display:flex;align-items:center;gap:6px;padding:5px 10px 5px 7px;border-radius:20px;font:700 10px 'Space Mono',monospace;white-space:nowrap;pointer-events:none;z-index:6;will-change:transform;background:#151427;border:1px solid rgba(255,255,255,.16);box-shadow:0 8px 22px -10px rgba(0,0,0,.9);color:#fff}
  .os-pk i{width:6px;height:6px;border-radius:8px;flex:none;display:block}

  /* ---- pie: relato + consolidado ---- */
  .os-cap{margin-top:20px;min-height:26px;display:flex;align-items:center;gap:10px}
  .os-cap-t{font:400 15px 'Hanken Grotesk',sans-serif;color:rgba(255,255,255,.78);animation:oscap .45s cubic-bezier(.2,.7,.2,1) both}
  .os-cap-t b{color:#fff;font-weight:700}
  .os-cap-t em{color:#3AD07E;font-style:normal;font-weight:700}
  .os-sum{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 34px;padding:16px 20px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
  .os-sum-i{display:flex;align-items:baseline;gap:9px}
  .os-sum-l{font:700 10.5px 'Space Mono',monospace;letter-spacing:.12em;color:rgba(255,255,255,.72)}
  .os-sum-v{font:700 20px 'Space Grotesk',sans-serif;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}
  .os-sum-v.bump{animation:osbump .45s cubic-bezier(.2,.8,.2,1)}

  @media (max-width:900px){
    .osc{height:38px;padding:0 11px;gap:6px}
    .osc-name{font-size:11px}
    .osl{width:138px}
    .osl-art{width:120px;height:85px}
    .os-core{width:180px}
  }
  @media (max-width:760px){
    /* la etapa animada también corre en mobile: layout 2×2 de chips, núcleo
       centrado y cables medidos en runtime (ver _buildWires en el script) */
    #osStage{height:452px!important;margin-top:10px}
    .os-sum{display:none}   /* en mobile sobra info: queda solo en desktop */
    .os-core{width:178px;top:46%}
    .osl{width:118px}
    .osl-art{width:104px;height:74px}
    .osl-name{font-size:11px}
    .osl-val{font-size:12px}
    .osc[data-k="fudo"]{left:24%!important;top:8%!important}
    .osc[data-k="mp"]{left:76%!important;top:8%!important}
    .osc[data-k="arca"]{left:24%!important;top:22%!important}
    .osc[data-k="banco"]{left:76%!important;top:22%!important}
    .osl[data-k="palermo"]{left:21%!important}
    .osl[data-k="recoleta"]{left:79%!important}
    .os-planilla{top:31%}
    .os-cap{min-height:48px;align-items:flex-start;margin-top:8px}
  }

  /* ============ chat + telegram ============ */
  .chat-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:60px;align-items:start}
  .chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
  .chip{font:400 12.5px 'Space Mono',monospace;color:#2B2AE6;background:rgba(43,42,230,.08);border:1px solid rgba(43,42,230,.25);border-radius:24px;padding:9px 15px;cursor:pointer;transition:all .2s}
  .chip:hover{background:#2B2AE6;color:#fff;transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(43,42,230,.7)}
  .chat-side{display:flex;flex-direction:column;gap:20px}
  .tg-wrap{display:flex;gap:16px;align-items:center;background:#0E0E16;border:1px solid rgba(14,14,22,.1);border-radius:18px;padding:18px;box-shadow:0 26px 60px -30px rgba(14,14,22,.5)}
  .tg-mock{flex:1;min-width:0}
  .tg-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}
  .tg-ava{width:26px;height:26px;border-radius:50%;background:#2B2AE6;display:flex;align-items:center;justify-content:center;font:700 11px 'Space Mono',monospace;color:#fff}
  .tg-name{font:700 11.5px 'Space Grotesk',sans-serif;color:#fff}
  .tg-name small{display:block;font:400 9.5px 'Space Mono',monospace;color:rgba(255,255,255,.6)}
  .tg-bub{max-width:88%;background:rgba(255,255,255,.08);border-radius:12px 12px 12px 4px;padding:10px 12px;margin:8px 0}
  .tg-bub.me{margin-left:auto;border-radius:12px 12px 4px 12px;background:rgba(43,42,230,.32);animation:tgin 12s cubic-bezier(.3,.7,.2,1) -6s infinite}
  .tg-bub.bot{animation:tgreply 12s cubic-bezier(.3,.7,.2,1) -6s infinite}
  .tg-photo{background:#fff;border-radius:8px;padding:8px;width:120px}
  .tg-photo b{display:block;font:700 8px 'Space Mono',monospace;color:#E0524E;margin-bottom:5px}
  .tg-photo i{display:block;height:3.5px;border-radius:3px;background:rgba(14,14,22,.16);margin:3.5px 0}
  .tg-photo i:nth-child(3){width:75%}.tg-photo i:nth-child(4){width:60%}
  .tg-cap{font:400 10.5px 'Space Mono',monospace;color:rgba(255,255,255,.55);margin-top:6px}
  .tg-txt{font:400 12px/1.5 'Space Mono',monospace;color:#3AD07E}
  .tg-txt small{display:block;color:rgba(255,255,255,.5);margin-top:3px;font-size:10px}
  .tg-side{flex:none;width:180px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;font:400 12.5px/1.55 'Hanken Grotesk',sans-serif;color:rgba(14,14,22,.6)}
  .tg-side img{width:36px;height:36px;filter:drop-shadow(0 8px 16px rgba(34,158,217,.4))}
  .tg-side b{color:#0E0E16}

  /* ============ chat en burbujas (widget hero + phone telegram) ============ */
  .cbubbles{display:flex;flex-direction:column;justify-content:flex-end;gap:8px}
  .cbub{max-width:84%;padding:8px 12px;border-radius:14px;font:400 13px/1.45 'Hanken Grotesk',sans-serif;color:#fff;animation:linerise .3s ease both;word-break:break-word}
  .cbub.user{align-self:flex-end;background:#2B2AE6;border-bottom-right-radius:4px}
  .cbub.bot{align-self:flex-start;background:rgba(255,255,255,.08);border-bottom-left-radius:4px;color:#EDEDF7}
  .cbub .n{font:700 12.5px 'Space Mono',monospace;color:#9C9AFF;font-variant-numeric:tabular-nums}
  .cbub .go{font:700 12px 'Space Mono',monospace;color:#3AD07E}
  .cbub .meta{display:block;text-align:right;font:400 9px 'Space Mono',monospace;color:rgba(255,255,255,.4);margin-top:2px}
  .cbub.user .meta{color:rgba(255,255,255,.65)}
  .cbub.typing{display:inline-flex;gap:4px;align-items:center;padding:11px 13px}
  .cbub.typing i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.55);animation:tydot 1s ease infinite}
  .cbub.typing i:nth-child(2){animation-delay:.15s}
  .cbub.typing i:nth-child(3){animation-delay:.3s}
  @keyframes tydot{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-3px);opacity:1}}

  /* línea de input del widget de chat (hero) */
  .chat-input{display:flex;align-items:center;gap:8px;border-top:1px solid rgba(255,255,255,.08);padding:12px 16px}
  .ci-txt{font:400 13px 'Hanken Grotesk',sans-serif;color:#fff;min-height:18px;word-break:break-word}
  .ci-txt:empty::before{content:attr(data-ph);color:rgba(255,255,255,.3)}
  .ci-cur{width:7px;height:14px;background:#FF5A2C;border-radius:2px;animation:umblink 1.1s steps(1) infinite;flex:none;margin-left:-4px}
  .ci-send{margin-left:auto;flex:none;width:28px;height:28px;border-radius:50%;background:#2B2AE6;border:none;display:flex;align-items:center;justify-content:center;transition:transform .2s,background .2s}
  .ci-send.sent{animation:cisend .45s cubic-bezier(.2,.8,.2,1)}
  @keyframes cisend{0%{transform:scale(1)}40%{transform:scale(1.28);background:#FF5A2C}100%{transform:scale(1)}}

  /* --- phone telegram (sección chat) --- */
  .tgphone{width:min(300px,100%);flex:none;background:#0E1621;border:1px solid rgba(14,14,22,.18);border-radius:26px;box-shadow:0 30px 70px -30px rgba(14,14,22,.55);overflow:hidden;display:flex;flex-direction:column}
  .tg-hd{display:flex;align-items:center;gap:9px;background:#1F2C3A;padding:11px 13px}
  .tg-hd .bk{color:#8AA6BE;font:400 17px/1 'Hanken Grotesk',sans-serif}
  .tg-hd .av{flex:none;width:31px;height:31px;border-radius:50%;background:#2B2AE6;color:#fff;display:flex;align-items:center;justify-content:center;font:700 13px 'Space Mono',monospace}
  .tg-hd .nm{color:#fff;font:700 13.5px 'Hanken Grotesk',sans-serif}
  .tg-hd .nm small{display:block;font:400 10px 'Hanken Grotesk',sans-serif;color:#7E96AA;margin-top:1px}
  .tg-bd{height:380px;padding:14px 12px;background:#0E1621;background-image:radial-gradient(rgba(255,255,255,.028) 1px,transparent 1px);background-size:18px 18px;overflow:hidden}
  .tg-bd .cbub.user{background:#2B5278}
  .tg-bd .cbub.bot{background:#182533}
  .tg-bd .cbub .meta{color:rgba(255,255,255,.6)}
  .tg-bd .cbub.user .meta{color:#9CC3E4}
  .tg-doc{background:#fff;border-radius:8px;padding:7px 9px;display:flex;gap:8px;align-items:center;margin-bottom:4px}
  .tg-doc .ic{flex:none;width:26px;height:30px;border-radius:4px;background:#E0524E;display:flex;align-items:center;justify-content:center;font:700 7px 'Space Mono',monospace;color:#fff}
  .tg-doc b{display:block;font:600 11px 'Hanken Grotesk',sans-serif;color:#17171F}
  .tg-doc small{font:400 9px 'Space Mono',monospace;color:rgba(14,14,22,.62)}

  .tg-input{display:flex;align-items:center;gap:8px;background:#1F2C3A;padding:10px 12px;border-top:1px solid rgba(255,255,255,.05)}
  .tg-input .ci-txt{background:rgba(255,255,255,.07);border-radius:14px;padding:7px 10px;flex:1;min-width:0}

  /* ============ integraciones ============ */
  .int-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px}
  .int-card{background:#fff;border:1px solid rgba(14,14,22,.08);border-radius:16px;padding:24px;box-shadow:0 1px 2px rgba(14,14,22,.05),0 16px 40px -30px rgba(43,42,230,.25);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s cubic-bezier(.2,.7,.2,1)}
  .int-card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(14,14,22,.05),0 26px 52px -26px rgba(43,42,230,.42)}
  .int-logo{font:700 15px 'Space Mono',monospace;letter-spacing:-.02em;color:#0E0E16;display:flex;align-items:center;gap:9px}
  .int-logo svg{flex:none;display:block}
  /* tiles de logos (hero + integraciones) */
  .ltiles{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
  .ltile{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid rgba(14,14,22,.1);border-radius:10px;padding:6px 11px 6px 7px;font:700 11px 'Space Mono',monospace;color:#2A2A36;letter-spacing:-.01em;box-shadow:0 4px 12px -8px rgba(14,14,22,.3)}
  .ltile svg,.ltile img{flex:none;display:block}
  .ltile img{height:16px;width:auto}
  .ltile img.lg-glyph{height:17px}
  .ltile img.lg-arca{height:13px;background:#123B6D;border-radius:6px;padding:3px 7px;box-sizing:content-box}
  .int-logo img{flex:none;display:block;height:19px;width:auto}
  .int-logo img.lg-arca{height:15px;background:#123B6D;border-radius:7px;padding:4px 8px;box-sizing:content-box}
  .int-logo img.lg-solo{height:24px}
  .int-logo img.lg-solo.lg-arca{height:17px;padding:5px 9px}
  .ltile img.lg-solo{height:18px}
  .ltile img.lg-solo.lg-arca{height:14px}
  .wm-bistro{display:inline-flex;align-items:center;gap:6px;font:700 16px 'Space Grotesk',sans-serif;color:#3A67B1;letter-spacing:-.025em}
  .ltile .wm-bistro{font-size:13px;gap:5px}
  .int-card p{font:400 13.5px/1.55 'Hanken Grotesk',sans-serif;color:rgba(14,14,22,.6);margin:12px 0 0}
  .int-freq{margin-top:14px;font:700 10.5px 'Space Mono',monospace;color:#2B2AE6;letter-spacing:.06em}
  .int-note{margin-top:22px;background:rgba(43,42,230,.06);border:1px solid rgba(43,42,230,.16);border-radius:14px;padding:18px 22px;font:400 14.5px/1.55 'Hanken Grotesk',sans-serif;color:rgba(14,14,22,.66)}
  .int-note b{color:#2B2AE6}

  /* ============ por qué umamiko: tiles ricos ============ */
  .dif-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px}
  .why-tile{background:#fff;border:1px solid rgba(14,14,22,.08);border-radius:18px;padding:26px;box-shadow:0 1px 2px rgba(14,14,22,.05),0 18px 44px -30px rgba(43,42,230,.28);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s cubic-bezier(.2,.7,.2,1)}
  .why-tile:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(14,14,22,.05),0 28px 56px -28px rgba(43,42,230,.42)}
  .why-tile h3{font:700 19px 'Space Grotesk',sans-serif;letter-spacing:-.015em;margin:0 0 10px}
  .why-tile p{font:400 14.5px/1.6 'Hanken Grotesk',sans-serif;color:rgba(14,14,22,.62);margin:0}
  .why-v{height:74px;margin-bottom:18px;display:flex;align-items:center}
  /* asientos + sello hanko */
  .why-ledger{gap:14px}
  .wl-rows{flex:1;display:flex;flex-direction:column;gap:6px}
  .wl-rows i{height:10px;border-radius:4px;background:rgba(14,14,22,.08);opacity:0;transform:translateX(-10px);animation:wlrow 7s cubic-bezier(.2,.7,.2,1) infinite}
  .wl-rows i:nth-child(1){animation-delay:-6.4s}
  .wl-rows i:nth-child(2){width:78%;animation-delay:-5.7s}
  .wl-rows i:nth-child(3){width:58%;background:rgba(43,42,230,.16);animation-delay:-5s}
  @keyframes wlrow{0%{opacity:0;transform:translateX(-10px)}8%,90%{opacity:1;transform:none}97%,100%{opacity:0}}
  .wl-stamp{flex:none;opacity:0;animation:wlstamp2 7s cubic-bezier(.2,.8,.2,1) -6.4s infinite}
  @keyframes wlstamp2{0%,50%{transform:translateY(-14px) scale(1.35);opacity:0}60%,90%{transform:none;opacity:1}97%,100%{opacity:0}}
  /* toggle gestión/fiscal */
  .why-toggle{flex-direction:column;align-items:flex-start;gap:9px;justify-content:center}
  .wt-pill{position:relative;display:flex;border:1px solid rgba(14,14,22,.14);border-radius:20px;font:700 9px 'Space Mono',monospace;letter-spacing:.06em}
  .wt-pill .a,.wt-pill .b{position:relative;z-index:1;padding:5px 12px;transition:color .3s}
  .wt-pill .wt-k{position:absolute;left:0;top:0;bottom:0;width:50%;background:rgba(43,42,230,.14);border-radius:20px;animation:wtknob 6s ease -6s infinite}
  .wt-pill .a{animation:wtta 6s ease -6s infinite}
  .wt-pill .b{animation:wttb 6s ease -6s infinite}
  @keyframes wtknob{0%,44%{transform:translateX(0)}56%,94%{transform:translateX(100%)}100%{transform:translateX(0)}}
  @keyframes wtta{0%,44%,100%{color:#2B2AE6}56%,94%{color:rgba(14,14,22,.5)}}
  @keyframes wttb{0%,44%,100%{color:rgba(14,14,22,.5)}56%,94%{color:#2B2AE6}}
  .wt-val{position:relative;height:24px;font:700 19px 'Space Mono',monospace;color:#0E0E16;font-variant-numeric:tabular-nums}
  .wt-val i{position:absolute;left:0;font-style:normal;transition:opacity .3s}
  .wt-val .v1{animation:wtv1 6s ease -6s infinite}
  .wt-val .v2{animation:wtv2 6s ease -6s infinite}
  @keyframes wtv1{0%,42%{opacity:1;transform:translateY(0)}50%,90%{opacity:0;transform:translateY(-8px)}94%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
  @keyframes wtv2{0%,42%{opacity:0;transform:translateY(8px)}52%,90%{opacity:1;transform:translateY(0)}96%,100%{opacity:0;transform:translateY(-8px)}}
  /* argentina: sol minimal + chips */
  .why-arg{flex-direction:column;align-items:flex-start;gap:10px;justify-content:center}
  .wa-sun{animation:wasun 26s linear infinite}
  @keyframes wasun{to{transform:rotate(360deg)}}
  .wa-chips{display:flex;flex-wrap:wrap;gap:6px}
  .wa-chips span{font:700 9.5px 'Space Mono',monospace;color:#2B2AE6;background:rgba(43,42,230,.08);border:1px solid rgba(43,42,230,.2);border-radius:16px;padding:4px 10px;opacity:0;transform:scale(.6);animation:wachip 8s cubic-bezier(.2,.8,.2,1) infinite}
  @keyframes wachip{0%{opacity:0;transform:scale(.6)}7%,90%{opacity:1;transform:scale(1)}96%,100%{opacity:0}}

  /* ============ FAQ en el cuerpo (valle: sobrio, sin hover-lift ni sombras) ============ */
  .faql{max-width:760px;margin-top:40px;background:#fff;border:1px solid rgba(14,14,22,.09);border-radius:16px;box-shadow:0 1px 2px rgba(14,14,22,.04)}
  .faql-item{border-bottom:1px solid rgba(14,14,22,.07)}
  .faql-item:last-child{border-bottom:none}
  .faql-item summary{display:flex;align-items:baseline;gap:12px;padding:17px 22px;cursor:pointer;list-style:none;font:600 15.5px/1.45 'Hanken Grotesk',sans-serif;color:#0E0E16}
  .faql-item summary::-webkit-details-marker{display:none}
  .faql-item summary::before{content:"+";flex:none;width:14px;text-align:center;font:700 14px 'Space Mono',monospace;color:#2B2AE6}
  .faql-item[open] summary::before{content:"−"}
  .faql-q{transition:color .2s}
  .faql-item summary:hover .faql-q{color:#2B2AE6}
  .faql-a{padding:0 22px 18px 48px}
  .faql-a p{margin:0;font:400 14.5px/1.6 'Hanken Grotesk',sans-serif;color:rgba(14,14,22,.62)}
  .faql-more{display:inline-block;margin-top:10px;font:700 12px 'Space Mono',monospace;color:#2B2AE6;text-decoration:none}
  .faql-more:hover{text-decoration:underline}
  .faql-all{display:inline-block;margin-top:26px;font:700 16px 'Space Grotesk',sans-serif;letter-spacing:-.01em;color:#2B2AE6;text-decoration:none}
  .faql-all:hover{text-decoration:underline}
  @media (max-width:520px){
    .faql-item summary{padding:15px 16px}
    .faql-a{padding:0 16px 16px 42px}
  }

  /* ============ CTA final ============ */
  .cta-sec{text-align:center}
  .cta-sec .h2{max-width:760px;margin-left:auto;margin-right:auto}
  .cta-sec .lead{margin-left:auto;margin-right:auto;text-align:center}
  .cta-acciones{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:40px}
  .cta-micro{margin-top:20px;font:400 12px 'Space Mono',monospace;color:rgba(255,255,255,.5);letter-spacing:.03em}

  /* ============ footer ============ */
  footer{background:#0B0B12;color:rgba(255,255,255,.45);border-top:1px solid rgba(255,255,255,.07);padding:64px 0 44px}
  .foot-brand{display:flex;align-items:center;gap:11px;font:700 19px 'Space Grotesk',sans-serif;letter-spacing:-.01em;color:rgba(255,255,255,.78);margin-bottom:30px}
  .foot{display:flex;flex-direction:column;align-items:flex-start;gap:34px}
  .foot-links{display:flex;gap:28px 56px;flex-wrap:wrap}
  .foot-col{display:flex;flex-direction:column;gap:11px;min-width:132px}
  .foot-tag{font:700 10px 'Space Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:2px}
  .foot-links a{font:600 13px 'Hanken Grotesk',sans-serif;color:rgba(255,255,255,.55);text-decoration:none;transition:color .2s}
  .foot-links a:hover{color:#8F8DFF}
  .foot-base{font:400 12px 'Space Mono',monospace}
  .foot-base a{color:rgba(255,255,255,.72);text-decoration:underline;text-underline-offset:2px}
  .foot-base a:hover{color:#8F8DFF}

  @media (max-width:980px){
    .nav-links a:not(.btn){display:none}
    .nav-burger{display:block}
    .nav-links{margin-left:auto;gap:12px}
    .hero{padding-top:132px}
    .hero-grid,.pilar-grid,.pilar-grid.flip,.chat-grid{grid-template-columns:1fr;gap:44px}
    .pilar-grid.flip .pilar-copy{order:0}
    .pain-grid,.int-grid,.dif-grid{grid-template-columns:1fr;gap:16px}
    .tg-side{display:none}
    .lead{max-width:none}
  }
  @media (max-width:520px){
    .wrap{padding:0 20px}
    .nav-in{padding:14px 20px}
    .sec{padding:76px 0}
    .hero{padding:118px 0 72px}
    .term-body{height:230px;padding:16px}
    .sh-grid{grid-template-columns:56px repeat(6,1fr);gap:4px}
    .sh-name{font-size:9px}
    .sh-name img{width:12px;height:12px}
    .sh-wrap{flex-direction:column}
    .phone{width:140px;margin:0 auto}
    .fc-grid{grid-template-columns:1fr}
  }

  /* ============ reduced motion: todo queda en su estado final resuelto ============ */
  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
    .rv{opacity:1;transform:none}
    /* loops decorativos → estado estático resuelto */
    .tg-bub.me,.tg-bub.bot{animation:none;opacity:1;transform:none}
    .sh-split{opacity:1}
    .rv.wipe{clip-path:none;filter:none;opacity:1;transform:none}
    .tg-bd{height:auto;max-height:560px}
    .pv-chaos .cn{opacity:0;transform:none}
    .pv-chaos .cn i{animation:none}
    .pv-xls{opacity:0;transform:none}
    .pv-dn.t .dn-arc{stroke-dasharray:28.4 100}
    .pv-dn.r .dn-arc{stroke-dasharray:31.2 100}
    .pv-dn b,.pv-dn span,.pv-merma{opacity:1;transform:none}
    .pv-num,.pv-smile{opacity:1;transform:none}
    .wl-stamp{animation:none;opacity:1;transform:none}
    .wl-rows i,.wa-chips span{animation:none;opacity:1;transform:none}
    .wt-val .v2{opacity:0}
  }
/* ============ sección inventario v2 ============ */
@keyframes ivspin{to{transform:rotate(360deg)}}
  @keyframes ivbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.4px)}}
  @keyframes ivbobm{0%,100%{translate:0 0}50%{translate:0 -1.4px}}
  @keyframes ividle{0%,100%{transform:translateY(0)}50%{transform:translateY(-.7px)}}
  @keyframes ivhaz{0%,100%{opacity:.25}50%{opacity:1}}
  @keyframes ivstm{0%{transform:translateY(4px) scaleY(.6);opacity:0}40%{opacity:.85}100%{transform:translateY(-12px) scaleY(1.25);opacity:0}}
  @keyframes ivlean{0%,100%{transform:rotate(0) translateY(0)}50%{transform:rotate(3deg) translateY(1.5px)}}
  @keyframes ivbite{0%,100%{transform:rotate(0)}45%{transform:rotate(-26deg)}}
  @keyframes ivchew{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.45)}}
  @keyframes ivchat{0%,72%,100%{transform:scaleY(1)}80%{transform:scaleY(.5)}88%{transform:scaleY(1.15)}}
  @keyframes ivsway{0%,100%{transform:rotate(0) translateY(0)}35%{transform:rotate(-1.6deg) translateY(-.6px)}70%{transform:rotate(1.2deg) translateY(.4px)}}
  @keyframes ivnod{0%,100%{transform:rotate(0)}30%{transform:rotate(4deg)}62%{transform:rotate(-3deg)}}
  @keyframes ivgest{0%,64%,100%{transform:rotate(0)}74%{transform:rotate(-9deg)}84%{transform:rotate(-3deg)}}
  @keyframes ivwave{0%,100%{transform:translate(-50%,-50%) rotate(0)}25%{transform:translate(-50%,-50%) rotate(-22deg)}55%{transform:translate(-50%,-50%) rotate(14deg)}80%{transform:translate(-50%,-50%) rotate(-8deg)}}
  @keyframes ivspk{0%{opacity:0;transform:scale(.4)}30%{opacity:1}100%{opacity:0;transform:scale(1.4) translateY(-10px)}}
  @keyframes ivcap{0%{transform:translateY(7px);opacity:0}100%{transform:translateY(0);opacity:1}}
  @keyframes ivbump{0%{transform:scale(1)}42%{transform:scale(1.12);color:#8F8DFF}100%{transform:scale(1)}}
  @keyframes ivglow{0%,100%{box-shadow:0 0 0 0 rgba(255,90,44,0)}50%{box-shadow:0 0 0 5px rgba(255,90,44,.16)}}
  @keyframes ivrowin{0%{transform:translateY(8px);opacity:0}100%{transform:translateY(0);opacity:1}}
  @keyframes ivneon{0%,100%{opacity:.85}50%{opacity:1}}
  @keyframes ivresthop{0%,100%{translate:0 0}26%{translate:0 -6px}52%{translate:0 0}70%{translate:0 -2.5px}86%{translate:0 0}}
  @keyframes ivlit{0%{filter:none}22%{filter:brightness(1.26) drop-shadow(0 0 18px rgba(255,197,120,.5))}100%{filter:none}}

  /* 80px y no los 130 de .sec: el módulo interno (calle 236px + stock + salón 392px)
     ya es el más alto de la página; con 130 el bloque se va de cualquier viewport
     y la coreografía pierde el encuadre. El header sí es el estándar (.eyebrow + .h2). */
  .iv-wrap{max-width:1160px;margin:0 auto;padding:80px 32px;color:#fff}
  /* la tipografía la pone .h2 (nivel A) desde index.html; acá sólo el ancho de línea */
  .iv-wrap h2{max-width:780px}
  .iv-lead{font:400 16.5px/1.6 'Hanken Grotesk',sans-serif;color:rgba(255,255,255,.62);max-width:620px;margin-top:14px}
  .iv-lead b{color:#fff}

  .iv-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:22px;margin-top:44px;position:relative;align-items:stretch}
  @media (max-width:900px){.iv-grid{grid-template-columns:1fr}}

  .iv-card{border-radius:20px;background:linear-gradient(rgba(255,255,255,.05),rgba(255,255,255,.03)) padding-box,linear-gradient(165deg,rgba(110,107,255,.5),rgba(110,107,255,.1) 38%,rgba(255,255,255,.05) 65%,rgba(110,107,255,.22)) border-box;border:1px solid transparent;overflow:hidden;position:relative;display:flex;flex-direction:column}
  .iv-tag{position:relative;display:flex;justify-content:space-between;font:700 10px 'Space Mono',monospace;letter-spacing:.1em;color:rgba(255,255,255,.72);padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.07)}
  .iv-tag .live{color:#3AD07E}

  /* ---------- escena calle ---------- */
  .iv-scene{position:relative;height:236px;margin:6px 6px 0;border-radius:14px;background:radial-gradient(90% 100% at 50% 0%,rgba(43,42,230,.16),transparent 70%);overflow:hidden}
  /* mobile: recorta el cielo muerto sobre el local. 214px es el piso: por debajo
     se corta el cartel (.iv-rest .sign vive en top:-28px sobre bottom:92px + 92px de alto) */
  @media (max-width:900px){.iv-scene{height:214px}}
  .iv-bld{position:absolute;bottom:92px;background:#1B1930;border:1px solid rgba(255,255,255,.08);border-bottom:none;border-radius:5px 5px 0 0;background-image:radial-gradient(rgba(255,185,107,.55) 1.6px,transparent 1.9px);background-size:13px 15px;background-position:5px 6px}
  .iv-tree{position:absolute;bottom:92px;width:26px;height:44px}
  .iv-tree i{position:absolute;left:50%;bottom:0;width:4px;height:16px;background:#4A3A2C;transform:translateX(-50%);border-radius:2px}
  .iv-tree b{position:absolute;left:50%;bottom:12px;width:26px;height:26px;border-radius:50%;background:#1F4A38;transform:translateX(-50%)}
  .iv-tree b::after{content:"";position:absolute;left:-6px;bottom:7px;width:17px;height:17px;border-radius:50%;background:#27684A}
  .iv-bench{position:absolute;bottom:92px;width:36px;height:20px}
  .iv-bench::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:2px;background:#4A3A55;box-shadow:0 6px 0 #4A3A55}
  .iv-bench::after{content:"";position:absolute;left:4px;right:4px;bottom:0;height:8px;border-left:3px solid #332D44;border-right:3px solid #332D44}
  .iv-sidewalk{position:absolute;left:0;right:0;bottom:36px;height:56px;background:#191830;border-top:2px solid rgba(255,255,255,.1)}
  .iv-sidewalk::after{content:"";position:absolute;left:0;right:0;top:0;height:100%;background:repeating-linear-gradient(90deg,transparent 0 33px,rgba(255,255,255,.05) 33px 34px)}
  .iv-street{position:absolute;left:0;right:0;bottom:0;height:36px;background:#0F0F1D}
  .iv-street::after{content:"";position:absolute;left:0;right:0;top:16px;height:2px;background:repeating-linear-gradient(90deg,rgba(255,233,168,.45) 0 14px,transparent 14px 27px)}
  .iv-spill{position:absolute;right:16px;bottom:36px;width:196px;height:56px;background:radial-gradient(60% 100% at 50% 0%,rgba(255,184,107,.16),transparent 72%);pointer-events:none}

  /* el local */
  .iv-rest{position:absolute;right:22px;bottom:92px;width:176px;transition:filter .45s}
  .iv-rest.hit{animation:ivresthop .66s cubic-bezier(.3,.8,.3,1),ivlit .9s ease-out}
  .iv-rest .sign{position:absolute;left:50%;top:-28px;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:3px 10px;border-radius:3px;background:#241C16;border:1px solid #5E4B39;font:400 10px Georgia,'Times New Roman',serif;font-style:italic;color:#E4C79A;white-space:nowrap;animation:ivneon 3.4s ease-in-out infinite}
  .iv-rest .sign::before{content:"";width:4px;height:4px;border-radius:6px;background:#D9B26A}

  /* ---------- grilla de stock ---------- */
  .iv-stock{display:grid;grid-template-columns:repeat(5,1fr);gap:13px 16px;padding:18px 20px 18px}
  .iv-sg{display:flex;align-items:center;gap:7px}
  .iv-sg span{font-size:21px;line-height:1;flex:none;transition:transform .3s}
  .iv-sg-bar{flex:1;height:7px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
  .iv-sg-bar i{display:block;height:100%;border-radius:99px;background:#6E6BFF;transition:width .45s cubic-bezier(.3,.7,.2,1),background .3s}
  .iv-sg.low .iv-sg-bar i{background:#E8A33D}
  .iv-sg.hit .iv-sg-bar i{background:#E84A20}
  .iv-sg.up .iv-sg-bar i{background:#3AD07E}
  .iv-sg.pick span{transform:scale(1.35)}
  /* mobile: 5 columnas dejaban la barra en 16px (ilegible). Emoji arriba, barra
     abajo a lo ancho de la celda, y solo los 16 insumos que usa la coreografía
     (los .opt se ocultan) → 2 filas de 8 en vez de 5 filas de 5 */
  @media (max-width:900px){
      .iv-stock{grid-template-columns:repeat(8,1fr);gap:13px 6px;padding:16px}
    .iv-sg{flex-direction:column;align-items:stretch;gap:6px}
    .iv-sg span{font-size:17px;line-height:1.2;text-align:center}  /* lh 1 pisa los glifos entre filas */
    .iv-sg-bar{flex:none;width:100%;height:6px}                    /* flex:1 en columna colapsa la barra */
    .iv-sg.opt{display:none}

    /* ---------- mobile: un solo módulo ----------
       En vez de 3 bloques apilados (calle+local / inventario / salón+lista) queda uno:
       un escenario que rota calle → salón → lista, con la grilla de stock fija abajo
       reaccionando a los tres. El JS mueve #ivListCard acá adentro (ver _mobileStage). */
    /* 272 y no más: la calle es una composición horizontal — estirarla sólo agrega
       cielo muerto, que es justo lo que sacamos. El espacio que liberan el título
       único y el pie compacto se lo quedan el salón y la lista, adentro del mismo box */
    .iv-swap{position:relative;height:272px;margin:6px 6px 0}
    /* un solo título: el de la card exterior. El interior lo dice el mismo texto */
    .iv-swap #ivListCard .iv-tag{display:none}
    /* total y botón comparten fila al fondo: la lista se lleva los ~50px que sobran */
    .iv-swap .iv-tot{padding:8px 10px 8px 14px;gap:8px;align-items:center}
    .iv-swap .iv-tot-l{font-size:9px;letter-spacing:.1em}
    .iv-swap .iv-tot-v{font-size:17px;margin-left:auto}
    .iv-swap .iv-send{margin:0;padding:9px 14px;border-radius:0 0 14px 14px}
    /* con el escenario más bajo, al 34% la varita caía justo sobre el texto */
    .iv-swap .iv-wand{top:62%}
    .iv-swap .iv-scene{position:absolute;inset:0;height:auto;margin:0;transition:opacity .45s}
    .iv-swap #ivListCard{position:absolute;inset:0;border:none;background:none;box-shadow:none;opacity:0;visibility:hidden;transition:opacity .45s}
    .iv-swap.b .iv-scene{opacity:0}
    .iv-swap.b #ivListCard{opacity:1;visibility:visible}
    /* scopeadas a .iv-swap: las reglas base viven más abajo en la hoja y una media
       query no suma especificidad, así que sin esto ganaban ellas */
    .iv-swap .iv-stage{min-height:0;flex:1;margin:0 6px 6px}
    /* scale es una propiedad independiente: se compone con el transform inline de
       cada mesa en vez de pisarlo */
    .iv-swap .iv-tunit{scale:.78}
    .iv-swap .iv-mozo{scale:.8}
    .iv-swap #ivListCard .iv-tag{padding:11px 14px}
  }

  /* ---------- relato de eventos (abajo a la izquierda) ---------- */
  .iv-log{margin-top:auto;padding:13px 20px 15px;border-top:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:11px;height:72px;flex:none}
  .iv-log-b{flex:none;width:24px;height:24px;border-radius:8px;background:rgba(110,107,255,.16);border:1px solid rgba(110,107,255,.42);display:flex;align-items:center;justify-content:center;font-size:12px}
  .iv-log-t{font:400 14.5px/1.35 'Hanken Grotesk',sans-serif;color:rgba(255,255,255,.78);animation:ivcap .45s cubic-bezier(.2,.7,.2,1) both}
  .iv-log-t b{color:#fff;font-weight:700}
  .iv-log-t em{color:#3AD07E;font-style:normal;font-weight:700}
  .iv-log-t s{color:#FF8A5C;text-decoration:none;font-weight:700}

  /* ---------- camiones ---------- */
  .iv-truck{position:absolute;left:-210px;bottom:4px;width:148px;z-index:3;transition:left 1.6s cubic-bezier(.4,.6,.3,1)}
  .iv-truck.wait{left:4px;transition:left 1.5s cubic-bezier(.3,.6,.3,1)}
  .iv-truck.in{left:calc(100% - 232px)}
  .iv-truck.out{left:118%;transition:left 1.5s cubic-bezier(.55,.05,.8,.4)}
  .iv-truck .whl{transform-box:fill-box;transform-origin:center}
  .iv-truck.moving .whl{animation:ivspin .55s linear infinite}
  .iv-truck.moving{animation:ivbob .32s ease-in-out infinite}
  .iv-truck.idle{animation:ividle 1.9s ease-in-out infinite}
  .iv-truck.idle .haz{animation:ivhaz .9s steps(1) infinite}
  .iv-truck .haz{opacity:0}
  .iv-truck .tk-reefer{display:none}
  .iv-truck.v-frio .tk-cab{fill:#4A9EFF}
  .iv-truck.v-frio .tk-cab2{fill:#3579D0}
  .iv-truck.v-frio .tk-cargo{fill:#D8ECFA}
  .iv-truck.v-frio .tk-reefer{display:block}
  .iv-truck.v-verde .tk-cab{fill:#34B36B}
  .iv-truck.v-verde .tk-cab2{fill:#249154}
  .iv-truck.v-verde .tk-cargo{fill:#DCF3E4}

  /* ---------- salón ---------- */
  .iv-stage{position:relative;flex:1;min-height:392px;margin:6px}
  .iv-dine{position:absolute;inset:0;border-radius:14px;overflow:hidden;transition:opacity .5s;background:linear-gradient(#18172F 0 38%,#1C1B38 38%,#141328 100%),radial-gradient(80% 60% at 50% 0%,rgba(255,184,107,.1),transparent 70%)}
  .iv-dine::before{content:"";position:absolute;left:0;right:0;top:38%;height:2px;background:rgba(255,255,255,.09)}
  .iv-dine::after{content:"";position:absolute;left:0;right:0;top:38%;bottom:0;background:radial-gradient(70% 90% at 50% 0%,rgba(255,184,107,.07),transparent 70%);pointer-events:none}
  .iv-lamp{position:absolute;top:0;width:34px;z-index:1;pointer-events:none}
  .iv-lamp i{display:block;margin:0 auto;width:1.5px;background:rgba(255,255,255,.2)}
  .iv-lamp b{display:block;width:34px;height:16px;border-radius:34px 34px 3px 3px;background:#3A3560;border:1px solid rgba(255,255,255,.16);position:relative}
  .iv-lamp b::after{content:"";position:absolute;left:5px;right:5px;bottom:-3px;height:5px;border-radius:9px;background:#FFD79A;box-shadow:0 0 10px 3px rgba(255,215,154,.5)}
  .iv-lamp s{display:block;position:absolute;left:-20px;right:-20px;height:96px;text-decoration:none;background:linear-gradient(rgba(255,215,154,.16),transparent);clip-path:polygon(27% 0,73% 0,100% 100%,0 100%);animation:ivneon 4.4s ease-in-out infinite}
  .iv-lamp.b s{animation-delay:1.5s}
  .iv-lamp.c s{animation-delay:2.8s}
  .iv-dine.away{opacity:0}
  .iv-floor{display:none}
  .iv-tunit{position:absolute;width:104px;height:70px;transform-origin:bottom center}
  .iv-chair{position:absolute;bottom:0;width:19px;height:27px;border-radius:7px 7px 0 0;background:#332E50;border:1px solid rgba(255,255,255,.12)}
  .iv-chair.l{left:2px}
  .iv-chair.r{right:2px}
  .iv-fig{position:absolute;bottom:4px;z-index:2;opacity:0;translate:0 14px;transition:opacity .55s,translate .55s cubic-bezier(.2,.8,.2,1)}
  .iv-fig.seated{opacity:1;translate:0 0}
  .iv-dine.away .iv-fig{transition:none}
  .iv-tunit.bg{opacity:.55;filter:brightness(.82) saturate(.75);z-index:1}
  .iv-fig svg{width:38px;height:auto;display:block}
  .iv-fig.L{left:-6px}
  .iv-fig.R{right:-6px;transform:scaleX(-1)}
  .iv-fig.eat svg{animation:ivlean var(--dur,1.15s) ease-in-out infinite;animation-delay:var(--d,0s)}
  .iv-fig.talk svg{animation:ivsway var(--durT,4.2s) ease-in-out infinite;animation-delay:var(--dT,0s)}
  .iv-fig .hd{transform-box:fill-box;transform-origin:62% 92%}
  .iv-fig.talk .hd{animation:ivnod var(--durN,3.1s) ease-in-out infinite;animation-delay:var(--dN,0s)}
  .iv-fig.talk .mth{animation:ivchat var(--durC,1.7s) ease-in-out infinite;animation-delay:var(--dC,0s)}
  .iv-fig .ut{opacity:0;transition:opacity .35s}
  .iv-fig.eat .ut{opacity:1}
  .iv-fig .arm{transform-box:view-box;transform-origin:27px 31px}
  .iv-fig.eat .arm{animation:ivbite var(--dur2,1.3s) ease-in-out infinite;animation-delay:var(--d2,0s)}
  .iv-fig.talk .arm{animation:ivgest var(--durG,5.4s) ease-in-out infinite;animation-delay:var(--dG,0s)}
  .iv-fig .mth{transform-box:fill-box;transform-origin:center}
  .iv-fig.eat .mth{animation:ivchew var(--dur3,.66s) ease-in-out infinite;animation-delay:var(--d3,0s)}
  .iv-ttable{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:62px;height:9px;border-radius:5px;background:#3A3556;border:1px solid rgba(255,255,255,.18);z-index:3}
  .iv-tunit.front .iv-ttable{background:#7A5333;border-color:#9B6E45;box-shadow:inset 0 2px 0 rgba(255,255,255,.14)}
  .iv-tunit.front .iv-ttable::before,.iv-tunit.front .iv-ttable::after{background:#4E351F}
  .iv-ttable::before,.iv-ttable::after{content:"";position:absolute;top:9px;width:8px;height:28px;background:#2B2742}
  .iv-ttable::before{left:11px}.iv-ttable::after{right:11px}
  .iv-dish svg{display:block}
  .iv-dish{position:absolute;left:50%;bottom:7px;transform:translateX(-50%) scale(.4);z-index:4;opacity:0;transition:opacity .3s,transform .45s cubic-bezier(.2,.8,.3,1.35)}
  .iv-dish.served{opacity:1;transform:translateX(-50%) scale(1)}
  .iv-steam{position:absolute;left:50%;bottom:40px;transform:translateX(-50%);opacity:0;transition:opacity .5s;z-index:5}
  .iv-steam.on{opacity:1}
  .iv-steam i{position:absolute;bottom:0;width:4px;height:11px;border-radius:4px;background:rgba(255,255,255,.32);animation:ivstm 1.6s ease-in-out infinite}
  .iv-steam i:nth-child(2){left:8px;animation-delay:.5s}
  .iv-steam i:nth-child(3){left:16px;animation-delay:1s}
  .iv-mozo{position:absolute;bottom:76px;left:-60px;width:42px;z-index:2;transition:left 1.05s cubic-bezier(.4,.6,.3,1),bottom 1.05s cubic-bezier(.4,.6,.3,1),transform .38s ease-out}
  .iv-mozo.walk{animation:ivbobm .32s ease-in-out infinite}
  .iv-mzp{position:absolute;left:32px;top:6px;transition:opacity .25s}

  /* ---------- lista mágica ---------- */
  .iv-tag .tg-a,.iv-tag .tg-live{transition:opacity .4s,transform .4s}
  .iv-tag .tg-b,.iv-tag .tg-tot{position:absolute;top:14px;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s}
  .iv-tag .tg-b{left:18px}
  .iv-tag .tg-tot{right:18px;color:#8F8DFF}
  .listmode .tg-a{opacity:0;transform:translateY(-6px)}
  .listmode .tg-live{opacity:0}
  .listmode .tg-b,.listmode .tg-tot{opacity:1;transform:none}

  .iv-wand{position:absolute;left:50%;top:34%;z-index:6;width:40px;height:40px;border-radius:12px;background:rgba(110,107,255,.16);border:1px solid rgba(110,107,255,.5);display:flex;align-items:center;justify-content:center;font-size:20px;transform:translate(-50%,-50%) scale(.5);transform-origin:80% 80%;opacity:0;transition:opacity .3s,transform .35s}
  .iv-wand.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
  .iv-wand.wave{animation:ivwave .9s cubic-bezier(.3,.7,.3,1)}
  .iv-sp{position:absolute;font-size:12px;color:#FFE9A8;opacity:0;pointer-events:none;z-index:40}
  .iv-sp.go{animation:ivspk .8s ease-out both}
  .iv-fly{position:absolute;left:0;top:0;display:flex;align-items:center;gap:6px;padding:5px 10px 5px 7px;border-radius:20px;background:#151427;border:1px solid rgba(255,255,255,.18);box-shadow:0 10px 26px -10px rgba(0,0,0,.95);font:700 10px 'Space Mono',monospace;white-space:nowrap;color:#fff;pointer-events:none;z-index:50;will-change:transform}
  .iv-fly span{font-size:13px;line-height:1}

  .iv-list{position:absolute;inset:0;display:flex;flex-direction:column;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .45s}
  .listmode .iv-list{opacity:1;visibility:visible}
  .iv-list-b{flex:1;overflow:hidden;padding:10px 14px 0}
  .iv-list-in{display:block;transition:transform .5s cubic-bezier(.3,.8,.3,1)}
  .iv-list-b.scrolled{mask-image:linear-gradient(transparent,#000 7%,#000 88%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 7%,#000 88%,transparent)}
  .iv-empty{padding:18px 4px;font:400 15.5px/1.5 'Hanken Grotesk',sans-serif;color:rgba(255,255,255,.7);max-height:200px;overflow:hidden;transition:opacity .3s,max-height .45s cubic-bezier(.4,0,.2,1),padding .45s}
  .iv-empty.gone{opacity:0;max-height:0;padding-top:0;padding-bottom:0}
  .iv-prov{display:none;margin-bottom:7px}
  .iv-prov.on{display:block;animation:ivrowin .45s cubic-bezier(.2,.7,.2,1) both}
  .iv-prov-h{display:flex;align-items:center;gap:8px;font:700 9.5px 'Space Mono',monospace;letter-spacing:.08em;color:rgba(255,255,255,.72);margin-bottom:4px;white-space:nowrap}
  .iv-prov-h small{margin-left:auto;font-weight:400;color:rgba(255,255,255,.72);letter-spacing:0}
  .iv-li{display:none;align-items:center;gap:8px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:9px;padding:5px 10px;margin:3px 0;font:400 11.5px 'Space Mono',monospace;color:rgba(255,255,255,.8);white-space:nowrap}
  .iv-li.on{display:flex;animation:ivrowin .4s cubic-bezier(.2,.7,.2,1) both}
  .iv-li .ck{width:14px;height:14px;flex:none;border-radius:5px;border:1.5px solid rgba(61,208,126,.75);display:flex;align-items:center;justify-content:center}
  .iv-li.on .ck::after{content:"✓";font:700 9px 'Space Mono',monospace;color:#3AD07E}
  .iv-li .q{margin-left:auto;color:#8F8DFF;font-weight:700;font-variant-numeric:tabular-nums}
  .iv-li .pr{color:rgba(255,255,255,.5);font-variant-numeric:tabular-nums;min-width:58px;text-align:right}
  .iv-tot{display:flex;align-items:baseline;gap:10px;padding:11px 18px;border-top:1px solid rgba(255,255,255,.09)}
  .iv-tot-l{font:700 10.5px 'Space Mono',monospace;letter-spacing:.12em;color:rgba(255,255,255,.72)}
  .iv-tot-v{font:700 20px 'Space Grotesk',sans-serif;letter-spacing:-.03em;margin-left:auto;font-variant-numeric:tabular-nums}
  .iv-tot-v.bump{animation:ivbump .45s cubic-bezier(.2,.8,.2,1)}
  .iv-send{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 18px 16px;padding:10px;border-radius:11px;background:#2B2AE6;font:700 12.5px 'Space Grotesk',sans-serif;color:#fff;opacity:.28;transition:opacity .4s}
  .iv-send.on{opacity:1;animation:ivglow 2s ease-in-out infinite}
