.cbv2-videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 18px; margin: 0; }
.cbv2-videos--carrusel { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(74%, 250px);
	overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; padding-bottom: 10px; }
.cbv2-videos--carrusel > .cbv2-video { scroll-snap-align: start; }

.cbv2-videos--carrusel .cbv2-video .cbv2-video__medio { aspect-ratio: 1 / 1; max-height: none; }
@media (max-width: 600px) {
	.cbv2-videos--carrusel { grid-auto-columns: min(62%, 230px); }

	.cbv2-videos:not(.cbv2-videos--carrusel) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.cbv2-videos:not(.cbv2-videos--carrusel) .cbv2-video--cuadrado:only-child { grid-column: 1 / -1; }
	.cbv2-video__pie { font-size: 14px; }
}
.cbv2-video { margin: 0; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.cbv2-video__medio { display: block; width: 100%; border: 0; border-radius: var(--r-m); background: var(--azul-marino); aspect-ratio: 1 / 1; }
.cbv2-video--vertical .cbv2-video__medio { aspect-ratio: 9 / 16; max-height: 440px; object-fit: cover; }
.cbv2-video--ancho .cbv2-video__medio { aspect-ratio: 16 / 9; }
.cbv2-video__pie { display: flex; flex-direction: column; gap: 2px; font-family: var(--font-inst); font-size: 15px; line-height: 1.4; color: var(--texto); }
.cbv2-video__pie strong { font-weight: 700; color: var(--azul-profundo); }
.cbv2-video__pie span { font-size: 14px; color: color-mix(in srgb, var(--texto) 76%, var(--blanco-calido)); }

.cbv2-pag-lista { margin: 0; padding: 0 0 0 20px; display: flex; flex-direction: column; gap: 8px; font-size: 16px; line-height: 1.6; color: var(--texto); }
.cbv2-pag-mas { margin-top: 10px; }
.cbv2-pag-mas summary { min-height: var(--tactil-min); display: inline-flex; align-items: center; cursor: pointer; font-weight: 700; color: var(--azul-principal); }
.cbv2-pag-mas[open] summary { margin-bottom: 8px; }
div.cbv2-pag-dos.cbv2-pag-dos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: clamp(24px, 3vw, 48px); align-items: start; }
.cbv2-pag-dos__texto { min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.cbv2-pag-dos__medio { min-width: 0; }
.cbv2-pag-dos__texto h2 { margin: 0 !important; text-align: left !important; font-family: var(--font-inst) !important; font-size: var(--h2) !important; font-weight: 700 !important; line-height: 1.15 !important; color: var(--texto) !important; }
.cbv2-pag-dos__texto h3 { margin: 8px 0 0 !important; text-align: left !important; font-family: var(--font-inst) !important; font-size: 20px !important; font-weight: 700 !important; line-height: 1.3 !important; color: var(--azul-profundo) !important; }

.cbv2-pag-intro { margin-top: 12px !important; }
.cbv2-pag-fundadores { margin-top: 28px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 24px; }
.cbv2-pag-fundador { min-width: 0; display: grid; grid-template-columns: minmax(0, 200px) minmax(0, 1fr); gap: 22px; align-items: start;
	padding: 22px; background: var(--blanco-calido); border: 1px solid color-mix(in srgb, var(--azul-marino) 12%, var(--blanco-calido)); border-radius: var(--r-l); }
.cbv2-pag-fundador__foto { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center top; border-radius: var(--r-m); }
.cbv2-pag-fundador__texto { min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.cbp-p4-nosotros .cbv2-pag-fundador__texto h3 { font-size: 22px !important; font-weight: 700 !important; line-height: 1.25 !important; color: var(--texto) !important; }
.cbv2-pag-fundador__rol { margin: 0; font-size: 16px; font-weight: 600; color: var(--azul-profundo); }
.cbv2-pag-fundador__cargo { margin: -4px 0 0; font-size: 15px; font-weight: 500; color: var(--cbv2-texto-2); }
@media (max-width: 560px) {
	.cbv2-pag-fundador { grid-template-columns: 1fr; }
	.cbv2-pag-fundador__foto { max-width: 260px; }
}
.cbv2-pag-metodo-txt { margin: 14px 0 0; max-width: 56ch; font-size: 17px; line-height: 1.65; color: color-mix(in srgb, var(--blanco-calido) 92%, transparent); }
.cbv2-pag-lema { margin: 18px 0 0; padding: 0 0 0 16px; border-left: 3px solid var(--dorado); font-family: var(--font-emocional); font-size: clamp(22px, 2vw, 28px); font-style: italic; line-height: 1.3; color: var(--blanco-calido); }
.cbv2-pag-frases { list-style: none; margin: 26px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px 28px; }
.cbv2-pag-frases li { font-family: var(--font-emocional); font-size: clamp(19px, 1.6vw, 22px); font-style: italic; color: var(--dorado-claro); }

.cbv2-pag-nota-legal { margin: 0; align-self: flex-start; padding: 8px 14px; border-radius: var(--r-s); font-size: 15px; font-weight: 700;
	background: color-mix(in srgb, var(--dorado) 16%, var(--blanco-calido)); color: var(--texto); border: 1px solid var(--dorado); }
.cbv2-pag-leg-item ul { margin: 0; max-width: 65ch; padding: 0 0 0 20px; display: flex; flex-direction: column; gap: 6px; font-size: 17px; line-height: 1.7; color: color-mix(in srgb, var(--texto) 88%, var(--blanco-calido)); }
.cbv2-pag-leg-item a { color: var(--azul-principal); font-weight: 700; text-decoration: underline; }

.cbv2-pag { color: var(--texto); font-family: var(--font-inst); background: var(--blanco-calido); }
.cbv2-pag-ancho { max-width: var(--ancho-max); margin: 0 auto; }
.cbv2-pag-hero { padding: clamp(32px, 4vw, 64px) 20px; background: var(--blanco-calido); }
.cbv2-pag-hero__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: clamp(24px, 4vw, 56px); align-items: center; }
.cbv2-pag-hero__texto { min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.cbv2-pag .cbv2-pag-hero h1 { margin: 0 !important; text-align: left !important; font-family: var(--font-emocional) !important; font-size: clamp(36px, 4.2vw, 58px) !important;
	font-weight: 600 !important; line-height: 1.05 !important; color: var(--azul-marino) !important; }
.cbv2-pag-hero__foto { display: block; width: 100%; height: auto; max-width: 560px; justify-self: center; aspect-ratio: 676 / 568; object-fit: cover; border-radius: var(--r-l); }
.cbv2-pag-hero__foto--ancha { aspect-ratio: 16 / 9; }
.cbv2-pag-entrada { margin: 0; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--azul-principal); }
.cbv2-pag-lead { margin: 0; max-width: 56ch; font-size: clamp(17px, 1.25vw, 20px); line-height: 1.6; color: color-mix(in srgb, var(--texto) 88%, var(--blanco-calido)); }
.cbv2-pag-botones { margin: 6px 0 0; display: flex; flex-wrap: wrap; gap: 12px; }
.cbv2-pag-btn { min-height: 52px; padding: 0 26px; display: inline-flex; align-items: center; justify-content: center; font-size: 17px; font-weight: 700; border-radius: var(--r-pill); text-decoration: none; }
.cbv2-pag-btn--linea { border: 2px solid var(--azul-principal); color: var(--azul-principal) !important; background: transparent; }
.cbv2-pag-aviso { margin: 0; padding: 14px 20px; text-align: center; font-size: 14px; line-height: 1.6; background: color-mix(in srgb, var(--azul-principal) 7%, var(--blanco-calido)); color: color-mix(in srgb, var(--texto) 80%, var(--blanco-calido)); }
.cbv2-pag-seccion { padding: clamp(40px, 5vw, 80px) 20px; }
.cbv2-pag-seccion--suave { background: color-mix(in srgb, var(--azul-principal) 5%, var(--blanco-calido)); }
.cbv2-pag .cbv2-pag-seccion h2 { margin: 0 0 16px !important; text-align: left !important; font-family: var(--font-inst) !important; font-size: var(--h2) !important; font-weight: 700 !important; line-height: 1.15 !important; color: var(--texto) !important; }
.cbv2-pag .cbv2-pag-seccion h3 { margin: 0 !important; text-align: left !important; font-family: var(--font-inst) !important; font-size: 20px !important; font-weight: 700 !important; line-height: 1.3 !important; color: var(--azul-profundo) !important; }
.cbv2-pag-texto { margin: 0; max-width: 68ch; font-size: 17px; line-height: 1.7; }
.cbv2-pag-tarjetas { margin-top: 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 18px; }
.cbv2-pag-tarjeta { min-width: 0; display: flex; flex-direction: column; gap: 8px; padding: 22px; background: var(--blanco-calido); border: 1px solid color-mix(in srgb, var(--azul-marino) 12%, var(--blanco-calido)); border-top: 3px solid var(--azul-principal); border-radius: var(--r-m); }
.cbv2-pag-tarjeta p { margin: 0; font-size: 16px; line-height: 1.6; }
.cbv2-pag-pasos { margin: 0 0 8px; padding: 0 0 0 22px; display: flex; flex-direction: column; gap: 12px; font-size: 17px; line-height: 1.6; }
.cbv2-pag-precio { display: flex; flex-direction: column; gap: 14px; padding: 24px; background: var(--blanco-calido); border: 1px solid color-mix(in srgb, var(--azul-marino) 12%, var(--blanco-calido)); border-radius: var(--r-l); }
.cbv2-pag-nota { margin: 0; font-size: 14px; line-height: 1.6; color: color-mix(in srgb, var(--texto) 76%, var(--blanco-calido)); }
.cbv2-pag-enlace { color: var(--azul-principal) !important; font-weight: 700; text-decoration: underline; }

.cbv2-paquetes { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.cbv2-paquetes li { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; align-items: baseline; padding: 12px 14px; border: 1px solid color-mix(in srgb, var(--azul-marino) 12%, var(--blanco-calido)); border-radius: var(--r-s); background: var(--blanco-calido); font-family: var(--font-inst); }
.cbv2-paquetes strong { font-size: 16px; color: var(--texto); }
.cbv2-paquetes span { font-size: 18px; font-weight: 800; color: var(--azul-profundo); white-space: nowrap; }
.cbv2-paquetes small { grid-column: 1 / -1; font-size: 14px; color: color-mix(in srgb, var(--texto) 76%, var(--blanco-calido)); }
.cbv2-horas-ayuda { margin: 0 0 14px; display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 1.55; }
.cbv2-horas-ayuda p { margin: 0; }

.cbp-p4-testimonios .cbp-p4-tes-seccion h2 { line-height: 1.2 !important; }

@media (min-width: 900px) {
	[aria-labelledby="cbp-tes-curso"] .cbv2-videos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	[aria-labelledby="cbp-tes-diplomado"] .cbv2-videos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.cbv2-pag-prosa { display: flex; flex-direction: column; gap: 14px; }

.cbv2-citas { margin-top: 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 18px; }
.cbv2-cita { margin: 0; min-width: 0; display: flex; flex-direction: column; gap: 14px; padding: 24px; background: var(--blanco-calido); border: 1px solid var(--cbv2-borde); border-left: 4px solid var(--dorado); border-radius: var(--r-m); }
.cbv2-cita blockquote { margin: 0; padding: 0; border: 0; }
.cbv2-cita blockquote p { margin: 0; font-family: var(--font-emocional); font-size: clamp(19px, 1.5vw, 22px); font-style: italic; line-height: 1.45; color: var(--texto); }
.cbv2-cita figcaption { display: flex; flex-direction: column; gap: 2px; font-family: var(--font-inst); font-size: 15px; }
.cbv2-cita figcaption strong { font-weight: 700; color: var(--azul-profundo); }
.cbv2-cita figcaption span { font-size: 14px; color: var(--cbv2-texto-2); }

.cbv2-viva { display: flex; flex-direction: column; gap: 14px; }
.cbv2-viva__frase { margin: 0; max-width: 68ch; font-family: var(--font-emocional); font-size: clamp(22px, 2vw, 28px); font-style: italic; line-height: 1.35; color: var(--azul-marino); }
.cbv2-viva__metodo { margin: 0; max-width: 68ch; font-size: 17px; line-height: 1.6; color: var(--texto); }
.cbv2-viva__beneficios { list-style: none; margin: 6px 0 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 12px; max-width: none; }
.cbv2-viva__beneficios li { padding: 14px 16px; background: var(--blanco-calido); border: 1px solid var(--cbv2-borde); border-top: 3px solid var(--dorado); border-radius: var(--r-s); font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--azul-profundo); }

@media (min-width: 600px) { .cbv2-viva__beneficios { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .cbv2-viva__beneficios { grid-template-columns: repeat(4, 1fr); } }

.cbv2-ent-cf7-envoltorio [data-name="your-select"]::before { content: "Tipo de sesión"; }
.cbv2-ent-cf7-envoltorio .wpcf7 { max-width: 560px; }

/* SPEC-026 DOC16 U-08 (16-oct): el texto del doctor en «Qué es» de la ficha del acompañamiento son varios párrafos seguidos; .cbv2-pag-texto no tiene margen. Solo espacio entre párrafos, nada global. */
.cbv2-pag-texto + .cbv2-pag-texto { margin-top: 16px; }
.cbv2-pag-tarjetas + .cbv2-pag-texto { margin-top: 24px; }
/* SPEC-026 DOC16 U-03 (16-oct): estilos de las paginas de CV de los fundadores, TODOS bajo .cbv2-cv (generado por infra/cv-doc16/generar_fragmentos.py desde el HTML del doctor; sin :root, *, body, modo oscuro ni fuentes nuevas). */
.cbv2-cv{--cv-navy:var(--azul-marino);--cv-gold:var(--dorado);--cv-gold-ink:var(--azul-principal);--cv-bg:var(--blanco-calido);--cv-surface:var(--blanco-calido);--cv-fg:var(--texto);--cv-muted:color-mix(in srgb, var(--texto) 72%, white);--cv-line:color-mix(in srgb, var(--texto) 14%, white);--cv-soft:color-mix(in srgb, var(--dorado) 14%, white);--cv-mast-fg:white;--cv-mast-muted:color-mix(in srgb, white 74%, var(--azul-marino));--cv-display:var(--font-emocional);--cv-body:var(--font-inst);color:var(--texto);font-family:var(--font-inst);font-size:15px;line-height:1.6}
.cbv2-cv *{box-sizing:border-box}
.cbv2-cv .mast{background:var(--cv-navy);color:var(--cv-mast-fg);padding-inline:16px;padding-block:56px 72px}
.cbv2-cv .wrap{max-width:1120px;margin-inline:auto}
.cbv2-cv .eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--cv-gold)}
.cbv2-cv .mast h1{font-family:var(--cv-display);font-weight:600;font-size:clamp(34px,5.4vw,58px);line-height:1.05;margin:14px 0 0;text-wrap:balance;max-width:20ch}
.cbv2-cv .mast h1 em{font-style:italic;color:var(--cv-gold)}
.cbv2-cv .mast p{color:var(--cv-mast-muted);max-width:62ch;margin:18px 0 0;font-size:16px}
.cbv2-cv .rule{width:56px;height:2px;background:var(--cv-gold);margin-top:26px}
.cbv2-cv .cv-main{padding-inline:16px;padding-block:0 64px}
.cbv2-cv .grid{max-width:1120px;margin:-40px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
@media (max-width:860px){.cbv2-cv .grid{grid-template-columns:1fr}}
.cbv2-cv .card{background:var(--cv-surface);border:1px solid var(--cv-line);border-radius:6px;overflow:hidden;min-width:0;box-shadow:0 18px 40px -28px rgba(6,27,58,.45)}
.cbv2-cv .head{display:flex;gap:18px;align-items:center;padding:28px 28px 22px}
.cbv2-cv .mono{flex:none;width:76px;height:76px;border-radius:50%;border:1.5px solid var(--cv-gold);display:grid;place-items:center;font-family:var(--cv-display);font-size:30px;font-weight:600;color:var(--cv-gold-ink);background:var(--cv-soft)}
.cbv2-cv .title{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cv-gold-ink)}
.cbv2-cv .name{font-family:var(--cv-display);font-weight:600;font-size:clamp(25px,3vw,31px);line-height:1.12;margin:4px 0 6px;text-wrap:balance}
.cbv2-cv .role{color:var(--cv-muted);font-size:14px;margin:0}
.cbv2-cv .creds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--cv-line)}
.cbv2-cv .creds div{padding:14px 16px;min-width:0}
.cbv2-cv .creds div+div{border-left:1px solid var(--cv-line)}
.cbv2-cv .creds b{display:block;font-family:var(--cv-display);font-size:21px;font-weight:600;line-height:1.15;color:var(--cv-fg)}
.cbv2-cv .creds span{display:block;font-size:12px;color:var(--cv-muted);line-height:1.35;margin-top:3px}
@media (max-width:440px){.cbv2-cv .creds{grid-template-columns:1fr}.cbv2-cv .creds div+div{border-left:0;border-top:1px solid var(--cv-line)}}
.cbv2-cv .main{padding:22px 28px 6px}
.cbv2-cv .label{font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--cv-muted);margin:0 0 12px}
.cbv2-cv .key{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.cbv2-cv .key li{position:relative;padding-left:20px}
.cbv2-cv .key li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;transform:rotate(45deg);background:var(--cv-gold)}
.cbv2-cv .key strong{font-weight:700}
.cbv2-cv details{margin:18px 28px 26px;border-top:1px solid var(--cv-line)}
.cbv2-cv summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0 4px;font-weight:700;color:var(--cv-gold-ink);font-size:14.5px}
.cbv2-cv summary::-webkit-details-marker{display:none}
.cbv2-cv summary:focus-visible{outline:2px solid var(--cv-gold);outline-offset:4px;border-radius:2px}
.cbv2-cv summary .chev{width:28px;height:28px;border-radius:50%;border:1px solid var(--cv-gold);display:grid;place-items:center;transition:transform .25s}
.cbv2-cv details[open] summary .chev{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){.cbv2-cv summary .chev{transition:none}}
.cbv2-cv .full{padding-top:10px;display:grid;gap:22px}
.cbv2-cv .full h3{font-family:var(--cv-display);font-size:20px;font-weight:600;margin:0 0 8px;color:var(--cv-fg)}
.cbv2-cv .tl{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cbv2-cv .tl li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;font-size:14px}
.cbv2-cv .tl .y{font-variant-numeric:tabular-nums;font-weight:700;color:var(--cv-gold-ink);font-size:13px;padding-top:1px}
.cbv2-cv .tl .t{min-width:0}
.cbv2-cv .tl .t small{display:block;color:var(--cv-muted);font-size:13px;line-height:1.5}
.cbv2-cv .plain{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14px}
.cbv2-cv .plain li::marker{color:var(--cv-gold)}
.cbv2-cv .foot{max-width:1120px;margin:36px auto 0;text-align:center;color:var(--cv-muted);font-size:13px}
.cbv2-cv .foot b{color:var(--cv-fg)}
.cbv2-cv .grid{grid-template-columns:1fr!important;max-width:760px}
.cbv2-cv summary .chev::after{content:"";width:7px;height:7px;border:solid currentColor;border-width:0 1.6px 1.6px 0;transform:rotate(45deg) translate(-1px,-1px)}
.cbv2-cv .mast p.cv-titular{font-family:var(--cv-display);font-weight:600;font-size:clamp(34px,5.4vw,58px);line-height:1.05;margin:14px 0 0;text-wrap:balance;max-width:20ch;color:var(--cv-mast-fg)}
.cbv2-cv .mast p.cv-titular em{font-style:italic;color:var(--cv-gold)}
.cbv2-cv-nombre{font-family:var(--font-emocional);font-weight:600;font-size:clamp(30px,4.4vw,46px);line-height:1.1;margin:28px 0 20px;color:var(--azul-marino);text-wrap:balance}
.cbv2-pag-fundador__cv{margin:10px 0 0}
.cbv2-pag-fundador__cv a{font-weight:700;color:var(--azul-principal);text-decoration:underline;text-underline-offset:3px}
