
body.v2 { --bto-ink: #0e1530; --bto-blue: #1f3bff; --bto-blue-d: #1429c8; --bto-cream: #edebe4; --bto-cream-2: #e4e1d8; --bto-paper: #fafaf7; --bto-muted: #4a5068; --bto-warm: #1f3bff;
  --v2-t: 'Poppins', system-ui, sans-serif; --v2-c: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
  font-family: var(--v2-c); background: var(--bto-paper); color: var(--bto-ink); }
body.v2 :where(*:not(svg):not(svg *)) { font-family: inherit; }
body.v2 h1, body.v2 h2, body.v2 h3, body.v2 h1 *, body.v2 h2 *, body.v2 h3 *, body.v2 .b-stat b, body.v2 .b-caso-m, body.v2 .v2-datos dt, body.v2 .b-fila-cifra, body.v2 .b-puente-cifra,
body.v2 .b-caso-mini-cifra, body.v2 .b-plat-nombre, body.v2 header a[href="/"], body.v2 .b-hero-cifra b { font-family: var(--v2-t); font-optical-sizing: auto; }
body.v2 h1, body.v2 .b-h1 { font-weight: 600; letter-spacing: -.035em !important; line-height: 1.05 !important; }
body.v2 h2, body.v2 .b-h2 { font-weight: 600; letter-spacing: -.022em !important; line-height: 1.06 !important; }
body.v2 .b-h2 { font-size: clamp(1.9rem, 4.2vw, 3.2rem); max-width: 20ch; }
body.v2 footer h2, body.v2 footer h3, body.v2 footer h4, body.v2 footer .v3-pie-t { font-family: var(--v2-c); font-size: .95rem; font-weight: 600; text-transform: none; letter-spacing: 0 !important; line-height: 1.4 !important; }
body.v2 header, body.v2 header *, body.v2 nav, body.v2 nav *, body.v2 .bto-mm-card { box-shadow: none !important; }
body.v2 main h1, body.v2 main h2, body.v2 main h3 { color: var(--bto-ink); }
body.v2 .b-hero h1, body.v2 .b-hero h2, body.v2 .b-sec-ink h2, body.v2 .b-sec-ink h3, body.v2 .b-cta h2, body.v2 .b-cf h2, body.v2 .b-cf h3, body.v2 .b-cta h3, body.v2 [class*="bg-slate-9"] :is(h1,h2,h3), body.v2 [class*="bg-blue-"] :is(h1,h2,h3) { color: #fff; }
body.v2 .b-stats { padding-inline: max(var(--v2-g), calc((100vw - 1340px) / 2 + var(--v2-g))); }
body.v2 .b-stat { padding-left: 0; padding-right: 1.4rem; border-right: 0 !important; }
body.v2 .b-hero > .b-wrap { padding-inline: var(--v2-g); }
body.v2 .b-grid > .b-caso > * { min-width: 0; }
body.v2 .b-grid > .b-caso .b-caso-pie { display: flex; flex-direction: column; align-items: flex-start; gap: .15rem; white-space: normal; }
body.v2 .b-grid > .b-caso .b-caso-pie > * { white-space: normal; min-width: 0; }
body.v2 .b-grid > .b-caso .b-caso-m { overflow-wrap: anywhere; font-size: clamp(1.6rem, 3.4vw, 2.6rem); }
body.v2 .b-caso-pie, body.v2 .b-caso-pie *, body.v2 .b-fila-ind { font-size: .9rem; }
body.v2 #blog .b-cell p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body.v2 .b-cell-n-free { color: var(--bto-blue); }
body.v2 .b-faq p, body.v2 .b-faq dd { max-width: 78ch; }
body.v2:has(main .b-cta, main .b-cf) .bg-blue-600.py-6 { display: none; }
body.v2 .bg-blue-600 { background-color: var(--bto-blue) !important; }
body.v2 .bto-ph { border-width: 0; } body.v2 .bto-ph::after, body.v2 .bto-ph::before { display: none; } body.v2 .bto-ph img { filter: none !important; }
body.v2 h3 { font-weight: 600; letter-spacing: -.012em !important; }
body.v2 .b-lead, body.v2 .b-hero-sub, body.v2 p { letter-spacing: 0; }
body.v2 .b-lead { font-size: 1.08rem; color: var(--bto-muted); }

/* Sin sombras duras ni cajas gruesas: filetes finos */
body.v2 main *, body.v2 footer * { box-shadow: none !important; }
/* Líneas finas, cada una solo en el lado que ya tenía (poner 1px en los cuatro lados dibujaba cajas fantasma) */
body.v2 .b-faq, body.v2 .b-firma, body.v2 .b-mm-pie, body.v2 .b-mock-pie { border-top-width: 1px; }
body.v2 .b-pestanas, body.v2 .b-faq details { border-bottom-width: 1px; }
body.v2 .b-ds-b, body.v2 .b-puente, body.v2 .b-vacio, body.v2 .b-dq-podio, body.v2 .b-one-preg, body.v2 .b-one-et, body.v2 .b-mock-barra, body.v2 .b-filtros button, body.v2 .b-filtros a, body.v2 .b-form input, body.v2 .b-form textarea, body.v2 .b-form select { border-width: 1px; }
body.v2 .b-medico, body.v2 .b-medico-foto { border-width: 1px; }
body.v2 .b-ds-problema, body.v2 .b-ds-solucion { border-left-width: 3px; }
body.v2 .b-fund-foto [class*="rotulo"], body.v2 .b-fund-foto span { text-transform: none; letter-spacing: 0; }
body.v2 .b-sec, body.v2 .b-fund { border-bottom: 0; border-top: 0; }
body.v2 .b-b1, body.v2 .b-b2 { border-width: 1.5px; font-weight: 600; letter-spacing: 0; text-transform: none; transition: background .2s, color .2s; }
body.v2 .b-b1:hover, body.v2 .b-b2:hover { transform: none !important; }
body.v2 .b-sec .b-b1, body.v2 .v2-hero .b-b1 { background: var(--bto-ink); color: #fff; border-color: var(--bto-ink); }
body.v2 .b-sec .b-b1:hover, body.v2 .v2-hero .b-b1:hover { background: var(--bto-blue); border-color: var(--bto-blue); }
body.v2 .b-sec-ink .b-b1 { background: #fff; color: var(--bto-ink); border-color: #fff; }

/* El «+» como firma: sello, listas y cinta */
body.v2 .b-eyebrow, body.v2 .v2-sello { display: inline-flex; align-items: baseline; gap: .5rem; background: none !important; color: inherit !important; padding: 0; text-transform: none; letter-spacing: 0; font-size: 1rem; font-weight: 600; margin: 0 0 1.4rem; }
body.v2 .b-eyebrow::before, body.v2 .v2-sello::before { content: '+'; width: auto; height: auto; background: none; font-family: var(--v2-t); font-weight: 700; font-size: 1.35em; line-height: .8; color: var(--bto-blue); }
body.v2 .b-hero .b-eyebrow::before { color: #fff; }
body.v2 .b-checks .b-ic { display: none; }
body.v2 .b-checks li::before { content: '+'; font-family: var(--v2-t); font-weight: 700; font-size: 1.3em; line-height: 1.05; color: var(--bto-blue); flex: none; }
body.v2 .b-cf .b-checks li::before, body.v2 .b-sec-ink .b-checks li::before, body.v2 .b-hero .b-checks li::before { color: #fff; }

/* Inicio: papel, titular en tinta y una sola obra grande que se sale por la derecha */
.v2-hero { background: var(--bto-paper); color: var(--bto-ink); padding-top: clamp(6.5rem, 11vw, 8.5rem); overflow: hidden; }
.v2-hero-in { display: grid; gap: clamp(2rem, 5vw, 4.5rem); align-items: start; padding-bottom: clamp(3rem, 6vw, 5rem); }
@media (min-width: 1000px) { .v2-hero-in { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; } }
body.v2 .v2-h1 { font-size: clamp(2.3rem, 4.7vw, 4.3rem); margin: 0; max-width: 15ch; font-weight: 600; text-wrap: balance; }
body.v2 .v2-h1 .b-ink { text-wrap: balance; display: block; margin-top: .12em; color: var(--bto-ink); background: none; padding: 0; }
body.v2 .v2-h1 .b-ink::first-letter { color: var(--bto-blue); }
.v2-sub { font-size: clamp(1.05rem, 1.5vw, 1.22rem); line-height: 1.6; color: var(--bto-muted); max-width: 50ch; margin: 1.8rem 0 2rem; }
body.v2 .v2-hero .b-b2 { color: var(--bto-ink); border-color: var(--bto-ink); background: transparent; }
body.v2 .v2-hero .b-b2:hover { background: var(--bto-ink); color: #fff; }
body.v2 { --v2-g: clamp(1.25rem, 4vw, 2.5rem); }
body.v2 .v2-datos { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0 auto; border-top: 1px solid var(--bto-ink); padding-inline: 0; width: calc(100% - 2 * var(--v2-g)); max-width: calc(1340px - 2 * var(--v2-g)); }
@media (min-width: 900px) { body.v2 .v2-datos { grid-template-columns: repeat(4, 1fr); } }
.v2-datos > div { padding: 1.5rem 1.2rem 1.8rem 0; }
.v2-datos dt { font-size: clamp(2rem, 3.8vw, 3rem); font-weight: 600; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.v2-datos dd { margin: .55rem 0 0; font-size: .98rem; line-height: 1.4; color: var(--bto-muted); max-width: 24ch; text-wrap: balance; }

/* Capturas reales: sin cromo de navegador; la dirección pasa a pie de foto */
body.v2 .b-shot { display: flex; flex-direction: column-reverse; border: 1px solid var(--bto-ink); background: #fff; }
body.v2 .b-shot { border: 0; background: none; }
body.v2 .b-shot img { border: 1px solid var(--bto-ink); }
body.v2 .b-shot-bar { background: none; border: 0; padding: .55rem 0 0; }
body.v2 .b-shot-bar i { display: none; }
body.v2 .b-shot-bar span { margin: 0; font-size: .85rem; font-weight: 500; color: var(--bto-muted); text-transform: none; letter-spacing: 0; }
body.v2 .b-mock { border: 1px solid var(--bto-ink); }

/* Páginas interiores: cabecera en cobalto pleno, sin foto de archivo y sin resaltado */
body.v2 .b-hero, body.v2 .b-hero.b-hero-foto { background: var(--bto-blue) !important; border-bottom: 0; }
body.v2 .b-hero .b-h1 span, body.v2 .b-hero .b-h1 .b-ink, body.v2 .b-hero.b-hero-foto .b-h1 span, body.v2 .b-hero.b-hero-foto .b-h1.b-h1-svc span, body.v2 .b-hero.b-hero-foto .b-h1 .b-ink,
body.v2 .b-cf.b-cf-foto .b-h2 span, body.v2 .b-cta-foto .b-h2 span, body.v2 .b-cf .b-h2 span, body.v2 .b-cta .b-h2 span, body.v2 .b-mark { background: none !important; padding: 0 !important; }
body.v2 .b-hero .b-h1 { max-width: 18ch; font-size: clamp(2.5rem, 6.2vw, 5rem); }
body.v2 .b-hero .b-hero-sub { font-size: clamp(1.05rem, 1.5vw, 1.22rem); max-width: 54ch; }
body.v2 .b-hero .b-b1 { background: #fff; color: var(--bto-ink); border-color: #fff; }
body.v2 .b-hero .b-b2 { border-color: #fff; color: #fff; }
body.v2 .b-hero .b-b1:hover { background: var(--bto-ink); color: #fff; border-color: var(--bto-ink); }
body.v2 .b-hero-note, body.v2 .b-hero-note-foto { background: none; border: 0 !important; border-left: 1px solid rgba(255,255,255,.6) !important; padding: .2rem 0 .2rem 1.1rem; }
body.v2 .b-chip { border-width: 1px; text-transform: none; letter-spacing: 0; }

/* Cifras: papel con filetes, números tabulares */
body.v2 .b-stats { background: var(--bto-paper) !important; color: var(--bto-ink) !important; border-top: 0; border-bottom: 1px solid var(--bto-ink); }
body.v2 .b-stat { border-color: rgba(14,21,48,.18) !important; border-bottom: 0 !important; }
body.v2 .b-stat b { color: var(--bto-ink) !important; -webkit-text-fill-color: var(--bto-ink) !important; font-weight: 600; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
body.v2 .b-stat span { color: var(--bto-muted) !important; -webkit-text-fill-color: var(--bto-muted) !important; font-weight: 500; text-transform: none; letter-spacing: 0; font-size: .95rem; }
body.v2 .b-caso-cifras { background: var(--bto-paper) !important; color: var(--bto-ink) !important; border: 0; border-bottom: 1px solid var(--bto-ink); }

/* Cinta de clientes: fija, en una línea que se parte, con «+» entre nombres */
body.v2 .b-cinta { background: var(--bto-paper); color: var(--bto-ink); border-bottom: 0; padding: 1.4rem clamp(1.25rem,4vw,2.5rem) clamp(2.5rem, 5vw, 4rem); }
body.v2 .b-cinta-track { animation: none !important; display: block; width: auto; max-width: calc(1340px - 2 * var(--v2-g)); margin: 0 auto; line-height: 1.9; white-space: normal; }
body.v2 .b-cinta-track { width: auto !important; max-width: calc(1340px - 2 * var(--v2-g)) !important; }
body.v2 .b-cinta-track span { white-space: nowrap; display: inline-block; color: var(--bto-muted); font-weight: 500; font-size: .98rem; text-transform: none; letter-spacing: 0; display: inline; margin: 0; padding: 0; }
body.v2 .b-cinta-track span::after { content: '+'; display: inline-block; position: static; background: none; width: auto; height: auto; margin: 0 .7rem; color: var(--bto-blue); font-weight: 700; }
@media (max-width: 700px) { body.v2 .b-cinta-track { max-height: 9.5em; overflow: hidden; } }
body.v2 .b-cell:has(.b-cell-n) > .b-ic { display: none; }
body.v2 .b-cinta-track span:last-child::after { display: none; }

/* Fuera las etiquetas sobre cada título; mayúsculas espaciadas a texto normal */
body.v2 .b-tag { display: none !important; }
body.v2 .b-cell-n, body.v2 .b-caso-l, body.v2 .b-form label, body.v2 .b-caso-ind, body.v2 .b-fila-ind, body.v2 .b-zig-tag, body.v2 .b-one-et, body.v2 .b-mock-pie { text-transform: none; letter-spacing: 0; font-size: .92rem; }
body.v2 .b-cell-n-warm { background: none; color: var(--bto-blue); padding: 0; }
body.v2 .b-sec-cream, body.v2 [class*="bg-cream"] { background: var(--bto-cream) !important; }
body.v2 .b-fund { background: var(--bto-paper) !important; }
body.v2 .b-rv { opacity: 1 !important; transform: none !important; transition: none !important; }

/* Rejillas: fuera las cajas idénticas; columnas con filete superior */
body.v2 .b-grid { border: 0; background: none; gap: 0 2.4rem; }
body.v2 .b-grid > .b-cell { border: 0; border-top: 1px solid var(--bto-ink); background: none !important; padding: 1.3rem 0 2.2rem; }
body.v2 .b-grid > a.b-cell:hover { background: none !important; color: var(--bto-blue) !important; transform: none; }
body.v2 .b-grid > a.b-cell:hover * { color: inherit !important; }
body.v2 .b-sec-ink .b-grid > .b-cell { border-top-color: rgba(255,255,255,.35); }
body.v2 .b-ic { stroke-width: 1.4; }
/* «Lo que hoy te está frenando»: lista a una columna, cuerpo grande */
body.v2 section[aria-labelledby="dolor-h"] .b-grid { grid-template-columns: 1fr; max-width: 62rem; margin-left: auto; }
body.v2 section[aria-labelledby="dolor-h"] .b-cell { display: grid; gap: .4rem 2.5rem; padding: 1.4rem 0 1.6rem; }
@media (min-width: 800px) { body.v2 section[aria-labelledby="dolor-h"] .b-cell { grid-template-columns: 1fr 1fr; align-items: baseline; } }
body.v2 section[aria-labelledby="dolor-h"] .b-cell h3 { font-size: clamp(1.3rem, 2.2vw, 1.7rem); margin: 0; }
body.v2 section[aria-labelledby="dolor-h"] .b-cell-n { display: none; }
/* Resultados: filas de tabla, no rejilla */
body.v2 .b-grid:has(> .b-caso) { grid-template-columns: 1fr !important; gap: 0; }
@media (min-width: 800px) { body.v2 .b-grid > .b-caso { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr) minmax(0, 1fr); gap: 0 2.5rem; align-items: baseline; padding: 1.5rem 0 1.6rem; }
  body.v2 .b-grid > .b-caso .b-caso-l { min-height: 0; margin-top: 0; font-size: 1rem; }
  body.v2 .b-grid > .b-caso .b-caso-pie { margin: 0; padding: 0; border: 0; } }
body.v2 .b-caso-m { color: var(--bto-blue); font-weight: 600; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
/* Pasos de un proceso: el número es texto, no barra */
body.v2 section[aria-labelledby*="proc"] .b-cell-n, body.v2 section[aria-labelledby*="pasos"] .b-cell-n { font-family: var(--v2-t); font-size: 1.6rem; font-weight: 600; color: var(--bto-blue); background: none; padding: 0; }

/* ── Cursor encima: nada se queda en blanco sobre claro ni azul sobre azul ── */
body.v2 .b-cell:not(.b-cell-static):hover { background: none !important; color: var(--bto-ink) !important; }
body.v2 .b-cell:not(.b-cell-static):hover *, body.v2 .b-cell:not(.b-cell-static):hover :is(p, b, span, h3) { color: inherit !important; -webkit-text-fill-color: currentColor !important; }
body.v2 a.b-cell:not(.b-cell-static):hover { color: var(--bto-blue) !important; }
body.v2 .b-sec-ink .b-cell:not(.b-cell-static):hover, body.v2 .b-hero .b-cell:not(.b-cell-static):hover, body.v2 .b-cf .b-cell:not(.b-cell-static):hover { color: #fff !important; }
body.v2 .b-cell:not(.b-cell-static):hover :is(.b-cell-n, .b-caso-m) { color: var(--bto-blue) !important; }
body.v2 .b-sec-ink .b-cell:not(.b-cell-static):hover :is(.b-cell-n, .b-caso-m) { color: #fff !important; }
body.v2 :is(.b-sec, .v2-hero, .b-fund) .b-b1, body.v2 :is(.b-sec, .v2-hero, .b-fund) .b-b1 * { background-color: var(--bto-ink) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; border-color: var(--bto-ink) !important; }
body.v2 :is(.b-sec, .v2-hero, .b-fund) .b-b1 * { background-color: transparent !important; }
body.v2 :is(.b-sec, .v2-hero, .b-fund) .b-b1:hover { background-color: var(--bto-blue) !important; border-color: var(--bto-blue) !important; }
body.v2 :is(.b-sec, .v2-hero, .b-fund) .b-b2, body.v2 :is(.b-sec, .v2-hero, .b-fund) .b-b2 * { background-color: transparent !important; color: var(--bto-ink) !important; -webkit-text-fill-color: var(--bto-ink) !important; border-color: var(--bto-ink) !important; }
body.v2 :is(.b-sec, .v2-hero, .b-fund) .b-b2:hover { background-color: var(--bto-ink) !important; }
body.v2 :is(.b-sec, .v2-hero, .b-fund) .b-b2:hover, body.v2 :is(.b-sec, .v2-hero, .b-fund) .b-b2:hover * { color: #fff !important; -webkit-text-fill-color: #fff !important; }
body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink) .b-b1, body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink) .b-b1 * { background-color: #fff !important; color: var(--bto-ink) !important; -webkit-text-fill-color: var(--bto-ink) !important; border-color: #fff !important; }
body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink) .b-b1 * { background-color: transparent !important; }
body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink) .b-b1:hover { background-color: var(--bto-ink) !important; border-color: var(--bto-ink) !important; }
body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink) .b-b1:hover, body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink) .b-b1:hover * { color: #fff !important; -webkit-text-fill-color: #fff !important; }
body.v2 .b-sec-ink .b-b1:hover { background-color: var(--bto-blue) !important; border-color: var(--bto-blue) !important; }
body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink) .b-b2, body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink) .b-b2 * { background-color: transparent !important; color: #fff !important; -webkit-text-fill-color: #fff !important; border-color: #fff !important; }
body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink) .b-b2:hover { background-color: #fff !important; }
body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink) .b-b2:hover, body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink) .b-b2:hover * { color: var(--bto-ink) !important; -webkit-text-fill-color: var(--bto-ink) !important; }
body.v2 .b-form .b-b1.b-form-btn, body.v2 .b-cf .b-form .b-b1.b-form-btn { background-color: var(--bto-ink) !important; border-color: var(--bto-ink) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
body.v2 .b-cf .b-form .b-b1.b-form-btn:hover { background-color: var(--bto-blue) !important; border-color: var(--bto-blue) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
/* Navegación: el enlace no cambia de color; se subraya */
body.v2 header :is(a, button, span)[class*="hover:text-blue-6"]:hover, body.v2 header .group:hover [class*="group-hover:text-blue-6"] { color: inherit !important; -webkit-text-fill-color: currentColor !important; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 6px; }
/* Lo que se puede abrir es una tarjeta (blanca, con «+» que gira); lo que solo se lee es una columna con filete */
body.v2 .b-grid:has(> a.b-cell:not(.b-caso)) { gap: .9rem; }
body.v2 .b-grid > a.b-cell:not(.b-caso) { position: relative; background: #fff !important; border: 1px solid rgba(14,21,48,.14); padding: 1.5rem 3.2rem 1.6rem 1.5rem; min-height: 9.5rem; transition: background-color .18s, border-color .18s; }
body.v2 .b-grid > a.b-cell:not(.b-caso)::after { content: '+'; position: absolute; top: .9rem; right: 1.2rem; font-size: 1.7rem; font-weight: 500; line-height: 1; color: var(--bto-blue); transition: transform .25s; }
body.v2 .b-grid > a.b-cell:not(.b-caso) h3 { font-size: 1.18rem; margin-top: .35rem; }
body.v2 .b-grid > a.b-cell:not(.b-caso) p { font-size: .95rem; line-height: 1.55; color: var(--bto-muted); }
body.v2 .b-grid > a.b-cell:not(.b-caso):not(.b-cell-static):hover { background: var(--bto-blue) !important; border-color: var(--bto-blue); color: #fff !important; }
body.v2 .b-grid > a.b-cell:not(.b-caso):not(.b-cell-static):hover :is(.b-cell-n, .b-caso-m, p, h3, span, b) { color: #fff !important; -webkit-text-fill-color: #fff !important; }
body.v2 .b-grid > a.b-cell:not(.b-caso):hover::after { color: #fff; transform: rotate(90deg); }
body.v2 .b-sec-ink .b-grid > a.b-cell:not(.b-caso) { background: transparent !important; border-color: rgba(255,255,255,.3); }
body.v2 .b-sec-ink .b-grid > a.b-cell:not(.b-caso)::after { color: #fff; }
body.v2 .b-grid > a.b-caso:hover .b-caso-l, body.v2 .b-grid > a.b-caso:hover { color: var(--bto-blue) !important; }
body.v2 .bto-mm-card, body.v2 #mega-menu-panel > *, body.v2 #mega-menu-tools-panel > * { border-width: 1px !important; }
body.v2 nav [class*="text-orange"], body.v2 nav [class*="text-amber"], body.v2 nav .bto-warm { color: var(--bto-blue) !important; }
@media (prefers-reduced-motion: reduce) { body.v2 .b-grid > a.b-cell::after { transition: none; } }
/* Inicio orientado a contacto: línea de confianza, reseñas reales y formulario de cierre */
.v2-resenas { display: grid; gap: 2rem 3rem; max-width: 62rem; margin: 3.2rem auto 0; padding-top: 2.4rem; border-top: 1px solid rgba(255,255,255,.22); }
@media (min-width: 760px) { .v2-resenas { grid-template-columns: 1fr 1fr; } }
.v2-resenas blockquote { margin: 0; }
.v2-resenas p { color: rgba(255,255,255,.92); font-size: 1.05rem; line-height: 1.6; margin: 0; }
.v2-resenas footer { margin-top: .9rem; font-size: .9rem; color: rgba(255,255,255,.7); }
.v2-resenas footer b { color: #fff; font-weight: 600; }
.v2-resenas a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
body.v2 .b-cf-pasos b { font-weight: 600; margin-right: .5rem; }
html { scroll-behavior: smooth; } @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body.v2 #contacto { scroll-margin-top: 72px; }
/* Tableta: el pie reparte sus columnas y no deja media pantalla vacía */
@media (min-width: 640px) and (max-width: 1023px) {
  body.v2 footer .grid.lg\:grid-cols-4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.v2 footer .grid.lg\:grid-cols-4 > :first-child { grid-column: 1 / -1; max-width: 34rem; }
}
/* ── Inicio orientado a contacto (nov-2026): garantías, formulario corto, dos frentes y llamadas ── */
body.v2 .v2-sub { margin-bottom: 1.6rem; }
.v2-cinta-t { max-width: calc(1340px - 2 * var(--v2-g)); margin: 0 auto .45rem; font-size: .95rem; font-weight: 600; color: var(--bto-ink); }
.v2-accion { max-width: 62rem; margin: 1.6rem 0 0 auto; }
.v2-accion a { font-weight: 600; color: var(--bto-ink); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.v2-accion a:hover { color: var(--bto-blue); }
.v2-frentes { border-top: 1px solid var(--bto-ink); margin-bottom: 2.4rem; }
.v2-frente { display: grid; gap: 1.8rem clamp(2rem, 6vw, 5rem); padding: clamp(2rem, 4vw, 3.2rem) 0; border-bottom: 1px solid var(--bto-ink); align-items: center; }
@media (min-width: 900px) { .v2-frente { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); } .v2-frente:nth-child(even) .v2-frente-txt { order: 2; } }
body.v2 .v2-frente h3 { font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.12; margin: 0 0 .9rem; }
.v2-frente-txt p { font-size: 1.08rem; line-height: 1.65; color: var(--bto-muted); max-width: 56ch; margin: 0; }
.v2-frente-enlaces { list-style: none; padding: 0; margin: 1.3rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.v2-frente-enlaces a { font-weight: 600; color: var(--bto-ink); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 4px; }
.v2-frente-enlaces a:hover { color: var(--bto-blue); }
.v2-frente-prueba { display: block; text-decoration: none; color: var(--bto-ink); }
.v2-frente-cifra { display: block; font-size: clamp(3.2rem, 7vw, 5.6rem); font-weight: 600; letter-spacing: -.04em; line-height: 1; color: var(--bto-blue); font-variant-numeric: tabular-nums; }
.v2-frente-pie { display: block; margin-top: .8rem; font-size: 1.05rem; line-height: 1.45; max-width: 32ch; }
.v2-frente-fuente { display: block; margin-top: .65rem; font-size: .95rem; color: var(--bto-muted); }
.v2-frente-fuente b { color: var(--bto-ink); font-weight: 600; }
.v2-frente-prueba:hover .v2-frente-fuente { text-decoration: underline; text-underline-offset: 3px; }
body.v2 .b-fund .b-btns { margin-top: 1.6rem; }
/* Fundador y testimonio */
body.v2 .b-fund-foto { border: 0; }
body.v2 .b-firma { border-top-width: 1px; }
body.v2 .b-sec-ink { background: var(--bto-ink); }
/* Cierre: cobalto pleno, sin foto de archivo */
body.v2 .b-cta, body.v2 .b-cta-foto, body.v2 .b-cf, body.v2 .b-cf-foto { background: var(--bto-blue) !important; }
body.v2 .b-cta-foto::before, body.v2 .b-cf-foto::before { display: none !important; }
body.v2 .b-cta .b-b1, body.v2 .b-cf .b-b1 { background: #fff; color: var(--bto-ink); border-color: #fff; }
body.v2 .b-cta .b-b2, body.v2 .b-cf .b-b2 { border-color: #fff; color: #fff; }
body.v2 .b-form { border: 0; }
body.v2 .b-faq { border-top-width: 1px; }
body.v2 .b-mas a, body.v2 .b-mas-link { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1.5px; }

/* ══════════ v3 (nov-2026). Carlos: «una página sin fotos y colores es triste», «nada que ver con una verdadera agencia».
   Vuelven las fotos, entra el amarillo como segundo color y las formas se redondean. Poppins se queda. ══════════ */
body.v2 { --bto-paper: #ffffff; --bto-cream: #eef2ff; --bto-cream-2: #e2e8ff; --v3-sol: #ffd23f; --v3-r: 22px; background: #fff; }
/* Formas */
body.v2 .b-b1, body.v2 .b-b2, body.v2 #navbar a[class*="bg-"], body.v2 #navbar a[style*="border"], body.v2 #navbar a[hreflang][title], body.v2 #navbar .btn-primary, body.v2 #navbar a[href*="contacto"], body.v2 #navbar a[href*="#contact"] { border-radius: 999px !important; }
body.v2 .b-grid > a.b-cell:not(.b-caso) { border-radius: 18px; }
body.v2 .b-shot img, body.v2 .b-mock, body.v2 .b-puente, body.v2 .b-ds-b, body.v2 .b-vacio, body.v2 .b-dq-podio { border-radius: 16px; overflow: hidden; }
body.v2 .b-form { border-radius: var(--v3-r); }
body.v2 .b-form input, body.v2 .b-form textarea, body.v2 .b-form select { border-radius: 10px; }
body.v2 .b-medico { border-radius: 16px; }
body.v2 .b-card-img, body.v2 .b-zig-foto img, body.v2 .b-historia-foto img, body.v2 .b-fila-foto, body.v2 .b-dos img { border-radius: var(--v3-r); border: 0; }
body.v2 .b-fila-foto { border-radius: 10px; }
body.v2 footer [class*="border"][class*="p-"] { border-radius: 14px; }
/* Botón principal sobre fondos de color: amarillo */
body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink, .v3-hero) .b-b1, body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink, .v3-hero) .b-b1 * { background-color: var(--v3-sol) !important; color: var(--bto-ink) !important; -webkit-text-fill-color: var(--bto-ink) !important; border-color: var(--v3-sol) !important; }
body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink, .v3-hero) .b-b1 * { background-color: transparent !important; }
body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink, .v3-hero) .b-b1:hover { background-color: #fff !important; border-color: #fff !important; }
body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink, .v3-hero) .b-b1:hover, body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink, .v3-hero) .b-b1:hover * { color: var(--bto-ink) !important; -webkit-text-fill-color: var(--bto-ink) !important; }
body.v2 .b-cf .b-form .b-b1.b-form-btn, body.v2 .b-cf .b-form .b-b1.b-form-btn * { background-color: var(--bto-ink) !important; border-color: var(--bto-ink) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
body.v2 .b-cf .b-form .b-b1.b-form-btn:hover { background-color: var(--bto-blue) !important; border-color: var(--bto-blue) !important; }
body.v2 .b-cf .b-form .b-b1.b-form-btn:hover, body.v2 .b-cf .b-form .b-b1.b-form-btn:hover * { color: #fff !important; -webkit-text-fill-color: #fff !important; }
/* El «+» sobre azul va en amarillo */
body.v2 .b-hero .b-eyebrow::before, body.v2 .v3-hero .v2-sello::before, body.v2 .b-cf .b-checks li::before, body.v2 .b-sec-ink .b-checks li::before, body.v2 .b-hero .b-checks li::before { color: var(--v3-sol); }
/* Inicio: cabecera azul con foto del equipo */
body.v2 .v2-hero.v3-hero { background: var(--bto-blue); color: #fff; }
body.v2 .v3-hero .v2-h1, body.v2 .v3-hero .v2-h1 .b-ink { color: #fff !important; }
body.v2 .v3-hero .v2-sello { color: #fff !important; -webkit-text-fill-color: #fff !important; }
body.v2 .v3-hero .v2-h1 .b-ink::first-letter { color: var(--v3-sol) !important; }
body.v2 .v3-hero .v2-sub { color: #fff !important; -webkit-text-fill-color: #fff !important; opacity: .94; margin-bottom: 1.8rem; }
body.v2 .v2-hero.v3-hero .b-b2, body.v2 .v2-hero.v3-hero .b-b2 * { color: #fff !important; -webkit-text-fill-color: #fff !important; border-color: #fff !important; background-color: transparent !important; }
body.v2 .v2-hero.v3-hero .b-b2:hover { background-color: #fff !important; }
body.v2 .v2-hero.v3-hero .b-b2:hover, body.v2 .v2-hero.v3-hero .b-b2:hover * { color: var(--bto-ink) !important; -webkit-text-fill-color: var(--bto-ink) !important; }
body.v2 .v3-hero .b-btns { margin-top: 0; }
body.v2 .v3-hero .v3-hero-nota { margin: 1.1rem 0 0; font-size: .95rem; color: #fff !important; -webkit-text-fill-color: #fff !important; opacity: .88; }
.v3-hero-foto { margin: 0; position: relative; padding: 0 1.1rem 1.1rem 0; }
.v3-hero-foto::before { content: ''; position: absolute; right: 0; bottom: 0; width: 52%; height: 52%; background: var(--v3-sol); border-radius: 28px; }
.v3-hero-foto img { position: relative; display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 28px; }
@media (min-width: 1000px) { body.v2 .v3-hero .v2-hero-in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
body.v2 .v3-hero .v2-datos { border-top-color: rgba(255,255,255,.35); }
body.v2 .v3-hero .v2-datos dt, body.v2 .v3-hero .v2-datos dd { color: #fff !important; -webkit-text-fill-color: #fff !important; }
body.v2 .v3-hero .v2-datos dd { opacity: .9; }
/* Dos frentes: foto con la cifra encima, en amarillo */
.v2-frentes { border-top: 0; }
.v2-frente { border-bottom: 0; padding: clamp(1.4rem, 3vw, 2.4rem) 0; }
.v3-frente-foto { margin: 0; position: relative; padding-bottom: 2.4rem; }
.v3-frente-foto img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--v3-r); }
.v3-frente-foto .v2-frente-prueba { position: absolute; left: 1.2rem; bottom: 0; max-width: min(22rem, 84%); background: var(--v3-sol); color: var(--bto-ink); border-radius: 18px; padding: 1rem 1.25rem 1.1rem; }
.v3-frente-foto .v2-frente-cifra { font-size: clamp(2.1rem, 4vw, 3.1rem); color: var(--bto-ink); }
.v3-frente-foto .v2-frente-pie { font-size: .95rem; margin-top: .35rem; max-width: none; }
.v3-frente-foto .v2-frente-fuente, .v3-frente-foto .v2-frente-fuente b { color: var(--bto-ink); font-size: .88rem; }
/* Resultados sobre azul noche, con las cifras en amarillo */
body.v2 .b-sec-ink .b-grid > .b-caso .b-caso-m { color: var(--v3-sol) !important; -webkit-text-fill-color: var(--v3-sol) !important; }
body.v2 .b-sec-ink .b-grid > .b-caso .b-caso-l { color: #fff; opacity: .88; }
body.v2 .b-sec-ink .b-grid > .b-caso .b-caso-pie b { color: #fff; }
body.v2 .b-sec-ink .b-grid > .b-caso .b-caso-pie span { color: #fff; opacity: .75; }
body.v2 .b-sec-ink .b-grid > a.b-caso:hover, body.v2 .b-sec-ink .b-grid > a.b-caso:hover .b-caso-l, body.v2 .b-sec-ink .b-grid > a.b-caso:hover * { color: var(--v3-sol) !important; -webkit-text-fill-color: var(--v3-sol) !important; opacity: 1; }
/* Herramientas gratuitas: banda amarilla, es la conversión automática de la página */
body.v2 .b-sec.v3-sol { background: var(--v3-sol) !important; }
body.v2 .v3-sol .b-h2, body.v2 .v3-sol .b-lead { color: var(--bto-ink) !important; -webkit-text-fill-color: var(--bto-ink) !important; }
body.v2 .v3-sol .b-grid > a.b-cell:not(.b-caso) { border-color: transparent; }
body.v2 .b-grid > a.b-cell:not(.b-caso):not(.b-cell-static):hover { border-color: var(--bto-blue); }
/* El rótulo «El fundador» sobre la foto repetía lo que dice la firma */
body.v2 .b-fund-foto .bto-ph-cap { display: none; }
/* Tira de fotos: vuelve, a color natural */
body.v2 .bto-tira { border-bottom: 0; gap: 0; }
body.v2 .bto-tira .bto-ph { border: 0 !important; background: none; }
/* Tarjetas de servicio con su foto */
body.v2 .b-card-img { overflow: hidden; margin-bottom: 1.1rem; }
body.v2 .b-card-body { padding: 0; }
body.v2 .b-grid > .b-cell.b-card-foto { border-top: 0; padding-top: 0; }
/* Páginas interiores: la foto vuelve, a la derecha y fundida con el azul */
body.v2 .b-hero.b-hero-foto .b-hero-img { display: block !important; position: absolute; top: 0; right: 0; bottom: 0; left: auto; width: 48%; height: 100%; object-fit: cover; object-position: 60% center; z-index: 0; }
body.v2 .b-hero.b-hero-foto::after { content: ''; display: block !important; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, var(--bto-blue) 0, var(--bto-blue) 52%, rgba(31,59,255,.6) 60%, rgba(31,59,255,.08) 74%, rgba(31,59,255,0) 100%); }
body.v2 .b-hero::before { display: none !important; }
@media (min-width: 900px) { body.v2 .b-hero.b-hero-foto > .b-wrap > * { max-width: min(100%, 43rem); }
  body.v2 .b-hero.b-hero-foto .b-hero-cols { grid-template-columns: 1fr; }
  body.v2 .b-hero.b-hero-foto .b-h1 { font-size: clamp(2.4rem, 4.6vw, 4.2rem); } }
@media (max-width: 699px) { body.v2 .b-hero.b-hero-foto .b-hero-img { width: 100%; opacity: .12; } body.v2 .b-hero.b-hero-foto::after { display: none !important; } }
/* Cierre con formulario: pasos con número en amarillo */
body.v2 .b-cf-pasos b { background: var(--v3-sol) !important; color: var(--bto-ink) !important; -webkit-text-fill-color: var(--bto-ink) !important; border-radius: 999px; }
/* Letra mínima de 12 px */
body.v2 [class*="text-[10px]"], body.v2 [class*="text-[11px]"], body.v2 .b-medico-nota span, body.v2 .b-ct-canal small, body.v2 .b-ct-canales-h, body.v2 .b-mock-hd span, body.v2 main th, body.v2 .bto-ph-cap { font-size: .75rem !important; }

/* Carrusel de logos de clientes (una tinta, tamaño óptico parejo). Se detiene al pasar el cursor; sin movimiento si el visitante lo pide. */
.v3-logos { background: #fff; padding: clamp(2rem, 4vw, 3rem) 0 clamp(2.4rem, 5vw, 3.6rem); }
.v3-logos-t { width: calc(100% - 2 * var(--v2-g)); max-width: calc(1340px - 2 * var(--v2-g)); margin: 0 auto 1.7rem; font-size: 1rem; font-weight: 600; color: var(--bto-ink); }
.v3-logos-pista { display: flex; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%); }
.v3-logos-fila { --g: clamp(2.8rem, 5vw, 4.6rem); list-style: none; margin: 0; padding: 0 var(--g) 0 0; display: flex; flex: none; align-items: center; gap: var(--g); animation: v3-logos 70s linear infinite; }
.v3-logos-fila li { flex: none; display: flex; align-items: center; height: 52px; }
.v3-logos-fila img { display: block; opacity: .85; }
.v3-logos-pista:hover .v3-logos-fila, .v3-logos-pista:focus-within .v3-logos-fila { animation-play-state: paused; }
@keyframes v3-logos { to { transform: translateX(-100%); } }
@media (max-width: 700px) { .v3-logos-fila { zoom: .78; animation-duration: 55s; } }
@media (prefers-reduced-motion: reduce) {
  .v3-logos-pista { -webkit-mask-image: none; mask-image: none; }
  .v3-logos-fila { animation: none; flex: 1 1 100%; flex-wrap: wrap; justify-content: center; row-gap: 1.6rem; padding: 0 var(--v2-g); }
  .v3-logos-fila[aria-hidden="true"] { display: none; }
}
/* Software propio: las tarjetas comparten alturas (logo, texto, captura y enlace quedan en la misma línea) */
body.v2 .b-plat { gap: .9rem; }
body.v2 .b-plat .b-plat-logo { height: 52px !important; width: auto; max-width: 230px; margin: 0 !important; object-fit: contain; object-position: left center; align-self: flex-start; }
body.v2 .b-plat .b-plat-logo[src*="atendio"] { padding: 7px 0; }
body.v2 .b-plat > h3 { margin: 0; min-height: 1.5em; font-size: 1.25rem; }
body.v2 .b-plat > p:not(.b-mas) { margin: 0; min-height: 3.3em; }
body.v2 .b-plat .b-shot { margin-top: 0; }
body.v2 .b-plat .b-shot img { aspect-ratio: 16 / 9 !important; object-fit: cover; object-position: top left; width: 100%; height: auto; }
body.v2 .b-plat .b-mas { margin-top: .3rem; }
body.v2 #software .b-grid + .b-grid { margin-top: 2.4rem !important; }

body.v2 .b-plat .b-plat-h { margin: 0; line-height: 0; min-height: 0; height: 52px; display: flex; align-items: center; }
body.v2 .v3-hero .v2-datos dd a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

/* ══ Ronda 1 de auditoría (escritorio) ══ */
/* E01, E02, E36: menús desplegables y barra en el sistema nuevo; caben en pantallas bajas */
body.v2 #navbar { border-bottom: 1px solid rgba(14,21,48,.08) !important; }
body.v2 #navbar a[href^="/contacto"] { border: 0 !important; }
body.v2 #navbar svg { flex-shrink: 0; }
body.v2 #navbar .bto-mm-card { border: 0 !important; border-radius: 20px; box-shadow: 0 18px 44px rgba(14,21,48,.16) !important; max-height: calc(100vh - 96px); overflow-y: auto; padding: 1.5rem 1.6rem !important; background: #fff; }
body.v2 #navbar .bto-mm-card > .grid { gap: 1.4rem 2rem; }
body.v2 #navbar .bto-mm-card span.uppercase { text-transform: none !important; letter-spacing: 0 !important; font-size: .82rem !important; font-weight: 600; color: var(--bto-blue) !important; margin-bottom: .7rem !important; }
body.v2 #navbar .bto-mm-card .space-y-4 > * + * { margin-top: .35rem !important; }
body.v2 #navbar #mega-menu-panel .bto-mm-card a > div > div + div { display: none; }
body.v2 #navbar .bto-mm-card a { border-radius: 12px; align-items: center !important; }
body.v2 .bto-tile, body.v2 .bto-tile--warm, body.v2 .bto-tile--blue { background: var(--bto-cream) !important; color: var(--bto-blue) !important; border: 0 !important; border-radius: 10px !important; }
/* E03: buscador */
body.v2 [role="dialog"] .shadow-2xl, body.v2 .modal .shadow-2xl, body.v2 [role="dialog"]:not(#wa-popup) > div > div { box-shadow: 0 24px 60px rgba(14,21,48,.25) !important; border-radius: 20px !important; border: 0 !important; }
body.v2 [role="dialog"] input { padding-left: 12px !important; border-radius: 12px; }
body.v2 [role="dialog"]:not(#wa-popup) button, body.v2 [role="dialog"]:not(#wa-popup) a[class*="border"] { border-radius: 999px !important; }
/* E04, E10, E12: campos y botones de formularios y herramientas */
body.v2 main form input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), body.v2 main form select, body.v2 main form textarea, body.v2 main select, body.v2 .b-blog-buscar input { border: 1px solid #c9d2f0 !important; border-radius: 12px !important; background-color: #fff; }
body.v2 .b-blog-buscar input { border-radius: 999px !important; padding-inline: 1.4rem; }
body.v2 main button, body.v2 main [type="submit"], body.v2 main a[class*="btn"], body.v2 main a[class*="rounded-none"] { box-shadow: none !important; border-radius: 999px; }
body.v2 main [class*="shadow-"] { box-shadow: none !important; }
body.v2 .b-filtro-ind label, body.v2 .b-filtro-ind span { text-transform: none !important; letter-spacing: 0 !important; font-size: .9rem; font-weight: 600; }
/* E05: el título de las páginas de servicio cabe en cuatro líneas y los botones se ven sin bajar */
body.v2 .b-hero.b-hero-svc { padding-top: 7.5rem; }
body.v2 .b-hero.b-hero-foto .b-h1.b-h1-svc, body.v2 .b-hero .b-h1.b-h1-svc { font-size: clamp(2.2rem, 3.6vw, 3.3rem); max-width: 22ch; }
body.v2 .b-hero .b-hero-cols { margin-top: 1.6rem; padding-bottom: 2.6rem; }
/* E06, E07, E08, E27: rejillas con aire y un solo tratamiento */
body.v2 .b-grid:has(> .b-card-foto) { row-gap: 3rem; }
body.v2 article.b-cell.b-cell-static { border-right: 0; border-bottom: 0; }
body.v2 .b-grid:has(> a.b-cell:not(.b-caso)) > .b-cell:not(a):not(.b-card-foto) { background: #fff !important; border: 1px solid rgba(14,21,48,.14); border-radius: 18px; padding: 1.5rem; }
body.v2 .b-grid-4 > .b-cell-static > h3 { min-height: 2.7em; }
/* E09: segunda línea del título del cierre, legible sobre el azul */
body.v2 .b-cf .b-h2 span, body.v2 .b-cta .b-h2 span { color: #fff !important; -webkit-text-fill-color: #fff !important; }
/* E13: formulario de contacto como tarjeta visible */
body.v2 .b-ct-form-col form { background: var(--bto-cream); border: 0; border-radius: 24px; padding: clamp(1.4rem, 3vw, 2.2rem); }
/* E14: barra, contenido y pie con el mismo margen */
body.v2 #navbar > div, body.v2 #navbar .max-w-7xl, body.v2 footer .max-w-7xl { max-width: 1340px !important; padding-left: var(--v2-g) !important; padding-right: var(--v2-g) !important; }
/* E15: las cifras no se parten por la mitad de una palabra */
body.v2 .b-grid > .b-caso .b-caso-m { overflow-wrap: normal; hyphens: manual; font-size: clamp(1.5rem, 2.8vw, 2.4rem); }
/* E16: iconos sociales y sellos del pie */
body.v2 footer a.w-10 { border-radius: 12px !important; border: 0 !important; box-shadow: none !important; background: rgba(255,255,255,.08) !important; }
body.v2 footer a.w-10:hover { background: var(--bto-blue) !important; }
/* E19, E29, E35: tarjetas de software y de herramientas a la misma altura */
body.v2 #software .b-grid + .b-grid .b-plat > p:not(.b-mas) { min-height: 4.9em; }
body.v2 #herramientas .b-grid { grid-auto-rows: 1fr; }
/* E20: insignias de los pasos del mismo ancho */
body.v2 .b-cf-pasos b { display: inline-block; min-width: 2.1rem; text-align: center; }
/* E21: sin numeración gigante de adorno */
body.v2 .b-pilar-n { display: none !important; }
body.v2 .b-linea li { border-top-width: 1px; display: flex; flex-direction: column; }
body.v2 .b-linea li b { font-size: 1.5rem; font-weight: 600; letter-spacing: -.02em; }
body.v2 .b-linea li > a:last-child, body.v2 .b-linea li > p:last-child > a { margin-top: auto; }
/* E23, E25: reproductor, tarjetas y fotos del blog */
body.v2 .b-art-tts button, body.v2 .b-art-tts select { border-radius: 999px !important; border: 0 !important; box-shadow: none !important; }
body.v2 .b-cierre-c { border-radius: 18px; border-width: 1px; border-color: rgba(14,21,48,.14); }
body.v2 a.b-tarjeta img, body.v2 .b-blog-art-foto, body.v2 .b-blog-art-foto img, body.v2 .b-art-doc img { border-radius: var(--v3-r); }
body.v2 .b-blog-art-foto { overflow: hidden; }
body.v2 .b-art-doc p, body.v2 .b-art-doc li { max-width: 46rem; }
/* E24: ficha de caso */
body.v2 .b-reto-h-larga { line-height: 1.3 !important; font-size: 1.5rem; font-weight: 600; }
body.v2 .b-volver { display: flex; margin-bottom: .9rem; }
/* E26: columnas de servicios del inicio */
body.v2 #servicios .b-cell > .b-cell-n { display: block; min-height: 2.9em; }
@media (min-width: 900px) and (max-width: 1199px) { body.v2 #servicios .b-grid-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 1.6rem; } }
/* E28: una sola guía para la columna derecha del inicio */
@media (min-width: 900px) { body.v2 section[aria-labelledby="dolor-h"] .b-grid, .v2-accion { max-width: none; margin-left: 0; }
  body.v2 section[aria-labelledby="dolor-h"] .b-cell { grid-template-columns: minmax(0, 1fr) 42%; gap: .4rem 4rem; }
  .v2-frente { grid-template-columns: minmax(0, 1fr) 42%; gap: 1.8rem 4rem; }
  .v2-frente:nth-child(even) { grid-template-columns: 42% minmax(0, 1fr); } }
/* E32: médicos y gráfico sin filete de tinta */
body.v2 .b-medico, body.v2 .b-mock { border-color: #dde3f5; }
body.v2 .b-mock-barra { border: 0; border-radius: 999px; overflow: hidden; }
/* E33: la foto de cabecera no corta caras contra el borde */
body.v2 .b-hero.b-hero-foto .b-hero-img { object-position: 72% center; }
/* E34: foto del fundador dentro de la retícula, completa (sin recortar) y con el mismo radio que las demás */
body.v2 .b-fund-in { width: calc(100% - 2 * var(--v2-g)); max-width: calc(1340px - 2 * var(--v2-g)); margin: 0 auto; padding-block: clamp(4rem, 8vw, 6.5rem); align-items: center; gap: clamp(2rem, 5vw, 4.5rem); }
@media (min-width: 900px) { body.v2 .b-fund-in { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); } }
body.v2 .b-fund-foto { min-height: 0; aspect-ratio: 1119 / 1400; border-radius: 28px; overflow: hidden; border: 0; max-width: 30rem; }
body.v2 .b-fund-txt { padding: 0 !important; }

/* ══ Ronda 1 de auditoría (tableta, móvil y conversión) ══ */
/* M01, L-01: en el celular el botón principal de cada servicio se ve sin bajar */
@media (max-width: 640px) {
  body.v2 .b-hero.b-hero-svc { padding-top: 6.25rem; }
  body.v2 .b-hero-svc .b-eyebrow { margin-bottom: .7rem; }
  body.v2 .b-hero.b-hero-foto .b-h1.b-h1-svc, body.v2 .b-hero.b-hero-svc .b-h1.b-h1-svc { font-size: 2.05rem; }
  body.v2 .b-hero .b-hero-sub { font-size: .98rem; line-height: 1.55; }
  body.v2 .b-hero-svc .b-hero-cols > div { display: flex; flex-direction: column; }
  body.v2 .b-hero-svc .b-btns { order: -2; margin: 1.1rem 0 .4rem; }
  body.v2 .b-hero-svc .b-hero-alt { order: -1; margin: .6rem 0 1.1rem; }
}
/* M02 */
body.v2 .b-grid > .b-caso .b-caso-m { font-size: clamp(1.45rem, 2.9vw, 2.6rem); }
/* M03, M04: en tableta la cabecera y el fundador van a dos columnas */
@media (min-width: 700px) and (max-width: 899px) { body.v2 .b-fund-in { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); } }
@media (max-width: 699px) { body.v2 .b-fund-foto { max-width: 22rem; } }
@media (min-width: 760px) and (max-width: 999px) { body.v2 .v3-hero .v2-hero-in { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: center; } }
/* M06, M30, L-11: el botón flotante de WhatsApp no tapa formularios, menú ni los botones de la cabecera */
body.v2:has(main form:focus-within) .wa-fab, body:has(#mobile-menu:not(.hidden)) .wa-fab, body.v3-cabecera-visible .wa-fab { display: none !important; }
@media (max-width: 899px) { body.v2 footer.bg-slate-950 { padding-bottom: 5.5rem; } }
/* M07, M08: menú móvil */
body.v2 #mobile-menu a[style*="border"] { border-radius: 0 !important; }
body.v2 #mobile-menu .bto-tile { border-radius: 10px; }
body.v2 #mobile-menu a.text-blue-600 { color: var(--bto-blue) !important; }
body.v2 #mobile-menu span.uppercase { text-transform: none; letter-spacing: 0; font-size: .82rem; color: var(--bto-blue); }
/* M10 */
body.v2 .b-grid:has(> .b-card-foto) { row-gap: 2.8rem; }
@media (min-width: 680px) and (max-width: 1023px) { body.v2 .b-grid-3 > .b-card-foto:last-child:nth-child(odd) { grid-column: auto; } }
/* M12: sin raya entre la cifra y su cliente */
body.v2 .b-grid > .b-caso .b-caso-pie { border: 0; padding-top: 0; margin-top: .5rem; }
/* M13 */
body.v2 footer.bg-slate-950 .rounded-xl { border-radius: 12px !important; border-width: 1px !important; }
/* M16, M17 */
body.v2 .b-hero .b-volver { display: flex; width: fit-content; padding: 10px 0; margin-bottom: 1rem; }
body.v2 .b-reto-h-larga { line-height: 1.35 !important; font-weight: 500; }
/* M18 */
@media (min-width: 680px) and (max-width: 899px) { body.v2 .b-pg-cia .cia-dir { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 2.4rem; align-items: start; } }
/* M19, L-09: títulos del cierre sin palabras sueltas */
@media (max-width: 1023px) { .b-br-lg { display: none; } }
body.v2 .b-cf-txt .b-h2 { text-wrap: balance; }
/* M22, M24 */
body.v2 .b-tarjeta img, body.v2 .cia-dir-foto img, body.v2 .b-blog-dest-foto img, body.v2 .b-blog-art-foto img { border-radius: var(--v3-r); }
body.v2 .b-medico, body.v2 .b-mock, body.v2 .b-plat .b-shot img { border-color: rgba(14,21,48,.14); border-radius: 18px; }
body.v2 .b-plat .b-plat-logo[src*="elmejordoc"] { margin-left: -16px !important; }
/* M23 */
body.v2 .b-pag a, body.v2 .b-pag span { border-width: 1px; border-radius: 999px; }
body.v2 .b-ct-canales-h, body.v2 .b-ct-canal small { text-transform: none; letter-spacing: 0; font-size: .92rem !important; }
body.v2 .b-ct-canales { border-top-width: 1px; }
/* M25: numeración solo donde hay una secuencia */
body.v2 .b-linea li > b { display: none; }
/* M26, M39: reseñas en celular con un solo eje */
body.v2 #resenas blockquote footer a { white-space: nowrap; }
@media (max-width: 759px) { body.v2 #resenas blockquote.b-rv { text-align: left !important; } body.v2 #resenas blockquote.b-rv > div[aria-label] { justify-content: flex-start !important; } }
/* M28: en celular la cifra va bajo la foto, no encima */
@media (max-width: 560px) { .v3-frente-foto { padding-bottom: 0; } .v3-frente-foto .v2-frente-prueba { position: relative; left: auto; bottom: auto; max-width: none; margin: -1.4rem .8rem 0; } }
/* M29 */
@media (max-width: 1023px) { #search-btn-mobile { margin-left: auto; min-width: 44px; min-height: 44px; } }
body.v2 .b-cf-pasos b { flex: none; width: 2.3rem; margin-right: 0; }
/* M31: enlaces de texto con área de toque suficiente */
body.v2 .b-mas a { display: inline-block; padding-block: .6rem; }
body.v2 .b-svc-li a, body.v2 .v2-frente-enlaces a, body.v2 footer li a { display: inline-block; padding-block: .45rem; }
/* M32, M34 */
@media (min-width: 700px) and (max-width: 1023px) { .b-pg-servicios .b-pilar-tarjetas { grid-template-columns: repeat(3, minmax(0, 1fr)); } .b-pg-servicios .b-pilar-tarjetas.b-n4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 700px) and (max-width: 899px) { body.v2 .b-zig-fila { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); align-items: center; gap: 2rem; } }
/* M33: títulos sin palabras huérfanas */
body.v2 .b-h2 { text-wrap: balance; }
@media (min-width: 700px) { body.v2 .b-h2 { max-width: 26ch; } }
@media (min-width: 700px) and (max-width: 899px) { body.v2 .b-hero.b-hero-foto .b-h1.b-h1-svc { max-width: none; } }
/* M35, M36, M38, M40 */
body.v2 .b-grid > a.b-cell:not(:has(p)):not(:has(.b-cell-n)) { min-height: 0; padding-block: 1.1rem; }
body.v2 .cia-tabla tbody th { font-size: 1.02rem !important; line-height: 1.35; }
body.v2 .b-con-servicios { line-height: 2; }
body.v2 .b-faq summary { font-size: 1.1rem; font-weight: 600; letter-spacing: -.012em; }
/* L-07: ventana de WhatsApp en el sistema nuevo y sin cortarse en pantallas bajas */
body.v2 #wa-popup { border: 1px solid rgba(14,21,48,.18) !important; border-radius: 18px !important; box-shadow: 0 24px 60px rgba(14,21,48,.28) !important; max-height: calc(100dvh - 24px); overflow-y: auto !important; }
body.v2 #wa-popup input, body.v2 #wa-popup select, body.v2 #wa-popup textarea { border: 1px solid #c9d2f0 !important; border-radius: 10px !important; box-shadow: none !important; }
body.v2 #wa-popup button[type="submit"] { border-radius: 999px !important; box-shadow: none !important; border: 0 !important; }
/* L-08: en el celular, del botón se llega directo al formulario */
@media (max-width: 899px) { body.v2 .b-cf-in { display: flex; flex-direction: column; } body.v2 .b-cf-txt { display: contents; } body.v2 .b-cf-txt > .b-h2 { order: 1; } body.v2 .b-cf-txt > .b-lead { order: 2; } body.v2 .b-cf .b-form { order: 3; } body.v2 .b-cf-pasos { order: 4; margin-top: 1.6rem; } body.v2 .b-cf-txt > .b-b2 { order: 5; align-self: flex-start; } }
/* L-05: mensaje de envío correcto con el sistema nuevo */
.b-form-ok { padding: 1.6rem .4rem; display: grid; gap: .7rem; justify-items: start; }
.b-form-ok-t { font-size: 1.4rem; font-weight: 600; color: var(--bto-ink); margin: 0; }
.b-form-ok p { margin: 0; color: var(--bto-muted); }
/* L-06, L-20: filas de acción a mitad de página */
body.v2 .v3-accion-media { margin-top: 2.2rem; }
/* L-14: prueba junto al formulario */
.b-form-prueba { font-size: .85rem; color: var(--bto-muted); text-align: center; margin: 0; }
/* L-22: en el celular la nota de «gratis» queda pegada a su botón */
@media (max-width: 999px) { body.v2 .v3-hero .v2-hero-txt { display: flex; flex-direction: column; align-items: flex-start; } body.v2 .v3-hero .b-btns { display: contents; } body.v2 .v3-hero .b-btns .b-b1 { order: 1; } body.v2 .v3-hero .v3-hero-nota { order: 2; margin: .7rem 0 1.1rem; } body.v2 .v3-hero .b-btns .b-b2 { order: 3; } }

/* ══ Ronda 1 de auditoría (funcionamiento y accesibilidad) ══ */
/* F03: los menús desplegables no se cortan por los lados */
@media (min-width: 1024px) { body.v2 #navbar .mega-menu-panel { position: fixed !important; top: 56px !important; left: max(16px, calc((100vw - 840px) / 2)) !important; right: auto !important; width: min(840px, calc(100vw - 32px)) !important; } }
/* F04: los enlaces de un menú cerrado no reciben el foco */
body.v2 .mega-menu-panel[aria-hidden="true"] { visibility: hidden; }
/* F05: entre 1024 y 1139 px la barra no cabía; ahí se usa el menú compacto */
@media (min-width: 1024px) and (max-width: 1139px) {
  body.v2 #navbar .hidden.lg\:flex, body.v2 #navbar #search-btn-desktop { display: none !important; }
  body.v2 #navbar #mobile-menu-btn, body.v2 #navbar #search-btn-mobile { display: block !important; }
  body.v2 #mobile-menu:not(.hidden) { display: block !important; }
}
/* F08: la ventana de WhatsApp se puede recorrer en pantallas bajas */
body.v2 #wa-popup-overlay { overflow-y: auto; padding: 12px 0; }
/* F10: el foco se ve también sobre azul y azul noche */
body.v2 :is(.b-hero, .v3-hero, .b-cf, .b-cta, .b-sec-ink, footer) :focus-visible { outline: 3px solid var(--v3-sol) !important; outline-offset: 3px; }
body.v2 main :focus-visible, body.v2 #navbar :focus-visible { outline: 3px solid var(--bto-blue); outline-offset: 3px; }
body.v2 :is(.b-hero, .v3-hero, .b-cf, .b-cta, .b-sec-ink) :focus-visible { outline-color: var(--v3-sol); }
/* F13: buscador */
body.v2 #search-card, body.v2 #search-modal [class*="border"] { border-radius: 20px; }
body.v2 #search-cta a, body.v2 #search-modal a[class*="border"], body.v2 #search-modal button { border-radius: 999px !important; box-shadow: none !important; }
/* F15, F16: avisos del formulario */
body.v2 .b-form [aria-invalid="true"], body.v2 .b-form .border-red-500 { border-color: #b42318 !important; }
body.v2 .b-form .form-error, body.v2 .b-form .bto-email-note { color: #b42318 !important; -webkit-text-fill-color: #b42318 !important; font-size: .85rem; font-weight: 500; text-transform: none; letter-spacing: 0; }
body.v2 .b-form-2 { align-items: start; }
/* F23: al saltar a una sección o a un campo, la barra fija no los tapa */
body.v2 main [id] { scroll-margin-top: 84px; }
body.v2 .b-form :is(input, textarea, select) { scroll-margin-top: 120px; }
/* F26: objetivos táctiles */
@media (max-width: 899px) { body.v2 footer a { padding-block: .5rem; } body.v2 #mobile-menu a { min-height: 44px; display: flex; align-items: center; } }
/* F31: el carrusel de logos se detiene también al enfocarlo con el teclado */
.v3-logos-pista:focus .v3-logos-fila, .v3-logos-pista:focus-visible .v3-logos-fila { animation-play-state: paused; }
body.v2 .b-form-ok .b-form-ok-t { color: var(--bto-ink) !important; -webkit-text-fill-color: var(--bto-ink) !important; }

/* Campo de las herramientas (dirección del sitio): píldora, como su botón */
body.v2 .b-herr-form input { border-radius: 999px !important; border: 0 !important; padding-inline: 1.4rem; min-height: 3.4rem; }
body.v2 .b-herr-form { align-items: center; }

/* ══ Ronda 2 (revisión como el dueño) ══ */
/* D01: tarjetas de cifra estáticas (Shopify) no cambian al pasar el cursor */
body.v2 .b-cell-static.b-caso:hover .b-caso-m { color: var(--bto-blue) !important; -webkit-text-fill-color: var(--bto-blue) !important; }
body.v2 .b-cell-static.b-caso:hover :is(.b-caso-l, .b-caso-pie b, .b-caso-pie span) { color: var(--bto-muted) !important; -webkit-text-fill-color: var(--bto-muted) !important; }
body.v2 .b-cell-static.b-caso:hover .b-caso-pie b { color: var(--bto-ink) !important; -webkit-text-fill-color: var(--bto-ink) !important; }
/* D02: botones sin sombra dura ni salto al pasar el cursor; el amarillo se oscurece en vez de volverse blanco */
body.v2 .bto-cta:hover, body.v2 .b-b1:hover, body.v2 .b-b2:hover, body.v2 #navbar a.rounded-full:hover, body.v2 a.bg-blue-600:hover, body.v2 button.bg-blue-600:hover, body.v2 .btn-primary:hover { box-shadow: none !important; transform: none !important; }
body.v2 :is(.b-hero, .b-cta, .b-cf, .b-sec-ink, .v3-hero) .b-b1:hover { background-color: #f2c230 !important; border-color: #f2c230 !important; }
body.v2 #navbar a[href^="/contacto"]:hover { background-color: var(--bto-blue-d) !important; }
/* D03: los pasos no son enlaces: sin franja al pasar el cursor */
body.v2 .b-cell:hover .b-cell-n-warm, body.v2 .b-cell:hover .b-cell-n { background: transparent !important; }
/* D05: un solo subrayado en los enlaces de texto */
body.v2 .b-mas a { border-bottom: 0 !important; }
/* D06: en tableta, las rejillas de tres van en tres columnas (antes la tercera quedaba sola) */
@media (min-width: 768px) and (max-width: 1023px) {
  body.v2 .b-grid-3, body.v2 .b-pilar-tarjetas:not(.b-n4) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  body.v2 .b-pilar-tarjetas.b-n4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.v2 .b-grid-3 > :last-child:nth-child(odd) { grid-column: auto !important; }
  body.v2 .b-grid-3 > .b-cell { padding-left: 1rem; padding-right: 1rem; }
}
/* D07: en tableta el formulario de cierre usa todo el ancho; ejemplo de correo corto */
@media (max-width: 959px) { body.v2 .b-cf .b-form { width: 100%; max-width: none; } }
/* D09: tarjetas de especialidad compactas, en varias columnas */
body.v2 .b-grid:has(> a.b-cell:not(:has(p)):not(:has(.b-cell-n))) { grid-template-columns: repeat(auto-fill, minmax(min(100%, 15.5rem), 1fr)) !important; gap: .8rem !important; }
body.v2 .b-grid > a.b-cell:not(:has(p)):not(:has(.b-cell-n)) { min-height: 0 !important; padding: 1rem 2.8rem 1rem 1.2rem !important; }
body.v2 .b-grid > a.b-cell:not(:has(p)):not(:has(.b-cell-n)) h3 { margin: 0 !important; font-size: 1.02rem; }
body.v2 .b-grid > a.b-cell:not(:has(p)):not(:has(.b-cell-n))::after { top: 50%; transform: translateY(-50%); }
body.v2 .b-grid > a.b-cell:not(:has(p)):not(:has(.b-cell-n)):hover::after { transform: translateY(-50%) rotate(90deg); }
/* D10: buscador con el sistema nuevo */
body.v2 #search-answer > div { background: var(--bto-cream) !important; border: 0 !important; border-radius: 16px !important; }
body.v2 #search-answer > div div[class*="bg-blue-600"] { border-radius: 999px !important; }
body.v2 #search-results span[class*="uppercase"] { text-transform: none !important; letter-spacing: 0 !important; font-size: .78rem !important; background: var(--bto-cream) !important; color: var(--bto-blue) !important; }
body.v2 #search-cta a { border-radius: 999px !important; border: 0 !important; box-shadow: none !important; font-size: .85rem !important; padding-block: .65rem !important; }
body.v2 #search-cta a:first-child { background: var(--bto-blue) !important; color: #fff !important; }
body.v2 #search-cta a#search-wa-cta { background: #fff !important; color: var(--bto-ink) !important; border: 1px solid rgba(14,21,48,.2) !important; }
body.v2 #search-results a { border-radius: 14px !important; border-color: rgba(14,21,48,.1) !important; box-shadow: none !important; }
/* D12: botón del menú móvil en píldora; una sola línea fina entre filas */
body.v2 #mobile-menu a.bg-blue-600 { border-radius: 999px !important; box-shadow: none !important; width: 100%; padding-block: 1rem !important; }
body.v2 #mobile-menu [style*="border-top"], body.v2 #mobile-menu [style*="border-bottom"], body.v2 #mobile-menu button { border-color: rgba(14,21,48,.12) !important; border-width: 0 !important; border-top-width: 1px !important; }
/* D16: los «Hoy:» de columnas vecinas arrancan a la misma altura */
body.v2 .b-grid-4 > .b-cell-static > h3 { min-height: calc(2 * 1.32em); line-height: 1.32; }
/* D20: capturas con el mismo borde claro en todas las páginas; un solo color de enlace */
body.v2 .b-shot img, body.v2 .b-zig-foto img, body.v2 .b-plat-fila img { border: 1px solid rgba(14,21,48,.14) !important; }
body.v2 .b-mas-link { color: var(--bto-ink) !important; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 4px; margin-top: 1rem; }
/* D24: preguntas del inicio en dos columnas (pregunta y respuesta) */
@media (min-width: 900px) { body.v2 section[aria-labelledby="faq-h"] .b-faq-i { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 0 4rem; border-top-width: 1px !important; }
  body.v2 section[aria-labelledby="faq-h"] .b-faq-i dd { margin-top: 0 !important; } }
/* D25: filtros del portafolio en una fila con desplazamiento lateral */
@media (max-width: 1199px) { body.v2 .b-pestanas, body.v2 .b-filtros { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  body.v2 .b-pestanas > *, body.v2 .b-filtros > * { flex: none; white-space: nowrap; } }
/* D29: la cita principal en blanco */
body.v2 #resenas blockquote.b-rv > p { color: #fff !important; }
/* D30: en tableta, cabecera del inicio con la foto más grande y los botones en fila */
@media (min-width: 760px) and (max-width: 999px) {
  body.v2 .v3-hero .v2-hero-in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 2rem; }
  body.v2 .v3-hero .v2-hero-txt { display: block !important; }
  body.v2 .v3-hero .b-btns { display: flex !important; flex-wrap: wrap; gap: .7rem; }
  body.v2 .v3-hero .v3-hero-nota { margin-top: .9rem !important; }
  body.v2 .v3-hero .v2-h1 { font-size: clamp(2.2rem, 5vw, 2.8rem); }
}

/* ══ Ronda 2 (funcionamiento) ══ */
/* F10: foco visible en la barra transparente (amarillo) y sobre la tarjeta blanca del formulario (cobalto) */
body.v2 #navbar.bg-transparent :focus-visible { outline-color: var(--v3-sol) !important; }
body.v2 #navbar.bg-transparent .mega-menu-panel :focus-visible, body.v2 .b-cf .b-form :focus-visible, body.v2 .b-form-ok :focus-visible { outline-color: var(--bto-blue) !important; }
/* F15: el campo con error se marca en rojo (gana a la regla general de campos) */
body.v2 main form input[aria-invalid="true"]:not([type="checkbox"]):not([type="radio"]):not([type="range"]), body.v2 main form .border-red-500, body.v2 #wa-popup [aria-invalid="true"] { border-color: #b42318 !important; }
body.v2 #wa-popup .bto-email-note { color: #b42318 !important; -webkit-text-fill-color: #b42318 !important; }
/* F26: objetivos táctiles también con el menú compacto y en la X de la ventana de WhatsApp */
@media (max-width: 1139px) { body.v2 #mobile-menu a { min-height: 44px; display: flex; align-items: center; } }
body.v2 #wa-popup-close { min-width: 44px; min-height: 44px; display: grid; place-items: center; }
/* F31: el foco del carrusel de logos se ve (el desvanecido de los bordes lo ocultaba) */
body.v2 .v3-logos:has(.v3-logos-pista:focus-visible) { outline: 3px solid var(--bto-blue); outline-offset: -3px; }
body.v2 .v3-logos-pista:focus-visible { outline: 0; }

/* D22: en /contacto/ los títulos de sección con el mismo tamaño que en el resto del sitio */
body.v2 .b-pg-contacto .b-reto-h, body.v2 main .b-reto-h:not(.b-reto-h-larga) { font-size: clamp(1.9rem, 4.2vw, 3.2rem); line-height: 1.06; }
body.v2 .b-ct-canal a { color: var(--bto-ink); }

/* Paginación del blog: el «Anterior» desactivado no se muestra (se conserva su espacio); conteos de categoría legibles */
body.v2 .b-pag-off { visibility: hidden; }
body.v2 #articulos a span, body.v2 .b-pestanas a span { font-size: .8rem !important; }

/* ══ Ronda final ══ */
/* R3-01: tableta con la foto de cabecera visible a la derecha */
@media (min-width: 700px) and (max-width: 899px) {
  body.v2 .b-hero.b-hero-foto .b-hero-img { display: block !important; width: 42%; opacity: 1; object-position: 65% center; }
  body.v2 .b-hero.b-hero-foto::after { content: ''; display: block !important; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, var(--bto-blue) 0, var(--bto-blue) 56%, rgba(31,59,255,.5) 64%, rgba(31,59,255,0) 82%); }
  body.v2 .b-hero.b-hero-foto > .b-wrap > * { max-width: 62% !important; }
  body.v2 .b-hero.b-hero-foto .b-h1.b-h1-svc, body.v2 .b-hero.b-hero-foto .b-h1 { font-size: clamp(2rem, 4.6vw, 2.6rem); }
}
/* R3-02: en tableta los artículos del inicio van uno debajo del otro */
@media (max-width: 999px) { body.v2 #blog .b-grid-3 { grid-template-columns: 1fr !important; } }
/* R3-05: los párrafos junto a los títulos de sección arrancan siempre en la misma línea */
@media (min-width: 900px) { body.v2 .b-head > div { flex: 1 1 0; min-width: 0; } body.v2 .b-head .b-lead { flex: 0 0 42%; } }
/* R3-06: filas de casos y tarjetas sin sangría, alineadas con su título */
@media (min-width: 600px) and (max-width: 1023px) { body.v2 .b-grid > a.b-cell.b-caso, body.v2 .b-grid-3 > .b-cell-static { padding-left: 0 !important; padding-right: 0 !important; } }
/* R3-07: en el celular los títulos de una línea no reservan espacio para dos */
@media (max-width: 599px) { body.v2 .b-grid-4 > .b-cell-static > h3 { min-height: 0; } }
/* R3-08: las pestañas desplazables avisan que hay más */
@media (max-width: 1199px) { body.v2 .b-pestanas { -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 88%, transparent); padding-right: 2rem; } }
/* R3-15: en el celular los botones apilados ocupan el mismo ancho y su texto va centrado */
@media (max-width: 599px) { body.v2 main .b-btns:not(.v3-hero .b-btns) { flex-direction: column; align-items: stretch; } body.v2 main .b-btns:not(.v3-hero .b-btns) > a { justify-content: center; text-align: center; text-wrap: balance; } }
/* R3-16: el marco de la captura se ajusta a la imagen */
body.v2 .b-shot img { display: block; }
body.v2 .b-shot { height: auto !important; aspect-ratio: auto !important; }
/* R3-17: etiqueta del gráfico sin mayúsculas espaciadas */
body.v2 .b-mock-hd, body.v2 .b-mock-hd span { text-transform: none !important; letter-spacing: 0 !important; }

body.v2 .b-pg-contacto .b-ct-canales { border-top: 1px solid rgba(14,21,48,.14); }
body.v2 .b-pg-contacto .b-ct-canales-h { text-transform: none; letter-spacing: 0; font-size: .95rem; }

/* ══ Fotos reales del equipo (taller del 6-nov-2026) ══ */
.v3-equipo { margin: 0; background: var(--bto-ink); }
.v3-equipo img { display: block; width: 100%; height: auto; max-height: 78vh; object-fit: cover; object-position: center 40%; }
.v3-equipo figcaption { color: #fff; font-size: 1rem; line-height: 1.5; padding-top: 1.1rem; padding-bottom: 1.3rem; }
.v3-equipo figcaption b { font-weight: 600; margin-right: .4rem; }
body.v2 .bto-tira .bto-ph img { aspect-ratio: 4 / 3; width: 100%; height: 100%; object-fit: cover; }
body.v2 .b-hero-img[src*="equipo-real"] { object-position: 50% center !important; }
