[data-curso-casuisticas]{width:100%;min-width:0;margin:0 auto 20px;text-align:left;font-family:Montserrat,Arial,sans-serif}
[data-curso-casuisticas],[data-curso-casuisticas] *{box-sizing:border-box}
.curso-portada{max-width:1230px;padding:calc(var(--campana-cabecera,210px) + 12px) 20px 0;margin:auto}
.curso-card{display:grid;grid-template-columns:1.25fr 1fr;background:#fffaf0;color:#172640;max-width:1190px;margin:auto;border:1px solid #e4c482;border-radius:18px;overflow:hidden;box-shadow:0 12px 40px #0002}
.curso-copy{padding:22px 28px;min-width:0}.curso-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 12px!important;color:#172640;line-height:1!important}.curso-eyebrow>strong{font-size:clamp(46px,4.6vw,64px);font-weight:900;letter-spacing:-2px;line-height:1}.curso-eyebrow>span{font-size:18px;font-weight:900;line-height:1.2;border-left:3px solid #dfaa29;padding-left:13px}
.curso-card h2{background:#ffce4d;border-left:5px solid #b54a09;padding:10px 13px;font-size:clamp(20px,2vw,27px)!important;line-height:1.15!important;letter-spacing:-.5px;font-weight:900;color:#172640!important;margin:0 0 12px!important;text-shadow:none}.curso-card h2>span{display:block;font-size:13px;letter-spacing:1.2px;margin-bottom:4px}.curso-card h2 em{display:block;font-style:normal;color:#172640}
.curso-nombre{font-size:21px!important;font-weight:900;line-height:1.3!important;margin:0 0 13px!important;color:#172640}.curso-nombre span{display:inline-block;margin-left:7px;font-size:12px;color:#526074;white-space:nowrap}
.curso-metodo-destacado{font-size:17px!important;line-height:1.4!important;color:#172640;margin:0 0 12px!important}.curso-metodo-destacado span{display:block;font-size:14px;color:#526074;margin-top:4px;line-height:1.5}
.curso-incluye{display:flex;flex-wrap:wrap;gap:6px 15px;list-style:none!important;padding:0!important;margin:0!important;font-size:14px;line-height:1.5;color:#234c3e}.curso-incluye li:before{content:'✓ ';font-weight:900}.curso-incluye li:nth-child(3),.curso-incluye li:nth-child(4){display:none}
.curso-visual{position:relative;display:flex;align-items:center;justify-content:center;background:#f5e8cb;padding:16px;min-width:0}.curso-visual>img{display:block;width:100%;height:auto;max-height:265px;object-fit:contain;border-radius:10px}.curso-imagen-nota{position:absolute;top:5px;right:10px;font-size:9px;color:#675c47}.curso-visual-caption{display:none}
.curso-franja{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.2fr .8fr 1.6fr;gap:16px;align-items:center;padding:15px 25px;background:#ffce4d;border-top:1px solid #e7b63b}.curso-franja strong{display:block;font-size:31px;line-height:1.2;font-weight:900;letter-spacing:-.8px;color:#172640;white-space:nowrap}.curso-franja span{display:block;font-size:13px;line-height:1.5;margin-top:4px;color:#172640}.curso-fechas>span{font-weight:800}.curso-precio strong{font-size:39px}.curso-contacto>span{text-align:center;font-size:11px}.curso-cta{display:flex;align-items:center;justify-content:center;min-height:48px;padding:13px 18px;border-radius:9px;background:#175d43;color:#fff!important;font-size:16px;font-weight:800;text-decoration:none!important;box-shadow:0 3px 0 #0d402e;white-space:nowrap}.curso-cta:hover{background:#104a34}.curso-cta:focus-visible,.curso-metodo summary:focus-visible,.curso-video:focus-visible{outline:3px solid #1768d1;outline-offset:4px}
.curso-metodo{grid-column:1/-1;background:#fffaf0;border-top:1px solid #e5d8bb}.curso-metodo summary{min-height:44px;padding:11px 25px;font-size:14px;font-weight:700;line-height:1.5;cursor:pointer}.curso-metodo summary>span{float:right}.curso-metodo[open] summary>span{transform:rotate(45deg)}.curso-metodo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:0 25px 20px}.curso-metodo-grid p{font-size:14px!important;line-height:1.6!important;color:#526074;margin:0!important}.curso-metodo-grid b{display:block;color:#172640;margin-bottom:5px}.curso-gancho{font-size:14px!important;line-height:1.5!important;color:#8e360a;margin:0 0 10px!important;font-weight:700}.curso-video{display:block;font-size:14px;color:#175d43;padding-top:10px;font-weight:800}
.curso-precio{justify-self:center;min-width:110px;padding:4px 15px 6px;background:#173c68;border:2px solid #fff6ce;border-radius:24px;text-align:center;box-shadow:0 3px 0 #b88a24}
.curso-franja .curso-precio strong,.curso-franja .curso-precio span{color:#fff}
/* Vista compacta de inicio y dashboard. Resultados conserva su diseño. */
@media(min-width:1100px){
  :is(.curso-card--inicio,.curso-card--dashboard){grid-template-columns:minmax(0,1fr) 190px}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-copy{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:5px 18px;padding:10px 20px}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-eyebrow{margin:0!important;gap:9px}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-eyebrow>strong{font-size:46px;letter-spacing:-1.8px}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-eyebrow>span{font-size:14px;padding-left:9px}
  :is(.curso-card--inicio,.curso-card--dashboard) h2{font-size:20px!important;margin:0!important;padding:6px 10px}
  :is(.curso-card--inicio,.curso-card--dashboard) h2>span{font-size:11px;margin-bottom:2px}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-nombre{font-size:17px!important;margin:0!important;line-height:1.2!important;background:#173c68;color:#fff;padding:7px 12px;border-radius:7px;border-left:4px solid #ffce4d}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-nombre span{display:block;font-size:11px;margin:3px 0 0;color:#fff}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-metodo-destacado{font-size:15px!important;margin:0!important;line-height:1.2!important}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-metodo-destacado span{font-size:12px;line-height:1.3;margin-top:3px}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-incluye{grid-column:1/-1;font-size:12px;gap:5px 14px}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-incluye li:nth-child(3),:is(.curso-card--inicio,.curso-card--dashboard) .curso-incluye li:nth-child(4){display:list-item}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-visual{padding:12px 10px 5px}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-visual>img{max-height:114px}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-franja{padding:6px 20px;gap:14px}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-franja strong{font-size:28px}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-precio strong{font-size:34px}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-franja span{margin-top:1px;font-size:12px}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-contacto>span{font-size:11px}
  :is(.curso-card--inicio,.curso-card--dashboard) .curso-cta{min-height:44px;padding:8px 14px;font-size:15px}
}
@media(min-width:769px){body:has(.curso-portada) .hero{padding-top:50px;min-height:auto}}
@media(max-width:950px){.curso-copy{padding:20px}.curso-card h2{font-size:28px!important}.curso-eyebrow{font-size:13px!important}.curso-nombre{font-size:18px!important}.curso-nombre span{display:block;margin:3px 0 0}.curso-metodo-destacado{font-size:16px!important}.curso-metodo-destacado span{font-size:13px}.curso-incluye{font-size:13px}.curso-franja{gap:12px;padding:14px 20px}.curso-franja strong{font-size:25px}.curso-precio strong{font-size:34px}.curso-franja span{font-size:11px}.curso-cta{font-size:13px;padding:12px}.curso-contacto>span{font-size:10px}.curso-metodo-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.curso-portada{padding-inline:12px}.curso-card{grid-template-columns:1fr}.curso-copy{padding:18px 20px}.curso-eyebrow{font-size:12px!important}.curso-card h2{font-size:27px!important;margin-bottom:10px!important}.curso-nombre{font-size:19px!important;margin-bottom:10px!important}.curso-nombre span{font-size:11px}.curso-metodo-destacado{margin-bottom:9px!important;font-size:16px!important}.curso-metodo-destacado span{font-size:13px}.curso-incluye{font-size:12px}.curso-visual{padding:8px;order:4}.curso-visual>img{max-height:130px}.curso-franja{grid-template-columns:1fr 1fr;padding:14px 20px;gap:14px 12px}.curso-franja strong{font-size:28px}.curso-franja span{font-size:12px}.curso-precio strong{font-size:37px}.curso-cta{font-size:13px}.curso-contacto>span{font-size:10px;line-height:1.5}.curso-metodo{order:5}.curso-metodo summary{padding:11px 20px;font-size:13px}.curso-metodo-grid{padding:0 20px 18px;gap:15px}}

/* ===== Dashboard: pizarra angosta de la maratón (solo .curso-pz; inicio y resultados no cambian) ===== */
.curso-pz{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) 128px auto;align-items:center;gap:6px 22px;max-width:1190px;margin:auto;padding:16px 22px 26px;
 color:#eef1ea;border:7px solid #5e3f27;border-radius:14px;
 background:radial-gradient(40% 70% at 18% 30%,#ffffff10,transparent 70%),radial-gradient(35% 60% at 80% 70%,#ffffff0b,transparent 70%),#22372d;
 box-shadow:inset 0 0 0 2px #3f2a1a,inset 0 0 50px #0006,0 14px 30px #0008;font-family:'Literata',Georgia,serif}
.curso-pz-logo{width:72px;height:72px;border-radius:50%;outline:2px dashed #eef1ea59;outline-offset:4px}
.curso-pz-texto{min-width:0}
.curso-pz-estado{display:flex;align-items:center;gap:8px;margin:0!important;font:700 20px/1.2 'Caveat',cursive;color:#ffe45e}
.curso-pz-punto{width:10px;height:10px;border-radius:50%;background:#ff5a4e;animation:curso-pz-latido 1.6s ease-out infinite}
.curso-pz h2{margin:0!important;font:700 clamp(26px,2.6vw,32px)/1.1 'Caveat',cursive!important;color:#fff!important;text-shadow:0 0 1px #fffa,0 0 12px #ffffff22!important;letter-spacing:.01em}
.curso-pz-detalle{margin:4px 0 0!important;max-width:68ch;font-size:14px!important;line-height:1.5!important;color:#d3dbd0!important}
/* Nota del profe: recuadro amarillo (como el de la tiza del estado) con letra legible; lo más llamativo del texto. */
.curso-pz-cita{display:flex;align-items:center;gap:10px;width:fit-content;max-width:36rem;margin:12px 0 0!important;padding:7px 14px 7px 10px!important;border-radius:10px;
 background:#ffe45e;color:#17291f!important;font:800 19px/1.25 'Literata',Georgia,serif!important;box-shadow:0 3px 0 #b3951c,0 10px 22px #0006}
.curso-pz-cita-icono{flex:none;font-size:40px;line-height:1}
/* Letra lo más grande posible SIN agrandar el recuadro (medido por ancho con Playwright contra el de 16 px). */
@media(max-width:1219px){.curso-pz-cita{font-size:17px!important}.curso-pz-cita-icono{font-size:32px}}
@media(max-width:980px){.curso-pz-cita{max-width:38.2rem;line-height:1.2!important}}
.curso-pz-firma{font-weight:700;font-style:italic;color:#5c4a08;white-space:nowrap}
.curso-pz-precio{position:relative;display:grid;justify-items:center;padding:6px 0 4px;text-align:center;color:#fff}
.curso-pz-precio strong{font:700 42px/1 'Caveat',cursive;color:#fff}
.curso-pz-precio span{font:600 18px/1 'Caveat',cursive;color:#ffe45e}
.curso-pz-precio svg{position:absolute;inset:-14px -16px;width:calc(100% + 32px);height:calc(100% + 28px);overflow:visible;pointer-events:none}
.curso-pz-precio path{fill:none;stroke:#f3f1e8;stroke-width:2.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:.85;animation:curso-pz-circulo 1s cubic-bezier(.6,.1,.3,1) .5s forwards}
.curso-pz-acciones{display:grid;gap:6px;justify-items:center}
.curso-pz-wa{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 20px;border-radius:12px;background:#1f8a4c;color:#fff!important;text-decoration:none!important;font:800 16px/1.2 'Literata',Georgia,serif;box-shadow:0 4px 0 #0f4f2a;white-space:nowrap;transition:background .2s ease,transform .15s ease}
.curso-pz-wa svg{width:21px;height:21px;fill:currentColor;flex:none}.curso-pz-wa:hover{background:#23a058}.curso-pz-wa:active{transform:translateY(2px);box-shadow:0 2px 0 #0f4f2a}
.curso-pz-aula{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;width:100%;padding:9px 18px;border:2px solid #eef1eacc;border-radius:12px;background:#ffffff14;color:#fff!important;text-decoration:none!important;font:800 15px/1.2 'Literata',Georgia,serif;white-space:nowrap;transition:background .2s ease,border-color .2s ease}
.curso-pz-aula:hover{background:#ffffff26;border-color:#ffe45e}
/* ===== Botón rojo de la clase (solo días de clase), encima de "Inscribirme" y "Entrar al aula", que no cambian.
   Dos líneas centradas, letra grande: arriba qué pasa, abajo el contador (o "Entrar a la clase"). Lleva al aula. ===== */
.curso-pz-vivo{width:0;min-width:100%;box-sizing:border-box;display:grid;justify-items:center;align-content:center;gap:1px;min-height:62px;padding:7px 14px 8px;
  border-radius:12px;background:linear-gradient(175deg,#ee3328,#c11a10);color:#fff!important;text-decoration:none!important;text-align:center;
  box-shadow:0 4px 0 #7d0f09,inset 0 1px 0 #ffffff40;transition:background .2s ease,transform .15s ease}
.curso-pz-vivo:hover{background:linear-gradient(175deg,#ff4639,#d42116)}
.curso-pz-vivo:active{transform:translateY(2px)}
.curso-pz-vivo-l1{display:inline-flex;align-items:center;gap:7px;font:800 16px/1.2 'Literata',Georgia,serif;color:#ffe45e;white-space:nowrap}
.curso-pz-vivo-l2{font:800 27px/1.1 'Literata',Georgia,serif;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap}
.curso-pz-vivo--vivo .curso-pz-vivo-l1{color:#fff}.curso-pz-vivo--vivo .curso-pz-vivo-l2{font-size:23px}
.curso-pz-vivo .curso-pz-punto{background:#fff}
/* antes de las 6:45: rojo más oscuro y quieto; desde las 6:45: rojo vivo con latido */
.curso-pz-vivo--espera{background:linear-gradient(175deg,#c42a20,#93150d);box-shadow:0 4px 0 #5a0b06,inset 0 1px 0 #ffffff2a}
.curso-pz-vivo--abierto,.curso-pz-vivo--vivo{animation:curso-pz-vivo 2s ease-out infinite}
@keyframes curso-pz-vivo{0%{box-shadow:0 4px 0 #7d0f09,0 0 0 0 #ff4a3f99}65%{box-shadow:0 4px 0 #7d0f09,0 0 0 13px #ff4a3f00}100%{box-shadow:0 4px 0 #7d0f09,0 0 0 0 #ff4a3f00}}
@media(max-width:600px){
 /* celular: el rojo a lo ancho y los dos botones de siempre lado a lado debajo */
 .curso-pz--envivo .curso-pz-acciones{grid-template-columns:1fr 1fr;gap:6px}
 .curso-pz--envivo .curso-pz-vivo{grid-column:1/-1;min-height:54px;padding:5px 10px 6px}
 .curso-pz--envivo .curso-pz-wa,.curso-pz--envivo .curso-pz-aula{min-height:40px;padding:6px 6px;font-size:13px;gap:5px;white-space:normal;text-align:center;line-height:1.15}
 .curso-pz--envivo .curso-pz-wa svg{width:17px;height:17px}
 .curso-pz-vivo-l1{font-size:14px}.curso-pz-vivo-l2{font-size:23px}.curso-pz-vivo--vivo .curso-pz-vivo-l2{font-size:19px}
}
@media(prefers-reduced-motion:reduce){.curso-pz-vivo--abierto,.curso-pz-vivo--vivo{animation:none}}
.curso-pz-acciones{justify-items:stretch!important}
.curso-pz a:focus-visible{outline:3px solid #ffe45e;outline-offset:3px}
.curso-pz-repisa{position:absolute;left:-7px;right:-7px;bottom:-7px;height:15px;background:linear-gradient(#8a5d3b,#5e3f27);border-radius:0 0 8px 8px}
.curso-pz-repisa i{position:absolute;right:34px;top:3px;width:30px;height:7px;border-radius:3px;background:#f5f5ef;box-shadow:-44px 0 0 -1px #ffe45e}
.curso-pz--cerrado .curso-pz-precio{display:none}
@keyframes curso-pz-circulo{to{stroke-dashoffset:0}}
@keyframes curso-pz-latido{0%{box-shadow:0 0 0 0 #ff5a4e99}70%{box-shadow:0 0 0 9px #ff5a4e00}100%{box-shadow:0 0 0 0 #ff5a4e00}}
@media(max-width:980px){
 .curso-pz{grid-template-columns:64px minmax(0,1fr) auto auto;grid-template-areas:'logo texto texto texto' 'logo . precio acciones';gap:12px 26px}
 .curso-pz-logo{grid-area:logo;width:64px;height:64px;align-self:start}.curso-pz-texto{grid-area:texto}.curso-pz-precio{grid-area:precio}.curso-pz-acciones{grid-area:acciones;justify-items:center}
}
@media(max-width:600px){
 .curso-pz{grid-template-columns:52px 50px minmax(0,1fr);grid-template-areas:'logo texto texto' 'precio precio acciones';gap:10px 12px;padding:14px 14px 24px;border-width:6px}
 .curso-pz-extra,.curso-pz-largo{display:none}
 .curso-pz-logo{grid-area:logo}.curso-pz-texto{grid-area:texto}.curso-pz-precio{grid-area:precio;justify-self:start}.curso-pz-acciones{grid-area:acciones}
 .curso-pz-precio span{white-space:nowrap;font-size:14px!important}
 .curso-pz-logo{width:52px;height:52px;align-self:start}
 .curso-pz h2{font-size:25px!important}.curso-pz-estado{font-size:18px}.curso-pz-detalle{font-size:13px!important}
 .curso-pz-cita{display:block;font-size:17px!important;line-height:1.25!important;margin-top:10px!important;padding:7px 10px!important}.curso-pz-cita-icono{float:left;font-size:30px;margin:2px 6px 0 0}
 .curso-pz-precio{margin-left:6px}.curso-pz-precio strong{font-size:34px}.curso-pz-precio span{font-size:15px}
 .curso-pz-acciones{justify-items:stretch}.curso-pz-wa{font-size:14px;padding:10px 12px;white-space:normal}
}
@media(prefers-reduced-motion:reduce){.curso-pz-precio path{animation:none;stroke-dashoffset:0}.curso-pz-punto{animation:none}.curso-pz-wa{transition:none}}

/* ===== Latido permanente: lleva la mirada al precio y al botón. Un pulso cada 4,5 s y quieto el resto.
   Solo transform/opacity (compositor). El S/30 marca el tiempo; 0,35 s después sale el anillo y cruza el brillo. ===== */
.curso-pz-precio strong{display:inline-block;animation:curso-pz-tiza 4.5s cubic-bezier(.23,1,.32,1) 2s infinite}
.curso-pz-wa{position:relative;isolation:isolate}
.curso-pz-wa::after{content:'';position:absolute;inset:-3px;border-radius:15px;border:2px solid #34d399;opacity:0;pointer-events:none;animation:curso-pz-anillo 4.5s cubic-bezier(.23,1,.32,1) 2.35s infinite}
.curso-pz-brillo{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:-1}
.curso-pz-brillo::before{content:'';position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(100deg,transparent,#ffffff47 50%,transparent);transform:translateX(-120%) skewX(-18deg);animation:curso-pz-brillo 4.5s cubic-bezier(.77,0,.175,1) 2.45s infinite}
@keyframes curso-pz-tiza{0%{transform:none}6%{transform:scale(1.09) rotate(-3deg)}14%,100%{transform:none}}
@keyframes curso-pz-anillo{0%{opacity:.75;transform:scale(1)}28%{opacity:0;transform:scale(1.14,1.4)}100%{opacity:0;transform:scale(1.14,1.4)}}
@keyframes curso-pz-brillo{0%{transform:translateX(-120%) skewX(-18deg)}22%,100%{transform:translateX(330%) skewX(-18deg)}}
@media(prefers-reduced-motion:reduce){.curso-pz-precio strong,.curso-pz-wa::after,.curso-pz-brillo::before{animation:none}}
/* Botón rojo: que no se salga de la pizarra en celular ni alargue la de tableta */
@media(min-width:601px) and (max-width:980px){.curso-pz--envivo .curso-pz-acciones{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.curso-pz--envivo .curso-pz-vivo{grid-column:1/-1}.curso-pz--envivo .curso-pz-wa,.curso-pz--envivo .curso-pz-aula{min-width:0;font-size:13px;padding:6px 6px;white-space:normal;text-align:center;line-height:1.15}.curso-pz--envivo .curso-pz-wa svg{width:17px;height:17px}}
@media(max-width:600px){.curso-pz--envivo .curso-pz-acciones{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.curso-pz--envivo .curso-pz-vivo{width:auto;min-width:0;padding:5px 6px 6px}.curso-pz--envivo .curso-pz-vivo-l1{white-space:normal;font-size:12px;line-height:1.15;justify-content:center;flex-wrap:wrap}.curso-pz--envivo .curso-pz-vivo-l2{font-size:22px}.curso-pz--envivo .curso-pz-vivo--vivo .curso-pz-vivo-l2{font-size:16px;white-space:normal}.curso-pz--envivo .curso-pz-wa,.curso-pz--envivo .curso-pz-aula{min-width:0;font-size:12px;padding:5px 3px}.curso-pz--envivo .curso-pz-wa svg{width:15px;height:15px}}
@media(max-width:380px){.curso-pz--envivo .curso-pz-wa svg{display:none}}
