/* ============================================================
   BIGG PARAGUAY · identidad y piezas SVG animadas
   verde neón #ADFF19 (logo) · verde de botones #85FC36 · negro #121212
   display ancha (Archivo 125) + Inter. Sobre el neón, texto negro;
   sobre negro, blanco o neón.
   ============================================================ */
:root{--neon:#ADFF19;--neon-b:#85FC36;--neon-osc:#5C8F00;--neg:#121212;--rojo-b:#E83007;--fondo:#F3F3EF}

/* ---------- tipografía display ancha ---------- */
.gate__t,.hub-cab h2,.mod h3,.paso b,.fase__cab h3,.tour-card h4,.tour-invita h3,.hito b,.kpi__val,.hoy__k b,.simx__big,.simx__f .val,.simx__o b,.pblo b,.mod__kpis b,.boot__k b,.hallazgo .num,.top h1,.sede h4,.ficha__k b,.sala-cab b,.semana__d b,.msede h4,.msede__k b,.sede__k b{font-family:var(--disp);font-stretch:125%;font-variation-settings:"wdth" 125}
.mod h3{font-size:19px;font-weight:900;letter-spacing:-.01em;text-transform:uppercase;line-height:1.08;padding-right:84px}
.hub-cab h2{font-size:46px;font-weight:900;letter-spacing:-.02em}
.hub-cab h2 span{color:var(--neg);background:linear-gradient(transparent 62%,var(--neon) 62%,var(--neon) 92%,transparent 92%);padding:0 4px}
.top h1{font-weight:900;font-size:16px;text-transform:uppercase;letter-spacing:-.01em}
.kpi__val{font-size:31px;font-weight:900;letter-spacing:-.02em}
.hoy__k b{font-size:27px;font-weight:900;letter-spacing:-.02em}
.mod__kpis b{font-size:18px;font-weight:900}
.pblo b{font-weight:900}
.fase__cab h3{font-size:18px;font-weight:900;letter-spacing:-.01em}
.paso b{font-size:13px;font-weight:900;letter-spacing:-.01em}
.hallazgo .num{font-size:30px;font-weight:900;color:var(--neg);-webkit-text-stroke:0}
.hito b{font-size:13px;font-weight:900;color:var(--neg)}
.tour-card h4{font-size:18px;font-weight:900}
.tour-invita h3{font-size:22px;font-weight:900}
.neon-t{background:var(--neg);color:var(--neon)!important;padding:0 5px;border-radius:4px}

/* ---------- logo: trazo neón y relleno ---------- */
.wm-svg svg{width:100%;height:auto;display:block}
.wm-svg .bg-l{fill:var(--neon)}
.wm-svg.trazob .bg-l{stroke:var(--neon);stroke-width:.9;stroke-dasharray:1 1;stroke-dashoffset:1;fill-opacity:0;animation:bTrazo 2.2s cubic-bezier(.5,.1,.3,1) .15s forwards}
@keyframes bTrazo{60%{stroke-dashoffset:0;fill-opacity:0}100%{stroke-dashoffset:0;fill-opacity:1;stroke-width:0}}
.gate{background:#0A0A0A}
.gate__logo{filter:drop-shadow(0 0 34px rgba(173,255,25,.28));width:auto}
.gate__logo .wm-svg{width:min(330px,70vw);margin:0 auto}
.gate__bg i{background:linear-gradient(90deg,transparent,var(--neon) 40%,var(--neon) 60%,transparent)!important;opacity:.07}
.gate__bg i:nth-child(2){opacity:.04}
.gate__pulso{position:absolute;left:0;right:0;top:50%;height:120px;transform:translateY(-50%);opacity:.22;pointer-events:none}
.gate__pulso svg{width:100%;height:100%}
.gate__pulso path{fill:none;stroke:var(--neon);stroke-width:2.5;stroke-dasharray:.22 1;stroke-dashoffset:1.22;animation:pulsoCorre 3.2s linear infinite}
@keyframes pulsoCorre{to{stroke-dashoffset:0}}
.gate__t{font-size:24px;font-weight:900;letter-spacing:.02em}
.gate__s{color:#A3A39B}
.pin__cajas input{border-color:#2E2E2E;background:#141414;font-family:var(--disp);caret-color:var(--neon)}
.pin__cajas input:focus{border-color:var(--neon);box-shadow:0 0 0 4px rgba(173,255,25,.16)}
.pin__cajas.err input{border-color:var(--rojo-b)}
.pin__btn{background:var(--neon);color:var(--neg);font-weight:800;box-shadow:0 8px 28px rgba(173,255,25,.28)}
.pin__btn:hover{box-shadow:0 12px 34px rgba(173,255,25,.42)}
.pin__err{color:#FF6A4D}
.gate__pie{color:#8A8A82}

/* wipe neón con el logo en negro */
.wipe{background:var(--neon)}
.wipe__emb{width:260px;height:auto}
.wipe__emb .wm-svg{width:260px}
.wm-wipe .bg-l{fill:var(--neg)!important}

/* ---------- layout ---------- */
.side{background:#0E0E0E}
.side__brand,.side__pie{border-color:#232323}
.marca__emb{width:84px;height:auto;flex:0 0 84px;display:flex;align-items:center}
.marca__emb .wm-svg{width:84px}
.marca__txt strong{font-family:var(--disp);font-stretch:125%;font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.02em}
.nav__it{color:#C9C9C1}
.nav__it:hover{background:#1E1E1E}
.nav__it.on{background:rgba(173,255,25,.1);color:#fff}
.nav__it.on::before{background:var(--neon)}
.nav__it.on svg{color:var(--neon)}
.nav__it .pin{background:var(--neon);color:var(--neg)}
.nav__it .pin--gris{background:#2A2A2A;color:#C9C9C1}
.nav__rot{color:rgba(255,255,255,.55)}
.side__pie b{color:var(--neon)}
.chip--neon{background:var(--neon);color:var(--neg);border-color:var(--neon)}
.chip--negro{background:var(--neg);border-color:var(--neg)}
.chip--vivo{background:#EAF7D6;color:#2D5C00;border-color:#CDEBA6}
.chip--vivo i{background:var(--neon-osc)}

/* ---------- módulos del hub ---------- */
.mod::before{background:var(--neon);height:5px}
.mod:hover{border-color:#C6EF7A}
.mod__ico{background:#F2FFD9;color:var(--neg)}
.mod:hover .mod__ico{background:var(--neg);color:var(--neon)}
.mod:hover .mod__ir{background:var(--neon);color:var(--neg)}
.mod--dark{background:var(--neg);border-color:var(--neg)}
.mod--dark .mod__ico{background:rgba(173,255,25,.12);color:var(--neon)}
.mod--dark:hover .mod__ico{background:var(--neon);color:var(--neg)}
.mod--dark p,.mod--dark .mod__kpis div{color:#B4B4AC}
.mod--dark .mod__kpis b{color:var(--neon)}
.mod--dark .mod__kpis{border-color:#2E2E2E}
.mod--dark .mod__ir{background:#262626}
.hub-cab--b p{max-width:760px;color:var(--tinta-70)}

/* ---------- KPI ---------- */
.kpi--neon::after{background:var(--neon)}
.kpi--rojo::after{background:var(--rojo-b)}
.kpi--azul::after{background:#3D60AF}
.kpi::after{background:var(--neg)}
.kpi__rot{color:var(--tinta-45)}
.hoy__k::after{width:5px}
.hoy__kpis{align-content:stretch}
.hoy__k{justify-content:center}

/* ---------- tarjetas de marca ---------- */
.card--negro{background:var(--neg);border-color:var(--neg)}
.card--negro .feed__it{background:#1C1C1C;border-color:#2A2A2A}
.card--negro .feed__it .ic{background:rgba(173,255,25,.14);color:var(--neon)}
.card--negro .stack div{background:#1C1C1C;border-color:#2A2A2A;color:#fff}
.card--negro .stack b{color:#fff}.card--negro .stack span,.card--negro .stack b small{color:#B4B4AC}
.card--negro .stack .stack--alerta{border-left-color:#FF6A4D}
.card--neon{background:var(--neon);border-color:#9BE611;color:var(--neg)}
.card--neon .card__cab h3{color:var(--neg)}
.card--neon .card__cab p{color:#2B3A00}
.card--neon .panel{background:#fff}
.card--neon .t th{background:rgba(0,0,0,.06);color:#26330A;border-color:rgba(0,0,0,.1)}
.card--neon .t td{border-color:rgba(0,0,0,.1)}
.card--neon .t tbody tr:hover td{background:rgba(255,255,255,.35)}
.card--neon .tabla-env{background:rgba(255,255,255,.55);border-radius:12px}
.card--neon .precios--junto .pblo{background:rgba(255,255,255,.55);border:1px solid rgba(0,0,0,.12)}
.card--neon .precios--junto .pblo small{color:#26330A}
.card--neon .precios--junto .pblo b{color:var(--neg)}
.card--neon .precios--junto .pblo span{color:#2B3A00}
.card--neon .as-nota{background:rgba(255,255,255,.5);border:1px solid rgba(0,0,0,.12);color:var(--neg);border-radius:10px;padding:10px 12px}
.card--neon .chip--negro{color:var(--neon)}
.card--pulso{background:var(--neg);border-color:var(--neg);color:#fff;margin-bottom:16px;overflow:hidden}
.pulso-fila{display:flex;align-items:center;gap:20px;padding:14px 20px}
.pulso-fila>div{flex:0 0 auto;display:flex;flex-direction:column}
.pulso-fila small{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:#A3A39B;font-weight:700}
.pulso-fila b{font-family:var(--disp);font-stretch:125%;font-weight:900;font-size:22px;color:var(--neon);line-height:1.1}
.pulso-fila span{font-size:11.5px;color:#B4B4AC}
.bx-pulso{flex:1 1 auto;min-width:0;height:64px;display:block}
.bx-pulso__base{fill:none;stroke:#2C2C2C;stroke-width:2.5}
.bx-pulso__vivo{fill:none;stroke:var(--neon);stroke-width:3;stroke-linejoin:round;stroke-dasharray:.28 1;stroke-dashoffset:1.28;animation:pulsoCorre 2.8s linear infinite;filter:drop-shadow(0 0 6px rgba(173,255,25,.6))}

/* ---------- sedes (hub) ---------- */
.sedes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sede{background:#fff;border:1px solid var(--linea);border-radius:16px;overflow:hidden;box-shadow:var(--sombra-1);animation:cardIn .5s ease both;transition:transform .25s,box-shadow .25s;min-width:0}
.sede:nth-child(2){animation-delay:.08s}.sede:nth-child(3){animation-delay:.16s}.sede:nth-child(4){animation-delay:.24s}
.sede:hover{transform:translateY(-3px);box-shadow:var(--sombra-2)}
.sede__foto{height:132px;background-size:cover;background-position:center;position:relative}
.sede__foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.55))}
.sede__foto .chip{position:absolute;left:12px;bottom:10px;z-index:1}
.sede__cuerpo{padding:12px 14px 14px}
.sede h4{margin:0;font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:-.01em}
.sede__bar{font-size:11.5px;color:var(--tinta-45)}
.sede__k{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0 8px;padding:8px 0;border-top:1px dashed var(--linea);border-bottom:1px dashed var(--linea)}
.sede__k b{display:block;font-size:17px;font-weight:900;line-height:1.1}
.sede__k small{font-size:10px;color:var(--tinta-45);text-transform:uppercase;letter-spacing:.05em}
.sede__wa{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--tinta-70);font-weight:600}
.sede__wa svg{width:15px;height:15px;color:var(--neon-osc)}

/* ---------- mapa de Gran Asunción ---------- */
.mapa-metro{background:#fff;border:1px solid var(--linea);border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0}
.mapa-metro svg{width:100%;height:auto;display:block;max-height:560px;border-radius:12px}
.hoy .mapa-metro svg{max-height:470px}
.mt-agua{fill:#DCE5E8}
.mt-dist{fill:#F4F4EF;stroke:#C5C5BB;stroke-width:2;stroke-linejoin:round}
.mt-dist--cap{fill:#FFFFFF;stroke:#A9A99F;stroke-width:2.5}
.mt-lab{font-family:var(--disp);font-stretch:125%;font-size:20px;font-weight:800;fill:#B1B1A7;letter-spacing:.06em;text-transform:uppercase}
.mt-rio{font-family:var(--disp);font-stretch:125%;font-size:18px;font-weight:800;fill:#86A1AB;letter-spacing:.3em}
.mt-anillo{fill:rgba(173,255,25,.1);stroke:var(--neon-osc);stroke-width:2.5;stroke-dasharray:1 1;stroke-dashoffset:1;animation:dibuja 1.4s ease forwards;animation-delay:var(--d)}
@keyframes dibuja{to{stroke-dashoffset:0}}
.mt-radar path{fill:rgba(173,255,25,.32)}
.mt-comp{fill:var(--c);fill-opacity:.82;stroke:#fff;stroke-width:2;animation:popIn .5s ease both;transform-box:fill-box;transform-origin:center}
.mt-comp:hover{fill-opacity:1;stroke:var(--neg)}
@keyframes popIn{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:none}}
.mt-sede .halo{fill:var(--neon);opacity:.35;transform-box:fill-box;transform-origin:center;animation:late 2.2s ease-out infinite}
@keyframes late{0%{transform:scale(.7);opacity:.55}100%{transform:scale(1.5);opacity:0}}
.mt-sede .nucleo{fill:var(--neg);stroke:var(--neon);stroke-width:4}
.mt-sede .b{font-family:var(--disp);font-stretch:125%;font-weight:900;font-size:15px;fill:var(--neon)}
.mt-sede .et{font-family:var(--disp);font-stretch:125%;font-weight:900;font-size:24px;fill:var(--neg);paint-order:stroke;stroke:#fff;stroke-width:6px;stroke-linejoin:round;text-transform:uppercase}
.mt-sede .ev{font-family:var(--sans);font-weight:600;font-size:17px;fill:#3A3A36;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}
.mt-zona circle{fill:rgba(61,96,175,.1);stroke:#3D60AF;stroke-width:2.5;stroke-dasharray:8 8;animation:zona 3s ease-in-out infinite;animation-delay:var(--d);transform-box:fill-box;transform-origin:center}
.mt-zona circle.c{fill:#3D60AF;stroke:#fff;stroke-dasharray:none;animation:none}
.mt-zona text{font-family:var(--sans);font-weight:700;font-size:17px;fill:#2A4A93;paint-order:stroke;stroke:#fff;stroke-width:5px}
@keyframes zona{0%,100%{transform:scale(.92)}50%{transform:scale(1.06)}}
.leyenda .ley-anillo{border-radius:50%;background:rgba(173,255,25,.25);border:2px solid var(--neon-osc);width:11px;height:11px}

/* ---------- diagnóstico ---------- */
.diag-kpis{display:grid;gap:16px;align-content:start}
.kpi--lh .lh-fila{display:flex;align-items:center;gap:12px;margin-top:6px}
.kpi--lh .bx-medidor{width:112px;flex:0 0 112px;background:var(--neg);border-radius:12px;padding:6px 6px 0}
.hallazgo .sol{background:#F2FFD9;color:var(--neg);border-left:4px solid var(--neon-osc)}
.hallazgo .sol b{color:var(--neg)}
.hallazgo .imp{margin-top:6px}
.stack .stack--alerta{border-left:4px solid var(--rojo-b)}
.stack div{border-left:4px solid transparent}
.lh-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;text-align:center}
.lh-4 span{display:block;font-size:10.5px;color:#B4B4AC;margin-top:2px;line-height:1.25}
.bx-medidor{width:100%;height:auto;display:block}
.bx-med{animation:medir 1.4s cubic-bezier(.2,.8,.2,1) both}
@keyframes medir{from{stroke-dasharray:0 var(--L)}}
.lh-2{display:grid;gap:18px}
.lh-2 h5{margin:0 0 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--neon)}
.tag--rojo{background:#FDE7E1;color:#A82200}
.tag--neon{background:var(--neon);color:var(--neg)}
.tag--verde{background:#EAF7D6;color:#2D5C00}
.feed__it .ic{background:#F2FFD9;color:var(--neg)}
.feed__it .ic.rojo{background:#FDE7E1;color:#C42A08}
.feed__it .ic.verde{background:#EAF7D6;color:#3F7F00}
.feed__it .ic svg{width:16px;height:16px}

/* ---------- socios ---------- */
.ficha__cab{display:flex;align-items:center;gap:12px}
.ficha__av{width:48px;height:48px;border-radius:50%;background:var(--neon);color:var(--neg);display:grid;place-items:center;font-family:var(--disp);font-stretch:125%;font-weight:900;font-size:16px;flex:0 0 48px}
.ficha__cab b{display:block;font-size:15px;color:#fff}.ficha__cab b small{font-weight:500;color:#A3A39B;font-size:11px}
.ficha__cab span{font-size:11.5px;color:#B4B4AC}
.ficha__r{margin-left:auto}
.ficha__k{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}
.ficha__k div{background:#1C1C1C;border:1px solid #2A2A2A;border-radius:10px;padding:9px 10px;min-width:0}
.ficha__k b{display:block;font-size:20px;font-weight:900;color:var(--neon);line-height:1.1}
.ficha__k small{font-size:10px;color:#A3A39B;line-height:1.25;display:block}
.ficha__sub{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:#A3A39B;font-weight:700;margin-bottom:6px}
.bx-dias{width:100%;max-width:420px;height:auto;display:block}
.bx-dias rect{fill:#262626;animation:popIn .35s ease both;animation-delay:var(--d);transform-box:fill-box;transform-origin:center}
.bx-dias rect.on{fill:var(--neon)}
.bx-dias rect.gap{fill:#1A1A1A;stroke:#FF6A4D;stroke-width:1.5;stroke-dasharray:3 3}
.ficha__acc .as-nota{background:rgba(173,255,25,.1);border:1px solid rgba(173,255,25,.35);color:#fff;border-radius:10px;padding:10px 12px}
.fila-sel{cursor:pointer}
.fila-sel.on td{background:#F2FFD9!important}

/* ---------- flujo en vivo ---------- */
.flujo{grid-template-columns:repeat(5,minmax(0,1fr))}
.flujo-k{margin:-4px 0 8px}
.flujo-k__svg{width:100%;height:auto;display:block;overflow:visible}
.flujo-k__base{fill:none;stroke:#E4E4DE;stroke-width:6;stroke-linecap:round}
.flujo-k__hecho{fill:none;stroke:var(--neon-osc);stroke-width:6;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1}
.flujo-k__nodo{fill:#fff;stroke:#CFCFC7;stroke-width:4;transition:fill .3s,stroke .3s}
.flujo-k__nodo.on{fill:var(--neon);stroke:var(--neg)}
.paso.on{border-color:var(--neg);box-shadow:0 0 0 3px var(--neon)}
.paso.ok{border-color:var(--neon-osc)}
.paso.on .num{background:var(--neon);color:var(--neg)}.paso.ok .num{background:var(--neon-osc)}

/* ---------- grilla ---------- */
.hscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.hm{display:grid;grid-template-columns:96px repeat(var(--n),minmax(40px,1fr));gap:4px;min-width:640px}
.hm__h{font-size:10px;font-weight:700;color:var(--tinta-45);text-align:center;padding-bottom:2px}
.hm__s{font-size:11.5px;font-weight:800;display:flex;align-items:center;text-transform:uppercase;font-family:var(--disp);font-stretch:125%}
.hm__c{position:relative;height:44px;border-radius:8px;background:rgba(173,255,25,var(--v));border:1px solid rgba(0,0,0,.07);font-size:12px;font-weight:800;color:var(--neg);font-variant-numeric:tabular-nums;animation:popIn .4s ease both;transition:transform .15s,box-shadow .15s}
.hm__c:hover{transform:translateY(-2px);box-shadow:var(--sombra-2)}
.hm__c.full{background:var(--neg);color:var(--neon)}
.hm__c i{position:absolute;top:2px;right:4px;font-style:normal;font-size:9px;color:#FF8A6B}
.hm__c.on{outline:3px solid #3D60AF;outline-offset:1px}
.sala-cab{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.sala-cab>div{flex:1;min-width:0}
.sala-cab small{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:#A3A39B;font-weight:700}
.sala-cab b{display:block;font-size:22px;font-weight:900;color:var(--neon);line-height:1.15}
.sala-cab span{font-size:12px;color:#C9C9C1}
.bx-reloj{width:92px;flex:0 0 92px;height:auto}
.bx-reloj__fg{animation:medir 1.2s ease both}
.bx-sala{width:100%;height:auto;display:block}
.bx-est rect,.bx-est circle{transition:fill .3s}
.bx-est__mat{fill:#232323}.bx-est__box{fill:#333}.bx-est__p{fill:#2E2E2E}
.bx-est.on .bx-est__mat{fill:rgba(173,255,25,.18)}.bx-est.on .bx-est__box{fill:var(--neon)}.bx-est.on .bx-est__p{fill:var(--neon)}
.bx-est.on{animation:estOn .4s ease both;animation-delay:var(--d)}
@keyframes estOn{from{opacity:.2}to{opacity:1}}
.semana{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.semana__d{background:var(--neg);border-radius:14px;padding:14px;color:#fff;animation:cardIn .45s ease both;animation-delay:var(--d);min-width:0}
.semana__d small{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:#A3A39B;font-weight:700}
.semana__d b{display:block;font-size:15px;font-weight:900;color:var(--neon);margin:4px 0 2px;text-transform:uppercase;overflow-wrap:anywhere}
.semana__d span{font-size:11px;color:#C9C9C1}
.t--wrap td{white-space:normal}

/* ---------- captación ---------- */
.embudo-env{max-width:560px;margin:0 auto}
.bx-embudo{width:100%;height:auto;display:block}
.bx-et{animation:cardIn .5s ease both;animation-delay:var(--d)}
.bx-et__v{font-family:var(--disp);font-stretch:125%;font-weight:900;font-size:20px}
.bx-et__l{font-family:var(--sans);font-size:11.5px;font-weight:600}
.bx-gota{fill:var(--neon);opacity:0;animation:gota 2.6s ease-in infinite;animation-delay:var(--d)}
@keyframes gota{0%{transform:translateY(0);opacity:0}10%{opacity:1}85%{opacity:1}100%{transform:translateY(var(--y));opacity:0}}
.canal{display:inline-block;font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em;background:#EEE;color:#333}
.canal--ig{background:var(--neon);color:var(--neg)}.canal--wa{background:#DDF8C6;color:#2D5C00}.canal--google{background:#E7EDF8;color:#2A4A93}.canal--web{background:#EEE;color:#333}.canal--fb{background:#3D60AF;color:#fff}.canal--ref{background:#FFE6D6;color:#8A3A00}

/* ---------- web ---------- */
.carrera-env{max-width:440px;margin:0 auto}
.bx-carrera{width:100%;height:auto;display:block}
.bx-carga{transform-box:fill-box;transform-origin:left center;animation:carga var(--t) linear both}
@keyframes carga{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.bx-pag{opacity:0;animation:aparece .4s ease both;animation-delay:var(--t)}
@keyframes aparece{to{opacity:1}}
.hoy-mal{color:#B22300;font-weight:600}
.hoy-bien{color:#2D5C00;font-weight:700}
.msede{border-radius:16px;overflow:hidden;border:1px solid var(--linea);background:#fff}
.msede__foto{height:170px;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;justify-content:space-between;padding:12px 14px}
.msede__foto::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.65))}
.msede__logo{position:relative;width:96px}
.msede__logo svg{width:100%;height:auto;display:block}
.msede__logo .bg-l{fill:var(--neon)}
.msede__foto span{position:relative;color:#fff;font-size:12px;font-weight:600}
.msede__cuerpo{padding:14px 16px 16px}
.msede h4{margin:0 0 4px;font-size:17px;font-weight:900;text-transform:uppercase}
.msede p{margin:0;font-size:12.5px;color:var(--tinta-70);line-height:1.5}
.msede__k{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.msede__k div{background:var(--fondo);border-radius:10px;padding:8px 10px;min-width:0}
.msede__k b{display:block;font-size:15px;font-weight:900}
.msede__k small{font-size:10.5px;color:var(--tinta-45)}
.msede__hor{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.msede__hor span{font-size:11px;font-weight:700;padding:4px 8px;border-radius:7px;background:#F2FFD9;border:1px solid #D9F59E}
.msede__hor span.llena{background:var(--neg);color:var(--neon);border-color:var(--neg)}
.msede__btn{background:var(--neon);color:var(--neg);font-weight:900;text-align:center;padding:12px;border-radius:999px;font-family:var(--disp);font-stretch:125%;text-transform:uppercase;font-size:13px}

/* ---------- cobros ---------- */
.debito-env{max-width:420px;margin:0 auto}
.bx-debito{width:100%;height:auto;display:block}
.bx-deb__card{animation:tarjeta 4s cubic-bezier(.6,0,.3,1) infinite}
@keyframes tarjeta{0%,10%{transform:translateX(0)}40%,70%{transform:translateX(70px)}95%,100%{transform:translateX(0)}}
.bx-deb__ok{opacity:0;animation:ok 4s ease infinite}
@keyframes ok{0%,38%{opacity:0}45%,85%{opacity:1}95%,100%{opacity:0}}

/* ---------- dirección ---------- */
.stack-cards{display:grid;gap:10px;align-content:start}
.dsede{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--linea);border-radius:14px;padding:10px;animation:cardIn .45s ease both;min-width:0}
.dsede>div:last-child{flex:1;min-width:0}
.dsede__foto{width:64px;height:64px;border-radius:10px;background-size:cover;background-position:center;flex:0 0 64px}
.dsede b{display:block;font-family:var(--disp);font-stretch:125%;font-weight:900;text-transform:uppercase;font-size:13px}
.dsede span{font-size:11.5px;color:var(--tinta-45)}
.dsede .barra{margin-top:7px}
.barra i{background:var(--neg)}

/* ---------- propuesta ---------- */
.card--ruta .card__cuerpo{padding-top:4px}
.bx-ruta3{width:100%;height:auto;display:block}
.bx-dibuja{stroke-dasharray:1 1;stroke-dashoffset:1;animation:dibuja 2.2s ease forwards}
.bx-nodo{animation:popIn .5s ease both;animation-delay:calc(.4s + var(--d));transform-box:fill-box;transform-origin:center}
.fase__cab{border-top-color:var(--c)}
.fase__cab .n{background:var(--neg);color:var(--c)}
.sis .ic{color:var(--neg);background:#F2FFD9;border-color:#D9F59E}
.plataforma>div{background:#1C1C1C;border-color:#2A2A2A}
.plataforma .ic{background:rgba(173,255,25,.14);color:var(--neon)}
.plataforma span{color:#B4B4AC}
.hito::before{border-color:var(--neg);background:var(--neon)}
.hito:nth-child(3n+2)::before,.hito:nth-child(3n)::before{border-color:var(--neg)}
.btn--neon{background:var(--neon);border-color:var(--neon);color:var(--neg);font-weight:800}
.btn--neon:hover{background:var(--neon-b);border-color:var(--neon-b)}
.btn--negro{color:var(--neon)}
.card--neon .btn--negro{padding:11px 18px;font-weight:800}

/* ---------- simuladores ---------- */
.simx__res{border-color:var(--neg)}
.simx__res .simx__h{color:var(--neon-osc)}
.simx__f .val{color:var(--neg);font-weight:900}
.simx__f input[type=range]{accent-color:var(--neon-osc)}
.simx__big{font-weight:900;color:var(--neg)}

/* ---------- apertura, asistente, recorrido ---------- */
.boot{background:#0A0A0A}
.boot__emb{width:min(260px,58vw);margin-bottom:10px}
.boot__pulso{max-width:520px;margin:0 auto 10px}
.boot__pulso .bx-pulso{height:56px;width:100%}
.boot__k b{color:var(--neon);font-weight:900}
.boot__barra i{background:var(--neon)}
.as-fab{background:var(--neg)}
.as-fab svg{color:var(--neon)}
.as-fab:hover,.as-fab.on{background:var(--neon);color:var(--neg)}
.as-fab:hover svg,.as-fab.on svg{color:var(--neg)}
.as-msg--yo{background:var(--neg)!important;color:#fff}
.as-send{background:var(--neg)!important;color:var(--neon)!important}
.tour-card__n{color:var(--neon-osc)}
.tour-card__barra i{background:linear-gradient(90deg,var(--neg),var(--neon))}
.tour-spot{box-shadow:0 0 0 9999px rgba(0,0,0,.72),0 0 0 3px var(--neon)}
.tour-invita__emb{width:120px;height:auto}
.tour-invita__emb .wm-svg{width:120px}
.tour-invita__emb .bg-l{fill:var(--neg)}
.pie{background:#fff}

/* ---------- responsive ---------- */
@media (max-width:1400px){.hub-cab h2{font-size:40px}}
@media (max-width:1180px){.sedes{grid-template-columns:repeat(2,minmax(0,1fr))}.semana{grid-template-columns:repeat(3,minmax(0,1fr))}.flujo{grid-template-columns:repeat(3,minmax(0,1fr))}.lh-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){
  .hub-cab h2{font-size:32px}
  .sedes{grid-template-columns:1fr}
  .semana{grid-template-columns:repeat(2,minmax(0,1fr))}
  .flujo{grid-template-columns:1fr}
  .pulso-fila{flex-direction:column;align-items:flex-start;gap:8px}
  .bx-pulso{width:100%}
  .ficha__k{grid-template-columns:repeat(2,minmax(0,1fr))}
  .msede__k{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mod h3{padding-right:96px}
  .top__der .chip--negro{display:none}
  .mt-sede .et{font-size:30px}.mt-sede .ev{font-size:22px}
}
@media (prefers-reduced-motion:reduce){
  .gate__pulso path,.bx-pulso__vivo,.mt-sede .halo,.mt-zona circle,.bx-gota,.bx-deb__card,.bx-deb__ok,.wm-svg.trazob .bg-l{animation:none!important}
  .wm-svg.trazob .bg-l{fill-opacity:1;stroke-width:0}
  .bx-deb__ok{opacity:1}
  .mt-anillo,.bx-dibuja{stroke-dashoffset:0;animation:none!important}
}
.sin-anim .mod{opacity:1}
.kpi:has(.kpi__spark) .kpi__pie{padding-right:92px}
.kpi__spark{width:86px;height:30px}
.pblo b span{font-size:inherit;display:inline;color:inherit;font-weight:inherit}
