/* ============================================================
   COBRYNTA · portada
   Marca: Noche #0B1A2E, Azul Portal #1650C8, Turquesa Flujo #14B8A6,
   Ámbar Cobro #F5A524 (ver assets/brand/README.md). Tema claro.
   ============================================================ */
:root {
  --cb-noche: #ffffff;
  --cb-noche-2: #f6f9fd;
  --cb-abismo: #eef4fb;
  --cb-portal: #1650c8;
  --cb-portal-claro: #1650c8;
  --cb-flujo: #14b8a6;
  --cb-flujo-claro: #0e8a7e;
  --cb-cobro: #f5a524;
  --cb-pizarra: #5b6b80;
  --cb-niebla: #f4f7fb;
  --cb-texto: #0b1a2e;
  --cb-texto-2: #3e5069;
  --cb-linea: rgb(22 80 200 / 0.13);
  --cb-vidrio: rgb(255 255 255 / 0.85);
  --cb-grad: linear-gradient(#1650c8, #1650c8);
  --cb-grad-texto: linear-gradient(#1650c8, #1650c8);
  --cb-wa: #25d366;
  --r: 18px;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --f-titulo: "IBM Plex Sans Condensed", "IBM Plex Sans", system-ui, sans-serif;
  --f-texto: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono: "IBM Plex Mono", ui-monospace, monospace;
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; scroll-padding-top: 84px; }
body {
  margin: 0;
  background: var(--cb-noche);
  color: var(--cb-texto);
  font: 400 16px/1.65 var(--f-texto);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, video, svg { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--f-titulo); margin: 0 0 0.5em; letter-spacing: -0.005em; line-height: 1.08; }
h2 { font-size: clamp(30px, 4.4vw, 52px); font-weight: 700; }
h3 { font-size: 19px; font-weight: 600; letter-spacing: -0.01em; }
p { margin: 0 0 1em; }
::selection { background: var(--cb-flujo); color: #0b1a2e; }
:focus-visible { outline: 2px solid var(--cb-flujo-claro); outline-offset: 3px; border-radius: 8px; }
svg use { pointer-events: none; }

.skip { position: absolute; left: 12px; top: -60px; z-index: 100; padding: 10px 16px; border-radius: 10px; background: var(--cb-cobro); color: #0b1a2e; font-weight: 700; text-decoration: none; transition: top 0.2s; }
.skip:focus { top: 12px; }

.cb-wrap { width: min(1200px, 100% - 32px); margin-inline: auto; }
.cb-grad { background: var(--cb-grad-texto); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cb-mono { font-family: var(--f-mono); }
.cb-nota { font-size: 12.5px; color: var(--cb-pizarra); margin: 10px 0 0; }
.cb-centro { text-align: center; }
.cb-cobro-txt { color: var(--cb-cobro); }

/* ---------- barra de progreso ---------- */
.cb-progreso { position: fixed; inset: 0 0 auto; height: 3px; z-index: 60; pointer-events: none; }
.cb-progreso i { display: block; height: 100%; width: 100%; transform-origin: 0 50%; transform: scaleX(var(--p, 0)); background: linear-gradient(var(--cb-portal), var(--cb-portal)); }

/* ---------- encabezado ---------- */
.cb-top { position: fixed; inset: 0 0 auto; z-index: 50; padding: 12px 0; transition: background 0.3s, padding 0.3s, box-shadow 0.3s; }
.cb-top.cb-pegado { background: rgb(255 255 255 / 0.88); backdrop-filter: blur(14px) saturate(1.4); -webkit-backdrop-filter: blur(14px) saturate(1.4); box-shadow: 0 1px 0 var(--cb-linea); padding: 8px 0; }
.cb-bar { display: flex; align-items: center; gap: 20px; }
.cb-marca { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font: 700 21px/1 "Sora", var(--f-titulo); letter-spacing: -0.01em; color: var(--cb-texto); }
.cb-marca svg { width: 38px; height: 38px; }
.cb-nav { display: flex; gap: 4px; margin-left: auto; }
.cb-nav a { padding: 8px 12px; border-radius: 999px; font-size: 14.5px; font-weight: 500; color: var(--cb-texto-2); text-decoration: none; transition: color 0.2s, background 0.2s; }
.cb-nav a:hover, .cb-nav a[aria-current="true"] { color: var(--cb-texto); background: rgb(22 80 200 / 0.07); }
.cb-menu { display: none; }

/* ---------- botones ---------- */
.cb-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 22px; border-radius: 999px; border: 1px solid transparent; font: 600 15.5px/1.2 var(--f-texto); text-decoration: none; cursor: pointer; transition: transform 0.25s var(--ease), box-shadow 0.25s, background 0.25s, border-color 0.25s; position: relative; overflow: hidden; }
.cb-btn svg { width: 20px; height: 20px; flex: none; }
.cb-btn:hover { transform: translateY(-2px); }
.cb-btn-sm { min-height: 40px; padding: 8px 16px; font-size: 14px; }
.cb-btn-lg { min-height: 56px; padding: 14px 26px; font-size: 16.5px; }
.cb-btn-cobro { background: var(--cb-cobro); color: #0b1a2e; box-shadow: 0 14px 34px -14px rgb(245 165 36 / 0.7); }
.cb-btn-cobro:hover { box-shadow: 0 18px 40px -12px rgb(245 165 36 / 0.85); }
.cb-btn-wa { background: var(--cb-wa); color: #062814; box-shadow: 0 14px 34px -16px rgb(37 211 102 / 0.75); }
.cb-btn-ghost { border-color: rgb(22 80 200 / 0.22); color: var(--cb-texto); background: rgb(22 80 200 / 0.04); }
.cb-btn-ghost:hover { border-color: var(--cb-flujo-claro); background: rgb(45 212 191 / 0.08); }
.cb-btn::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent, transparent); transform: translateX(-120%); transition: transform 0.7s var(--ease); }
.cb-btn:hover::after { transform: translateX(120%); }
.cb-acciones { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* ---------- secciones con video ---------- */
.cb-video-fondo { position: relative; isolation: isolate; overflow: hidden; }
.cb-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.cb-velo { position: absolute; inset: 0; z-index: -1; background: linear-gradient(rgb(255 255 255 / 0.78), rgb(255 255 255 / 0.78)); }

/* ---------- portada ---------- */
.cb-hero { min-height: 100svh; display: flex; align-items: center; padding: 120px 0 90px; }
.cb-hero-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 56px; align-items: center; }
.cb-chip { display: inline-flex; align-items: center; gap: 10px; padding: 7px 14px 7px 10px; border-radius: 999px; border: 1px solid var(--cb-linea); background: rgb(22 80 200 / 0.05); font-size: 13.5px; color: var(--cb-texto-2); margin-bottom: 22px; }
.cb-punto { width: 9px; height: 9px; border-radius: 50%; background: var(--cb-flujo-claro); box-shadow: 0 0 0 0 rgb(45 212 191 / 0.6); animation: cb-latido 2s infinite; }
@keyframes cb-latido { 70% { box-shadow: 0 0 0 10px rgb(45 212 191 / 0); } 100% { box-shadow: 0 0 0 0 rgb(45 212 191 / 0); } }
.cb-hero h1 { font-size: clamp(40px, 6.2vw, 78px); font-weight: 800; letter-spacing: -0.035em; line-height: 1.02; margin-bottom: 22px; }
.cb-lead { font-size: clamp(17px, 1.5vw, 19.5px); color: var(--cb-texto-2); max-width: 620px; }
.cb-lead b { color: var(--cb-texto); font-weight: 600; }
.cb-audio { margin-top: 22px; display: inline-flex; align-items: center; gap: 10px; padding: 8px 14px 8px 8px; border-radius: 999px; border: 1px solid var(--cb-linea); background: rgb(22 80 200 / 0.04); color: var(--cb-texto-2); font: 500 14px var(--f-texto); cursor: pointer; }
.cb-audio[hidden] { display: none; }
.cb-audio svg { width: 30px; height: 30px; padding: 6px; border-radius: 50%; background: var(--cb-grad); color: #fff; }
.cb-audio[aria-pressed="true"] svg { animation: cb-latido 1.4s infinite; }
.cb-scroll { position: absolute; left: 50%; bottom: 24px; width: 26px; height: 42px; margin-left: -13px; border: 2px solid rgb(22 80 200 / 0.35); border-radius: 14px; }
.cb-scroll i { position: absolute; left: 50%; top: 8px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: var(--cb-texto); animation: cb-rueda 1.8s infinite; }
@keyframes cb-rueda { 0% { transform: translateY(0); opacity: 1; } 80% { transform: translateY(14px); opacity: 0; } 100% { opacity: 0; } }

/* feed de portales */
.cb-feed { border-radius: 22px; padding: 18px; background: var(--cb-vidrio); border: 1px solid var(--cb-linea); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); box-shadow: 0 40px 90px -40px rgb(22 50 110 / 0.28), inset 0 1px 0 rgb(22 80 200 / 0.06); transform: perspective(1200px) rotateY(-6deg) rotateX(3deg); transition: transform 0.6s var(--ease); }
.cb-feed:hover { transform: perspective(1200px) rotateY(0) rotateX(0); }
.cb-feed-cab { display: flex; align-items: center; gap: 12px; font-size: 12.5px; color: var(--cb-pizarra); padding: 0 4px 14px; border-bottom: 1px solid var(--cb-linea); }
.cb-luces { display: flex; gap: 6px; }
.cb-luces i { width: 10px; height: 10px; border-radius: 50%; background: #ff5f57; }
.cb-luces i:nth-child(2) { background: #febc2e; }
.cb-luces i:nth-child(3) { background: #28c840; }
.cb-vivo { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; color: var(--cb-flujo-claro); font-weight: 600; }
.cb-vivo::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; animation: cb-latido 1.6s infinite; }
.cb-feed-lista { list-style: none; margin: 10px 0; padding: 0; display: grid; gap: 8px; }
.cb-feed-lista li { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 11px 12px; border-radius: 12px; background: rgb(22 80 200 / 0.035); border: 1px solid transparent; font-size: 14px; transition: background 0.4s, border-color 0.4s, transform 0.5s var(--ease), opacity 0.5s; }
.cb-feed-lista li.cb-nueva { animation: cb-entra 0.7s var(--ease); }
@keyframes cb-entra { from { opacity: 0; transform: translateY(-14px) scale(0.98); } }
.cb-folio { font: 600 12.5px var(--f-mono); color: var(--cb-texto-2); }
.cb-cliente { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cb-estado { font: 600 12px/1 var(--f-mono); padding: 6px 10px; border-radius: 999px; white-space: nowrap; }
.cb-estado[data-paso="0"] { background: rgb(160 190 230 / 0.12); color: var(--cb-texto-2); }
.cb-estado[data-paso="1"] { background: rgb(75 130 240 / 0.18); color: #1650c8; }
.cb-estado[data-paso="2"] { background: rgb(245 165 36 / 0.16); color: #9a5b00; }
.cb-estado[data-paso="2"]::after { content: ""; display: inline-block; width: 22px; height: 3px; margin-left: 7px; vertical-align: middle; border-radius: 2px; background: linear-gradient(var(--cb-cobro), var(--cb-cobro)); background-size: 200% 100%; animation: cb-barra 1s linear infinite; }
@keyframes cb-barra { to { background-position: -100% 0; } }
.cb-estado[data-paso="3"] { background: rgb(20 184 166 / 0.18); color: #0b7a6f; }
.cb-estado[data-paso="3"]::before { content: "✓ "; }
.cb-feed-lista li:has([data-paso="3"]) { border-color: rgb(45 212 191 / 0.25); }
.cb-feed-pie { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding-top: 14px; border-top: 1px solid var(--cb-linea); }
.cb-feed-pie div { padding: 6px 4px; }
.cb-feed-pie b { display: block; font: 700 22px/1.1 var(--f-titulo); }
.cb-feed-pie span { font-size: 12px; color: var(--cb-pizarra); }

/* ---------- banda ---------- */
.cb-banda { border-block: 1px solid var(--cb-linea); background: linear-gradient(var(--cb-noche), var(--cb-noche)); padding: 34px 0 0; }
.cb-banda-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding-bottom: 30px; }
.cb-banda-grid b { font: 800 clamp(36px, 4vw, 52px)/1 var(--f-titulo); background: var(--cb-grad-texto); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cb-banda-grid small { font: 700 22px var(--f-titulo); color: var(--cb-flujo-claro); }
.cb-banda-grid span { display: block; margin-top: 6px; font-size: 14px; color: var(--cb-texto-2); }
.cb-marquee { overflow: hidden; border-top: 1px solid var(--cb-linea); padding: 14px 0; mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.cb-marquee-pista { display: flex; gap: 12px; width: max-content; animation: cb-desliza 50s linear infinite; }
.cb-marquee-pista span { padding: 7px 16px; border-radius: 999px; border: 1px solid var(--cb-linea); font: 500 13px var(--f-mono); color: var(--cb-texto-2); white-space: nowrap; }
.cb-marquee-pista span:nth-child(3n) { color: var(--cb-flujo-claro); }
.cb-marquee-pista span:nth-child(5n) { color: var(--cb-cobro); }
@keyframes cb-desliza { to { transform: translateX(-50%); } }

/* ---------- secciones ---------- */
.cb-sec { padding: clamp(80px, 10vw, 130px) 0; position: relative; }
.cb-alt { background: var(--cb-abismo); }
.cb-eyebrow { display: inline-flex; align-items: center; gap: 10px; font: 600 12.5px/1.4 var(--f-mono); letter-spacing: 0.18em; text-transform: uppercase; color: var(--cb-flujo-claro); margin-bottom: 16px; }
.cb-eyebrow::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: var(--cb-cobro); }
.cb-sub { font-size: clamp(16.5px, 1.4vw, 19px); color: var(--cb-texto-2); max-width: 720px; }
.cb-dos { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(32px, 6vw, 80px); align-items: center; }

/* mapa de servicios */
.cb-mapa { margin-top: 44px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cb-tarjeta { position: relative; display: block; padding: 28px; border-radius: var(--r); text-decoration: none; background: linear-gradient(rgb(22 80 200 / 0.045), rgb(22 80 200 / 0.045)); border: 1px solid var(--cb-linea); transition: transform 0.45s var(--ease), border-color 0.3s, box-shadow 0.45s; overflow: hidden; }
.cb-tarjeta::before { content: ""; position: absolute; inset: 0; background: none; opacity: 0; transition: opacity 0.3s; }
.cb-tarjeta:hover { transform: translateY(-6px); border-color: rgb(45 212 191 / 0.4); box-shadow: 0 30px 60px -30px rgb(22 50 110 / 0.24); }
.cb-tarjeta:hover::before { opacity: 1; }
.cb-tarjeta p { color: var(--cb-texto-2); font-size: 15px; margin: 0; position: relative; }
.cb-tarjeta h3 { position: relative; }
.cb-destacada { background: linear-gradient(rgb(22 80 200 / 0.35), rgb(22 80 200 / 0.35)); border-color: rgb(75 130 240 / 0.4); }
.cb-badge { position: absolute; top: 18px; right: 18px; padding: 5px 10px; border-radius: 999px; background: var(--cb-cobro); color: #0b1a2e; font: 700 11px/1 var(--f-mono); letter-spacing: 0.04em; }
.cb-ico { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; margin-bottom: 18px; background: var(--cb-grad); color: #fff; box-shadow: 0 12px 30px -12px rgb(22 80 200 / 0.8); position: relative; }
.cb-ico svg { width: 26px; height: 26px; }

/* núcleo: portales, CxC y CxP al frente; lo demás más chico */
.cb-nucleo { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 22px 0 0; }
.cb-nucleo a { display: inline-flex; align-items: center; gap: 9px; padding: 10px 16px; border-radius: 14px; text-decoration: none; font: 600 15px var(--f-titulo); background: #fff; border: 1px solid rgb(22 80 200 / 0.2); box-shadow: 0 8px 20px -14px rgb(22 50 110 / 0.4); transition: background 0.3s, transform 0.3s var(--ease); }
.cb-nucleo a:hover { background: #ecf8f6; transform: translateY(-2px); }
.cb-nucleo svg { width: 20px; height: 20px; color: var(--cb-portal); }
.cb-mapa-nucleo .cb-tarjeta { padding: 34px 30px; min-height: 250px; }
.cb-mapa-nucleo h3 { font-size: 23px; }
.cb-ademas { margin: 46px 0 0; font: 600 12.5px/1 var(--f-mono); letter-spacing: 0.18em; text-transform: uppercase; color: var(--cb-pizarra); }
.cb-mapa-extra { margin-top: 16px; }
.cb-mapa-extra .cb-tarjeta { padding: 20px 22px; display: grid; grid-template-columns: auto 1fr; column-gap: 16px; align-items: center; }
.cb-mapa-extra .cb-ico { margin: 0; grid-row: span 2; width: 44px; height: 44px; }
.cb-mapa-extra .cb-ico svg { width: 22px; height: 22px; }
.cb-mapa-extra h3 { margin: 0 0 2px; font-size: 17px; }
.cb-mapa-extra p { font-size: 14px; }

/* listas */
.cb-lista { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 12px; }
.cb-lista li { display: grid; grid-template-columns: 24px 1fr; gap: 12px; color: var(--cb-texto-2); }
.cb-lista svg { width: 24px; height: 24px; padding: 4px; border-radius: 50%; background: rgb(20 184 166 / 0.16); color: var(--cb-flujo-claro); margin-top: 1px; }
.cb-sectores { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.cb-sectores span { padding: 6px 13px; border-radius: 999px; font-size: 13px; border: 1px solid var(--cb-linea); color: var(--cb-texto-2); background: rgb(22 80 200 / 0.03); }

/* pasos */
.cb-pasos { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; position: relative; }
.cb-pasos::before { content: ""; position: absolute; left: 27px; top: 30px; bottom: 30px; width: 2px; background: linear-gradient(var(--cb-portal), var(--cb-portal)); opacity: 0.5; }
.cb-pasos li { display: grid; grid-template-columns: 56px 1fr; gap: 18px; padding: 20px 22px 20px 0; border-radius: var(--r); position: relative; }
.cb-pasos li > div { padding: 18px 22px; border-radius: var(--r); background: var(--cb-vidrio); border: 1px solid var(--cb-linea); }
.cb-pasos p { margin: 0; color: var(--cb-texto-2); font-size: 15px; }
.cb-num { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #fff; border: 2px solid var(--cb-flujo); font: 800 20px var(--f-titulo); color: var(--cb-portal); position: relative; z-index: 1; align-self: center; }
.cb-pasos li.cb-visible .cb-num { animation: cb-pulso 2.4s var(--ease) 1; }
@keyframes cb-pulso { 0% { box-shadow: 0 0 0 0 rgb(45 212 191 / 0.6); } 100% { box-shadow: 0 0 0 18px rgb(45 212 191 / 0); } }

/* cobranza */
.cb-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 44px; }
.cb-panel { padding: 32px; border-radius: 24px; border: 1px solid var(--cb-linea); background: linear-gradient(rgb(22 80 200 / 0.05), rgb(22 80 200 / 0.05)); }
.cb-panel header { display: flex; align-items: center; gap: 16px; }
.cb-panel header .cb-ico { margin: 0; }
.cb-panel h3 { margin: 0; font-size: 24px; }
.cb-mas { display: inline-flex; align-items: center; gap: 8px; margin-top: 24px; color: var(--cb-flujo-claro); font-weight: 600; text-decoration: none; }
.cb-mas svg { width: 18px; height: 18px; transition: transform 0.3s var(--ease); }
.cb-mas:hover svg { transform: translateX(4px); }

/* alertas */
.cb-canales { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.cb-canales span { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 12px; background: var(--cb-vidrio); border: 1px solid var(--cb-linea); font-weight: 500; font-size: 14.5px; }
.cb-canales svg { width: 18px; height: 18px; color: var(--cb-flujo-claro); }
.cb-tel { justify-self: center; width: min(360px, 100%); }
.cb-tel-marco { border-radius: 38px; padding: 12px; background: #fff; border: 1px solid rgb(22 80 200 / 0.16); box-shadow: 0 50px 100px -40px rgb(22 50 110 / 0.32), 0 0 0 6px rgb(22 80 200 / 0.03); }
.cb-tel-cab { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 26px 26px 0 0; background: #eef4fb; }
.cb-tel-cab svg { width: 34px; height: 34px; background: #0b1a2e; border-radius: 50%; padding: 3px; }
.cb-tel-cab b { display: block; font-size: 14.5px; }
.cb-tel-cab small { color: var(--cb-flujo-claro); font-size: 12px; }
.cb-tel-chat { height: 430px; overflow: hidden; padding: 14px 12px; border-radius: 0 0 26px 26px; background: #f8fbfe; display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; }
.cb-msg { position: relative; margin: 0; max-width: 92%; padding: 10px 12px 18px; border-radius: 4px 14px 14px 14px; background: #eaf2fc; font-size: 13.5px; line-height: 1.45; color: #0b1a2e; box-shadow: 0 2px 0 rgb(22 50 110 / 0.07); }
.cb-msg::after { content: attr(data-hora); position: absolute; right: 10px; bottom: 4px; font-size: 10.5px; color: var(--cb-pizarra); }
.cb-msg-alerta { border-left: 3px solid var(--cb-cobro); }
.cb-msg-ok { border-left: 3px solid var(--cb-flujo-claro); }
.js .cb-tel-chat .cb-msg { display: none; }
.js .cb-tel-chat .cb-msg.cb-ve { display: block; animation: cb-burbuja 0.6s var(--ease); }
@keyframes cb-burbuja { from { opacity: 0; transform: translateY(16px) scale(0.96); } }
.cb-escribiendo { align-self: flex-start; display: flex; gap: 4px; padding: 12px 14px; border-radius: 14px; background: #eaf2fc; }
.cb-escribiendo i { width: 7px; height: 7px; border-radius: 50%; background: var(--cb-pizarra); animation: cb-salta 1s infinite; }
.cb-escribiendo i:nth-child(2) { animation-delay: 0.15s; }
.cb-escribiendo i:nth-child(3) { animation-delay: 0.3s; }
@keyframes cb-salta { 30% { transform: translateY(-5px); background: var(--cb-portal); } }

/* infraestructura */
.cb-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 38px; padding: 6px; border-radius: 20px; background: var(--cb-vidrio); border: 1px solid var(--cb-linea); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.cb-tabs button { padding: 14px 10px; border-radius: 14px; border: 0; background: transparent; color: var(--cb-texto-2); font: 600 16px var(--f-titulo); cursor: pointer; transition: background 0.3s, color 0.3s; }
.cb-tabs button small { display: block; margin-top: 3px; font: 500 12px var(--f-texto); color: var(--cb-pizarra); }
.cb-tabs button[aria-selected="true"] { background: var(--cb-grad); color: #fff; box-shadow: 0 12px 30px -14px rgb(22 80 200 / 0.9); }
.cb-tabs button[aria-selected="true"] small { color: rgb(255 255 255 / 0.85); }
.cb-tab-panel { margin-top: 26px; animation: cb-aparece 0.6s var(--ease); }
@keyframes cb-aparece { from { opacity: 0; transform: translateY(14px); } }
.cb-tab-lema { font: 600 20px var(--f-titulo); color: var(--cb-texto); }
.cb-infra { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.cb-infra li { position: relative; padding: 20px; border-radius: 16px; background: var(--cb-vidrio); border: 1px solid var(--cb-linea); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); transition: transform 0.4s var(--ease), border-color 0.3s; animation: cb-aparece 0.6s var(--ease) backwards; }
.cb-infra li:nth-child(2) { animation-delay: 0.04s; } .cb-infra li:nth-child(3) { animation-delay: 0.08s; } .cb-infra li:nth-child(4) { animation-delay: 0.12s; }
.cb-infra li:nth-child(5) { animation-delay: 0.16s; } .cb-infra li:nth-child(6) { animation-delay: 0.2s; } .cb-infra li:nth-child(7) { animation-delay: 0.24s; } .cb-infra li:nth-child(8) { animation-delay: 0.28s; }
.cb-infra li:hover { transform: translateY(-4px); border-color: rgb(45 212 191 / 0.4); }
.cb-infra b { display: block; font: 600 16px/1.3 var(--f-titulo); margin-bottom: 6px; padding-right: 10px; }
.cb-infra span { font-size: 14px; color: var(--cb-texto-2); }
.cb-infra em { position: absolute; top: -9px; right: 12px; padding: 4px 9px; border-radius: 999px; background: var(--cb-cobro); color: #0b1a2e; font: 700 10.5px/1 var(--f-mono); font-style: normal; }
.cb-catalogo { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 34px; }
.cb-catalogo span { display: inline-flex; align-items: center; gap: 8px; padding: 9px 15px; border-radius: 999px; border: 1px solid var(--cb-linea); background: rgb(22 80 200 / 0.03); font-size: 14px; }
.cb-catalogo svg { width: 18px; height: 18px; color: var(--cb-flujo-claro); }
#infraestructura .cb-acciones { justify-content: center; }

/* BI */
.cb-galeria { margin: 40px 0 34px; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.cb-galeria-pista { display: flex; gap: 16px; width: max-content; animation: cb-desliza 70s linear infinite; }
.cb-galeria-pista:hover { animation-play-state: paused; }
.cb-galeria img { width: 340px; height: 210px; object-fit: cover; object-position: top; border-radius: 14px; border: 1px solid var(--cb-linea); box-shadow: 0 20px 40px -24px rgb(22 50 110 / 0.28); }
.cb-enlaces { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.cb-enlace { display: grid; grid-template-columns: auto 1fr auto; grid-template-rows: auto auto; column-gap: 14px; align-items: center; padding: 20px; border-radius: var(--r); text-decoration: none; border: 1px solid var(--cb-linea); background: rgb(22 80 200 / 0.03); transition: transform 0.4s var(--ease), border-color 0.3s, background 0.3s; }
.cb-enlace .cb-ico { grid-row: span 2; margin: 0; width: 44px; height: 44px; }
.cb-enlace .cb-ico svg { width: 22px; height: 22px; }
.cb-enlace b { font: 600 17px var(--f-titulo); }
.cb-enlace > span:not(.cb-ico) { grid-column: 2; font-size: 13.5px; color: var(--cb-texto-2); line-height: 1.4; }
.cb-fl { grid-row: 1 / span 2; grid-column: 3; width: 20px; height: 20px; color: var(--cb-flujo-claro); transition: transform 0.3s var(--ease); }
.cb-enlace:hover { transform: translateY(-4px); border-color: rgb(45 212 191 / 0.45); background: rgb(45 212 191 / 0.06); }
.cb-enlace:hover .cb-fl { transform: translateX(4px); }

/* QR */
.cb-qrs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; margin-top: 44px; }
.cb-qr { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 22px 18px 20px; border-radius: 24px; text-decoration: none; position: relative; background: var(--cb-noche-2); isolation: isolate; transition: transform 0.5s var(--ease); }
/* borde animado que gira alrededor de cada QR */
.cb-qr::before { content: ""; position: absolute; inset: -1.5px; z-index: -2; border-radius: 25px; background: linear-gradient(var(--cb-portal), var(--cb-portal)); animation: cb-gira 6s linear infinite; opacity: 0.85; }
.cb-qr::after { content: ""; position: absolute; inset: 1px; z-index: -1; border-radius: 23px; background: var(--cb-noche-2); }
@property --giro { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes cb-gira { to { --giro: 360deg; } }
.cb-qr:hover { transform: translateY(-8px) rotate(-1deg); }
.cb-qr-caja { position: relative; display: block; width: 100%; aspect-ratio: 1; padding: 6px; border-radius: 16px; background: #fff; overflow: hidden; margin-bottom: 14px; box-shadow: 0 20px 50px -20px rgb(20 184 166 / 0.55); }
.cb-qr-caja img { width: 100%; height: 100%; }
.js .cb-qr-caja img { clip-path: inset(0 0 100% 0); transition: clip-path 1.4s var(--ease); }
.js .cb-qr.cb-visible .cb-qr-caja img { clip-path: inset(0 0 0 0); }
.cb-qr-logo { position: absolute; left: 50%; top: 50%; width: 22%; height: 22%; transform: translate(-50%, -50%) scale(0); padding: 3%; border-radius: 22%; background: #0b1a2e; box-shadow: 0 0 0 5px #fff; transition: transform 0.6s var(--ease) 1.1s; }
.cb-qr.cb-visible .cb-qr-logo, .no-js .cb-qr-logo { transform: translate(-50%, -50%) scale(1); }
.cb-scan { position: absolute; left: 0; right: 0; top: 0; height: 22%; background: linear-gradient(transparent, transparent); border-bottom: 2px solid var(--cb-flujo); animation: cb-escanea 2.8s var(--ease) infinite; pointer-events: none; mix-blend-mode: multiply; }
@keyframes cb-escanea { 0% { transform: translateY(-100%); } 60%, 100% { transform: translateY(480%); } }
.cb-qr b { font: 700 18px var(--f-titulo); }
.cb-qr small { font: 500 12px var(--f-mono); color: var(--cb-pizarra); }

/* contacto */
.cb-final { background: var(--cb-abismo); }
.cb-final-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 50px; align-items: center; }
.cb-firma { padding: 30px; border-radius: 26px; background: var(--cb-vidrio); border: 1px solid var(--cb-linea); }
.cb-firma-logo { width: 64px; height: 64px; margin-bottom: 14px; }
.cb-firma b { display: block; font: 700 24px var(--f-titulo); }
.cb-firma > span { color: var(--cb-flujo-claro); font-weight: 500; }
.cb-firma ul { list-style: none; padding: 0; margin: 20px 0 0; display: grid; gap: 12px; }
.cb-firma li { display: flex; gap: 10px; align-items: center; font-size: 14.5px; color: var(--cb-texto-2); }
.cb-firma li svg { width: 18px; height: 18px; flex: none; color: var(--cb-flujo-claro); }
.cb-firma a { color: var(--cb-texto); }
.cb-firma li > span { display: grid; line-height: 1.35; }
.cb-firma li small { font: 600 10.5px/1.4 var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--cb-pizarra); }
.cb-aviso { display: flex; gap: 10px; margin: 22px 0 0; padding: 14px 16px; border-radius: 14px; font-size: 13.5px; line-height: 1.5; color: var(--cb-texto-2); background: linear-gradient(rgb(245 165 36 / .14), rgb(245 165 36 / .14)); border: 1px solid rgb(245 165 36 / .4); }
.cb-aviso svg { width: 18px; height: 18px; flex: none; margin-top: 2px; color: var(--cb-cobro); }
.cb-aviso b { color: var(--cb-cobro); }
.cb-aviso a { color: var(--cb-flujo-claro); }
.cb-correos { display: flex; flex-wrap: wrap; gap: 10px 36px; }
.cb-correos small { display: block; font: 600 10.5px/1.4 var(--f-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--cb-pizarra); }
.cb-correos a { color: var(--cb-texto); text-decoration: none; font-weight: 600; font-size: 14.5px; }

/* pie */
.cb-pie { padding: 40px 0 90px; border-top: 1px solid var(--cb-linea); background: var(--cb-abismo); }
.cb-pie-grid { display: grid; gap: 18px; justify-items: start; }
.cb-pie nav { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.cb-pie nav a { color: var(--cb-texto-2); text-decoration: none; font-size: 14px; }
.cb-pie nav a:hover { color: var(--cb-texto); }
.cb-pie small { color: var(--cb-pizarra); }

.cb-flota { position: fixed; right: 18px; bottom: 18px; z-index: 40; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--cb-wa); color: #fff; box-shadow: 0 16px 34px -10px rgb(37 211 102 / 0.7); animation: cb-flota 3s ease-in-out infinite; }
.cb-flota svg { width: 30px; height: 30px; }
@keyframes cb-flota { 50% { transform: translateY(-6px); } }

/* ---------- aparición al bajar ---------- */
.js .cb-in { opacity: 0; transform: translateY(28px); transition: opacity 0.9s var(--ease), transform 0.9s var(--ease); transition-delay: var(--d, 0s); }
.js .cb-in.cb-visible { opacity: 1; transform: none; }
.js .cb-feed.cb-in.cb-visible { transform: perspective(1200px) rotateY(-6deg) rotateX(3deg); }
.js .cb-feed.cb-in.cb-visible:hover { transform: perspective(1200px) rotateY(0) rotateX(0); }

/* ---------- responsivo ---------- */
@media (max-width: 1080px) {
  .cb-nav { display: none; }
  .cb-menu { display: inline-grid; gap: 5px; place-content: center; width: 44px; height: 44px; margin-left: 4px; border-radius: 12px; border: 1px solid var(--cb-linea); background: rgb(22 80 200 / 0.05); cursor: pointer; }
  .cb-menu i { width: 18px; height: 2px; border-radius: 2px; background: var(--cb-texto); transition: transform 0.3s, opacity 0.3s; }
  .cb-bar > .cb-btn-wa { margin-left: auto; }
  .cb-top.cb-abierto .cb-nav { display: flex; flex-direction: column; position: absolute; top: 100%; left: 16px; right: 16px; padding: 10px; border-radius: 18px; background: rgb(255 255 255 / 0.98); border: 1px solid var(--cb-linea); box-shadow: 0 30px 60px -20px rgb(22 50 110 / 0.28); }
  .cb-top.cb-abierto .cb-nav a { padding: 12px 14px; font-size: 16px; }
  .cb-top.cb-abierto .cb-menu i:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .cb-top.cb-abierto .cb-menu i:nth-child(2) { opacity: 0; }
  .cb-top.cb-abierto .cb-menu i:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .cb-hero-grid, .cb-dos, .cb-final-grid { grid-template-columns: 1fr; }
  .cb-feed, .js .cb-feed.cb-in.cb-visible { transform: none; }
  .cb-infra { grid-template-columns: repeat(2, 1fr); }
  .cb-enlaces, .cb-qrs { grid-template-columns: repeat(2, 1fr); }
  .cb-mapa { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .cb-bar > .cb-btn-wa span { display: none; }
  .cb-bar > .cb-btn-wa { padding: 8px 11px; }
  .cb-hero { padding-top: 100px; }
  .cb-btn-lg { width: 100%; }
  .cb-banda-grid { grid-template-columns: repeat(2, 1fr); }
  .cb-mapa, .cb-cols, .cb-infra, .cb-enlaces { grid-template-columns: 1fr; }
  .cb-tabs { grid-template-columns: repeat(2, 1fr); }
  .cb-qrs { gap: 14px; }
  .cb-qr { padding: 14px 12px; }
  .cb-qr b { font-size: 15px; }
  .cb-qr small { font-size: 10px; text-align: center; word-break: break-all; }
  .cb-feed-pie b { font-size: 18px; }
  .cb-panel { padding: 24px; }
  .cb-galeria img { width: 250px; height: 155px; }
  .cb-pasos li { padding-right: 0; grid-template-columns: 48px 1fr; gap: 12px; }
  .cb-num { width: 48px; height: 48px; font-size: 18px; }
  .cb-pasos::before { left: 23px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
  .cb-video { display: none; }
  .js .cb-in { opacity: 1; transform: none; }
  .js .cb-qr-caja img { clip-path: none; }
  .cb-qr-logo { transform: translate(-50%, -50%) scale(1); }
}
.cb-firma .cb-aviso b { display: inline; font: inherit; font-weight: 700; color: var(--cb-cobro); }

/* ===== Visuales: capacidades, fotos, sectores, proceso ===== */
.cb-banda-grid .cb-cap { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; align-items: start; }
.cb-banda-grid .cb-cap .cb-ico { display: grid; grid-row: span 2; margin: 0; width: 44px; height: 44px; font-size: inherit; }
.cb-banda-grid .cb-cap b { font: 700 17px/1.3 var(--f-titulo); background: none; color: var(--cb-texto, #fff); -webkit-text-fill-color: currentColor; }
.cb-banda-grid .cb-cap span:not(.cb-ico) { margin-top: 4px; font-size: 13.5px; }
.cb-foto { position: relative; display: block; margin: -34px -30px 20px; height: 150px; overflow: hidden; border-bottom: 1px solid var(--cb-linea); }
.cb-foto img { width: 100%; height: 100%; object-fit: cover; object-position: top; opacity: 0.75; transition: transform 0.8s var(--ease), opacity 0.4s; }
.cb-foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(rgb(255 255 255 / 0), rgb(255 255 255 / 0)); }
.cb-tarjeta:hover .cb-foto img { transform: scale(1.06); opacity: 0.95; }
.cb-mapa-nucleo .cb-foto + .cb-ico { margin-top: -44px; position: relative; z-index: 1; box-shadow: 0 10px 24px -8px rgb(22 50 110 / 0.21); }
.cb-sectores span { display: inline-flex; align-items: center; gap: 7px; }
.cb-sectores svg { width: 15px; height: 15px; color: var(--cb-flujo-claro); flex: none; }
.cb-proceso { list-style: none; padding: 0; margin: 40px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; counter-reset: none; }
.cb-proceso .cb-tarjeta { padding: 26px 24px; }
.cb-proceso .cb-tarjeta:hover { transform: translateY(-4px); }
.cb-proceso h3 { margin: 16px 0 8px; font-size: 18px; }
.cb-paso-n { position: absolute; top: 18px; right: 20px; font: 600 13px var(--f-mono, monospace); letter-spacing: 0.08em; color: var(--cb-flujo-claro); opacity: 0.8; }
@media (max-width: 900px) { .cb-proceso { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .cb-proceso { grid-template-columns: 1fr; } .cb-foto { height: 120px; } }

/* ===== Diseño claro: tarjetas blancas con sombra suave ===== */
.cb-tarjeta, .cb-panel, .cb-pasos li > div, .cb-enlace, .cb-infra, .cb-hero-panel, .cb-firma { background: #fff; border-color: rgb(22 80 200 / 0.12); box-shadow: 0 1px 2px rgb(22 50 110 / 0.05), 0 18px 40px -26px rgb(22 50 110 / 0.35); }
.cb-tarjeta:hover { box-shadow: 0 28px 60px -30px rgb(22 80 200 / 0.45); border-color: rgb(20 184 166 / 0.5); }
.cb-destacada { background: linear-gradient(#ffffff, #ffffff); border-color: rgb(22 80 200 / 0.22); }
.cb-foto::after { background: linear-gradient(rgb(255 255 255 / 0), rgb(255 255 255 / 0)); }
.cb-foto img { opacity: 0.95; }
.cb-alt { background: linear-gradient(#f3f7fd, #f3f7fd); }
.cb-final { background: #f3f7fd; }
.cb-banda { background: linear-gradient(#ffffff, #ffffff); }
.cb-sectores span, .cb-chip { background: #fff; }
.cb-qr, .cb-qr::after { background: #fff; }
.cb-pie { background: linear-gradient(#f3f7fd, #f3f7fd); }
.cb-grad { -webkit-text-fill-color: transparent; }
.cb-video-fondo { background: linear-gradient(#ffffff, #ffffff); }
.cb-video { opacity: 0.16; filter: saturate(0.6); }
.cb-video-fondo .cb-velo { background: none; }
.cb-video { opacity: 0.55; filter: invert(1) hue-rotate(180deg) saturate(0.9); }
.cb-hero .cb-velo, .cb-velo { background: linear-gradient(rgb(255 255 255 / 0.55), rgb(255 255 255 / 0.55)); }

/* ============================================================
   CAPA INDUSTRIAL (Memo, 2026-11-05): formato tipo portal de
   proveedores / transportista. Sin degradados ni brillos, esquinas
   rectas, bandas sólidas, títulos condensados en mayúsculas.
   ============================================================ */
:root { --ind-tinta: #0b1a2e; --ind-azul: #1650c8; --ind-linea: #d3dbe6; --ind-gris: #f3f5f8; --ind-ambar: #f5a524; }
body { background: #fff; }
[class^="cb-"], [class*=" cb-"], [class^="cb-"]::before, [class^="cb-"]::after { border-radius: 2px !important; }
.cb-top *, .cb-sec *, .cb-hero *, .cb-banda *, .cb-pie * { box-shadow: none !important; }
.cb-grad, .cb-banda-grid b { background: none !important; -webkit-text-fill-color: currentColor !important; color: var(--ind-azul) !important; }
.cb-btn::after { display: none; }
.cb-btn:hover, .cb-feed:hover { transform: none; }
.cb-feed { transform: none !important; backdrop-filter: none; -webkit-backdrop-filter: none; background: #fff; border: 1px solid var(--ind-linea); border-top: 4px solid var(--ind-tinta); }

/* títulos */
h1, h2 { text-transform: uppercase; letter-spacing: 0.005em; font-weight: 700; }
.cb-hero h1 { font-size: clamp(36px, 5.2vw, 64px); letter-spacing: 0; line-height: 1.02; }
.cb-sec h2 { font-size: clamp(30px, 3.6vw, 46px); line-height: 1.04; }
h3 { letter-spacing: 0.01em; }
.cb-eyebrow { color: var(--ind-tinta); letter-spacing: 0.16em; padding: 5px 10px 5px 0; border-bottom: 2px solid var(--ind-tinta); }
.cb-eyebrow::before { width: 10px; height: 10px; background: var(--ind-ambar); }

/* encabezado */
.cb-top { background: #fff; border-bottom: 1px solid var(--ind-linea); }
.cb-top.cb-pegado { background: #fff; backdrop-filter: none; -webkit-backdrop-filter: none; border-bottom: 3px solid var(--ind-tinta); }
.cb-nav a { font: 600 13.5px var(--f-titulo); text-transform: uppercase; letter-spacing: 0.06em; color: var(--ind-tinta); }
.cb-nav a:hover, .cb-nav a[aria-current="true"] { background: var(--ind-gris); box-shadow: inset 0 -3px 0 var(--ind-ambar) !important; }

/* botones */
.cb-btn { font: 700 14.5px/1.2 var(--f-titulo); text-transform: uppercase; letter-spacing: 0.06em; }
.cb-btn-cobro { background: var(--ind-ambar); color: var(--ind-tinta); border-color: #d98e12; }
.cb-btn-cobro:hover { background: #e39814; }
.cb-btn-ghost { background: #fff; border: 1.5px solid var(--ind-tinta); color: var(--ind-tinta); }
.cb-btn-ghost:hover { background: var(--ind-tinta); color: #fff; border-color: var(--ind-tinta); }
.cb-btn-wa { border-color: #1aa84f; }

/* íconos y viñetas */
.cb-ico { background: var(--ind-tinta) !important; color: #fff; }
.cb-ico::after { display: none; }
.cb-lista svg { background: var(--ind-tinta); color: #fff; padding: 5px; width: 20px; height: 20px; margin-top: 3px; }
.cb-lista li { grid-template-columns: 20px 1fr; color: var(--ind-tinta); }
.cb-num { border: 2px solid var(--ind-tinta); color: var(--ind-tinta); background: #fff; }
.cb-tabs button[aria-selected="true"] { background: var(--ind-tinta) !important; color: #fff; }
.cb-audio svg { background: var(--ind-tinta); }

/* superficies: tarjetas tipo ficha con barra superior */
.cb-panel, .cb-servicio, .cb-tarjeta, .cb-card, .cb-paso, .cb-enlace, .cb-mapa-extra > *, .cb-infra > * { background: #fff !important; border: 1px solid var(--ind-linea) !important; }
.cb-panel { border-top: 4px solid var(--ind-azul) !important; }
.cb-chip, .cb-sectores span { background: #fff; border-color: var(--ind-linea); color: var(--ind-tinta); }
.cb-sectores svg { color: var(--ind-tinta); }

/* fondos: planos, sin video ni partículas de color */
.cb-alt, .cb-video-fondo { background: var(--ind-gris) !important; border-block: 1px solid var(--ind-linea); }
.cb-video { opacity: 0.08 !important; filter: grayscale(1) invert(1) !important; }
.cb-video-fondo .cb-velo { background: none !important; }
.cb-hero.cb-video-fondo { background: #fff !important; background-image: linear-gradient(rgb(11 26 46 / 0.045) 1px, transparent 1px), linear-gradient(90deg, rgb(11 26 46 / 0.045) 1px, transparent 1px) !important; background-size: 32px 32px !important; }
canvas { opacity: 0.35; filter: grayscale(1); }

/* ficha técnica (texto tipo catálogo) */
.cb-ficha { margin: 22px 0 6px; border: 1px solid var(--ind-linea); font-size: 13.5px; }
.cb-ficha div { display: grid; grid-template-columns: 128px 1fr; border-top: 1px solid var(--ind-linea); }
.cb-ficha div:first-child { border-top: 0; }
.cb-ficha dt { padding: 8px 12px; background: var(--ind-gris); font: 600 11px/1.5 var(--f-mono); letter-spacing: 0.1em; text-transform: uppercase; color: #3e5069; border-right: 1px solid var(--ind-linea); }
.cb-ficha dd { margin: 0; padding: 8px 12px; color: var(--ind-tinta); }
.cb-ficha-cab { display: flex; justify-content: space-between; margin: 22px 0 0; padding: 6px 12px; background: var(--ind-tinta); color: #fff; font: 600 11px var(--f-mono); letter-spacing: 0.12em; text-transform: uppercase; }
.cb-ficha-cab + .cb-ficha { margin-top: 0; border-top: 0; }
@media (max-width: 560px) { .cb-ficha div { grid-template-columns: 1fr; } .cb-ficha dt { border-right: 0; } }
.cb-top *, .cb-sec *, .cb-hero *, .cb-banda *, .cb-pie *, .cb-marquee * { border-radius: 2px !important; }
.cb-pasos li > div { background: #fff; border: 1px solid var(--ind-linea); border-left: 4px solid var(--ind-tinta); }
.cb-pasos::before { background: var(--ind-tinta); opacity: 0.25; }
.cb-marquee-pista span, .cb-marquee-pista span:nth-child(3n), .cb-marquee-pista span:nth-child(5n) { color: var(--ind-tinta); background: #fff; border-color: var(--ind-linea); text-transform: uppercase; font-size: 12px; letter-spacing: 0.06em; }
.cb-marquee { background: var(--ind-gris); }
.cb-qr::before { background: var(--ind-linea) !important; }
.cb-qr { border-top: 4px solid var(--ind-tinta); }
.cb-qr:hover { transform: none; }
.cb-final { background: var(--ind-gris) !important; border-top: 1px solid var(--ind-linea); }
.cb-pie { background: var(--ind-tinta) !important; color: #c9d4e3; border-top: 4px solid var(--ind-ambar); }
.cb-pie nav a, .cb-pie small, .cb-pie b, .cb-pie a { color: #dbe3ee !important; }
.cb-pie .cb-marca { color: #fff; }
.cb-paso-n { color: var(--ind-tinta); opacity: 1; }
.cb-final [class*="flujo"], .cb-final em, .cb-final strong { color: var(--ind-tinta); }

/* ===== SIN COLORES MIXTOS: titulares en un solo color ===== */
.cb-grad, .cb-banda-grid b { color: inherit !important; -webkit-text-fill-color: currentColor !important; background: none !important; }
