/* PuntajePRO · Home (estilo v2 animado). Todo vive dentro de .pp para no tocar el resto del sitio. */
.pp{
  --pp-ink:#170029; --pp-night:#21003A; --pp-plum:#3C005A; --pp-plum-2:#561a7f; --pp-lilac:#C9B8DA; --pp-mist:#EDE6F5;
  --pp-acc:#C8F031; --pp-acc-2:#DAFB6A; --pp-paper:#FFFDF6; --pp-white:#FFFFFF; --pp-ok:#2FBF71; --pp-bad:#FF6B5E;
  --pp-display:"Unbounded","Arial Black",system-ui,sans-serif;
  --pp-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --pp-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --pp-spring:cubic-bezier(.34,1.45,.55,1); --pp-out:cubic-bezier(.23,1,.32,1);
  background:var(--pp-night); color:var(--pp-mist); font:16px/1.6 var(--pp-body); -webkit-font-smoothing:antialiased;
  position:relative; overflow:hidden;
}
.pp *,.pp *::before,.pp *::after{box-sizing:border-box}
.pp p{padding-bottom:0;margin:0;text-wrap:pretty}
.pp h1,.pp h2,.pp h3{font-family:var(--pp-display);line-height:1.02;letter-spacing:-.03em;margin:0;padding-bottom:0;color:inherit;font-weight:800;text-wrap:balance}
.pp a{color:inherit}
.pp img{max-width:100%;display:block}
.pp ol,.pp ul{padding:0!important;margin:0;list-style:none!important}.pp li{list-style:none!important;margin:0}.pp li::marker{content:none}
.pp button{font-family:var(--pp-body)}
.pp :focus-visible{outline:3px solid var(--pp-acc);outline-offset:3px;border-radius:10px}
.pp-wrap{max-width:1220px;margin:0 auto;padding-inline:20px;position:relative}

/* botones */
.pp .pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 15px/1 var(--pp-body);padding:16px 24px;border-radius:999px;text-decoration:none;border:0;cursor:pointer;white-space:nowrap;transition:transform 180ms var(--pp-out),background-color 180ms var(--pp-out),box-shadow 180ms var(--pp-out),color 180ms}
.pp .pp-btn:active{transform:scale(.96)}
.pp .pp-btn-acc{background:var(--pp-acc);color:var(--pp-ink);box-shadow:0 10px 30px -12px rgba(200,240,49,.75)}
.pp .pp-btn-acc:hover{background:var(--pp-acc-2);transform:translateY(-2px)}
.pp .pp-btn-line{background:transparent;color:var(--pp-white);box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.pp .pp-btn-line:hover{box-shadow:inset 0 0 0 2px var(--pp-acc);color:var(--pp-acc)}
.pp .pp-btn-ink{background:var(--pp-ink);color:var(--pp-acc)}
.pp .pp-btn-ink:hover{background:var(--pp-plum)}
.pp .pp-arrow{width:52px;height:52px;padding:0;border-radius:50%;background:rgba(255,255,255,.08);color:var(--pp-white);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.2);font:600 20px/1 var(--pp-body)}
.pp .pp-arrow:hover{background:var(--pp-acc);color:var(--pp-ink);box-shadow:none}

/* ============ Caja 3D del curso: la portada real va en la cara frontal ============ */
.pp-box{--w:330px;--h:206px;--d:40px;position:relative;width:var(--w);height:var(--h);transform-style:preserve-3d}
.pp-box .f{position:absolute;inset:0;border-radius:12px;overflow:hidden;background:var(--pp-plum);transform:translateZ(calc(var(--d) / 2));box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.pp-box .f img{width:100%;height:100%;object-fit:cover}
.pp-box .f::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,0) 30%,rgba(255,255,255,0) 72%,rgba(255,255,255,.08) 100%);pointer-events:none}
.pp-box .f .sin{position:absolute;inset:0;display:grid;place-items:center;padding:16px;text-align:center;font:800 20px/1.05 var(--pp-display);color:var(--pp-white)}
.pp-box .s{position:absolute;top:0;left:calc(var(--w) - var(--d) / 2);width:var(--d);height:100%;background:var(--pp-ink);transform:rotateY(90deg);display:grid;place-items:center;border-radius:4px;overflow:hidden}
.pp-box .s span{writing-mode:vertical-rl;font:800 10px/1 var(--pp-display);letter-spacing:.1em;color:var(--pp-acc);white-space:nowrap;text-transform:uppercase}
.pp-box .t{position:absolute;left:0;top:calc(var(--d) / -2);width:100%;height:var(--d);background:var(--pp-plum-2);transform:rotateX(90deg);border-radius:4px}
.pp-box .sticker{position:absolute;top:14px;left:-26px;width:80px;height:80px;border-radius:50%;background:var(--pp-acc);color:var(--pp-ink);display:grid;place-items:center;text-align:center;font:800 17px/1 var(--pp-display);transform:translateZ(calc(var(--d) / 2 + 8px)) rotate(-12deg);box-shadow:0 8px 18px -6px rgba(0,0,0,.5)}
.pp-box .sticker small{display:block;font:700 9px/1 var(--pp-mono);letter-spacing:.04em;margin-top:3px}
.pp-box .sticker.gratis{background:var(--pp-white)}

/* ============ 1 · HERO con carrusel 3D ============ */
.pp-hero{background:radial-gradient(70% 90% at 75% 35%,#5a1a86 0%,#2B0048 62%);padding-top:56px}
.pp-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1.2px);background-size:22px 22px;-webkit-mask:radial-gradient(60% 70% at 70% 40%,#000,transparent);mask:radial-gradient(60% 70% at 70% 40%,#000,transparent);pointer-events:none}
.pp-hero .pp-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:24px;align-items:center;min-height:640px;padding-bottom:40px}
.pp-hero h1{font-size:clamp(44px,6.2vw,88px);font-weight:900;color:var(--pp-white)}
.pp-hero h1 .g{color:var(--pp-acc);display:inline-block}
.pp-hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.pp-hero h1 .ln > span{display:inline-block;animation:pp-rise 900ms var(--pp-out) both}
.pp-hero h1 .ln:nth-child(2) > span{animation-delay:120ms}
@keyframes pp-rise{from{transform:translateY(105%)}to{transform:none}}
.pp-hero .pp-lead{margin-top:22px;font-size:clamp(17px,1.7vw,20px);color:var(--pp-lilac);max-width:36ch}
.pp-hero .pp-lead strong{color:var(--pp-white)}
.pp-hero .pp-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.pp-caras{display:flex;align-items:center;gap:14px;margin-top:36px}
.pp-caras .fotos{display:flex}
.pp-caras .fotos img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:3px solid #2B0048;margin-left:-12px;background:var(--pp-plum)}
.pp-caras .fotos img:first-child{margin-left:0}
.pp-caras p{font-size:14px;color:var(--pp-lilac);line-height:1.35}
.pp-caras p b{color:var(--pp-white)}
.pp-stage{position:relative;height:560px;perspective:1400px;display:grid;place-items:center}
.pp-stage::after{content:"";position:absolute;left:50%;bottom:132px;width:380px;height:46px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent);filter:blur(4px);pointer-events:none}
.pp-slot{position:absolute;top:120px;left:50%;margin-left:-165px;transition:transform 720ms var(--pp-spring),opacity 500ms var(--pp-out),filter 500ms var(--pp-out);will-change:transform}
.pp-slot .pp-box{transition:transform 600ms var(--pp-out)}
.pp-slot[data-pos="c"]{transform:translateX(0) scale(1);z-index:3;opacity:1}
.pp-slot[data-pos="c"] .pp-box{transform:rotateY(calc(-22deg + var(--ry,0deg))) rotateX(calc(8deg + var(--rx,0deg)));animation:pp-float 5s ease-in-out infinite}
.pp-slot[data-pos="l"]{transform:translateX(-235px) translateY(50px) scale(.56);z-index:2;opacity:.7;filter:saturate(.7) brightness(.75)}
.pp-slot[data-pos="r"]{transform:translateX(235px) translateY(50px) scale(.56);z-index:2;opacity:.7;filter:saturate(.7) brightness(.75)}
.pp-slot[data-pos="l"] .pp-box,.pp-slot[data-pos="r"] .pp-box{transform:rotateY(-30deg) rotateX(4deg)}
.pp-slot[data-pos="b"]{transform:translateY(20px) scale(.4);z-index:1;opacity:0;pointer-events:none}
.pp-slot[data-pos="l"],.pp-slot[data-pos="r"]{cursor:pointer}
@keyframes pp-float{0%,100%{translate:0 0}50%{translate:0 -12px}}
.pp-info{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:18px}
.pp-info .pp-now{min-width:0;text-align:center;flex:0 1 360px}
.pp-now .nm{font:700 16px/1.3 var(--pp-body);color:var(--pp-white)}
.pp-now .pr{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-top:4px}
.pp-now .pr b{font:800 26px/1 var(--pp-display);color:var(--pp-acc);font-variant-numeric:tabular-nums}
.pp-now .pr s{font-size:14px;color:var(--pp-lilac)}
.pp-now a{display:inline-block;margin-top:8px;font-weight:700;font-size:14px;color:var(--pp-white);text-decoration:none;border-bottom:2px solid var(--pp-acc)}
.pp-now .swap{transition:opacity 220ms var(--pp-out),transform 220ms var(--pp-out)}
.pp-now.is-out .swap{opacity:0;transform:translateY(6px)}
.pp-wave{display:block;width:100%;height:90px;margin-top:-1px}

/* ============ 2 · Cinta diagonal ============ */
.pp-tapewrap{background:var(--pp-night);padding-block:26px 0}
.pp-tape{background:var(--pp-acc);color:var(--pp-ink);transform:rotate(-1.6deg);margin:0 -20px;padding-block:16px;position:relative;z-index:2;box-shadow:0 14px 30px -14px rgba(0,0,0,.6)}
.pp-tape .tr{display:flex;width:max-content;gap:44px;animation:pp-marq 34s linear infinite;font:800 clamp(18px,2.4vw,28px)/1 var(--pp-display);letter-spacing:-.02em;white-space:nowrap}
.pp-tape .tr span{display:inline-flex;align-items:center;gap:44px}
.pp-tape .tr span::after{content:"";width:14px;height:14px;border-radius:50%;background:var(--pp-ink)}
@keyframes pp-marq{to{transform:translateX(-50%)}}

/* ============ 3 · Cursos (fila deslizable) ============ */
.pp-courses{padding-block:110px 90px;background:var(--pp-night)}
.pp-courses h2,.pp-free h2,.pp-team h2{font-size:clamp(34px,4.6vw,60px);color:var(--pp-white);max-width:16ch}
.pp-sub{color:var(--pp-lilac);margin-top:14px!important;max-width:48ch}
.pp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.pp .pp-chip{font:600 14px var(--pp-body);padding:10px 16px;border-radius:999px;border:0;background:rgba(255,255,255,.07);color:var(--pp-mist);cursor:pointer;transition:background-color 160ms var(--pp-out),color 160ms,transform 160ms var(--pp-out)}
.pp .pp-chip:hover{background:rgba(255,255,255,.14)}
.pp .pp-chip:active{transform:scale(.96)}
.pp .pp-chip[aria-pressed="true"]{background:var(--pp-acc);color:var(--pp-ink)}
.pp-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,1fr);gap:20px;margin-top:40px;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px 4px 16px;scrollbar-width:thin;scrollbar-color:var(--pp-plum-2) transparent}
.pp-card{scroll-snap-align:start;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border-radius:24px;padding:22px;display:flex;flex-direction:column;gap:12px;min-width:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:transform 260ms var(--pp-out),box-shadow 260ms var(--pp-out)}
.pp-card:hover{transform:translateY(-6px);box-shadow:inset 0 0 0 1px rgba(200,240,49,.45),0 24px 50px -28px rgba(0,0,0,.8)}
.pp-card[hidden]{display:none!important}
.pp-card .stage{height:200px;border-radius:18px;background:radial-gradient(circle at 50% 70%,rgba(255,255,255,.1),transparent 65%);display:grid;place-items:center;perspective:900px}
.pp-card .pp-box{--w:220px;--h:137px;--d:26px;transform:rotateY(-24deg) rotateX(6deg);transition:transform 420ms var(--pp-spring)}
.pp-card:hover .pp-box{transform:rotateY(-8deg) rotateX(3deg) scale(1.07)}
.pp-card .pp-box .sticker{width:58px;height:58px;font-size:13px;top:10px;left:-20px}
.pp-card .pp-box .sticker small{font-size:7px}
.pp-card .cat{font:700 11px/1 var(--pp-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--pp-acc)}
.pp-card h3{font:700 19px/1.25 var(--pp-body);letter-spacing:0;color:var(--pp-white)}
.pp-card h3 a{text-decoration:none}
.pp-card .who{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--pp-lilac)}
.pp-card .who img{width:30px;height:30px;border-radius:50%;object-fit:cover;background:var(--pp-plum)}
.pp-card .row{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}
.pp-card .pr b{display:block;font:800 22px/1 var(--pp-display);color:var(--pp-white);font-variant-numeric:tabular-nums}
.pp-card .pr s{font-size:13px;color:var(--pp-lilac)}
.pp-card .off{font:700 12px/1 var(--pp-mono);color:var(--pp-ink);background:var(--pp-acc);padding:5px 7px;border-radius:6px;margin-left:6px}
.pp .pp-card .pp-btn{padding:12px 18px;font-size:14px}

/* ============ 4 · Cifras ============ */
.pp-stats{background:var(--pp-plum);padding-block:70px;position:relative}
.pp-stats .pp-wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.pp-stat b{display:block;font:900 clamp(34px,4.2vw,60px)/1 var(--pp-display);overflow-wrap:anywhere;color:var(--pp-acc);font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.pp-stat span{display:block;margin-top:10px;color:var(--pp-mist);max-width:24ch}

/* ============ 5 · Gratis: hoja de respuestas + pases ============ */
.pp-free{padding-block:110px;background:var(--pp-night)}
.pp-free h2 em{font-style:normal;color:var(--pp-acc)}
.pp-free .cols{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;margin-top:48px;align-items:start}
.pp-sheet{background:var(--pp-paper);color:var(--pp-ink);border-radius:22px;padding:28px;transform:rotate(-1.5deg);box-shadow:0 40px 70px -40px rgba(0,0,0,.9);position:relative}
.pp-sheet::before{content:"";position:absolute;top:-14px;left:50%;width:120px;height:28px;margin-left:-60px;background:rgba(200,240,49,.9);transform:rotate(2deg);border-radius:3px}
.pp-sheet .hd{display:flex;justify-content:space-between;gap:10px;font:700 11px/1.3 var(--pp-mono);letter-spacing:.06em;text-transform:uppercase;color:#6d5d80;padding-bottom:14px;border-bottom:2px dashed #e3d9ee}
.pp-sheet h3{font:700 clamp(18px,2vw,22px)/1.35 var(--pp-body);letter-spacing:0;margin:18px 0}
.pp-opts{display:grid;gap:10px}
.pp .pp-opt{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:#F3EEF8;border:2px solid transparent;border-radius:14px;padding:12px 14px;font:600 16px var(--pp-body);color:var(--pp-ink);cursor:pointer;transition:border-color 160ms var(--pp-out),background-color 160ms var(--pp-out),transform 140ms var(--pp-out)}
.pp .pp-opt:hover{border-color:#d9cce6}
.pp .pp-opt:active{transform:scale(.98)}
.pp-bub{flex:none;width:32px;height:32px;border-radius:50%;border:2px solid #6d5d80;display:grid;place-items:center;font:700 13px var(--pp-mono);color:#6d5d80;transition:all 220ms var(--pp-spring)}
.pp .pp-opt.is-right{background:#E0F6EA;border-color:var(--pp-ok)}
.pp .pp-opt.is-right .pp-bub{background:var(--pp-ok);border-color:var(--pp-ok);color:#fff;transform:scale(1.12)}
.pp .pp-opt.is-wrong{background:#FFE9E6;border-color:var(--pp-bad)}
.pp .pp-opt.is-wrong .pp-bub{background:var(--pp-bad);border-color:var(--pp-bad);color:#fff}
.pp-fb{margin-top:16px!important;font-size:15px;color:#5E5270;min-height:48px}
.pp-fb a{color:var(--pp-plum);font-weight:700}
.pp-passes{display:grid;gap:16px}
.pp .pp-pass{display:grid;grid-template-columns:110px 1fr auto;align-items:stretch;text-decoration:none;color:var(--pp-ink);background:var(--pp-acc);border-radius:18px;position:relative;overflow:hidden;transition:transform 240ms var(--pp-spring);
  -webkit-mask:radial-gradient(circle 13px at calc(100% - 96px) 0,transparent 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 13px at calc(100% - 96px) 100%,transparent 98%,#000) bottom/100% 51% no-repeat;
  mask:radial-gradient(circle 13px at calc(100% - 96px) 0,transparent 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 13px at calc(100% - 96px) 100%,transparent 98%,#000) bottom/100% 51% no-repeat}
.pp .pp-pass:nth-child(3n+2){background:var(--pp-mist)}
.pp .pp-pass:nth-child(3n){background:#fff}
.pp .pp-pass:hover{transform:rotate(-1deg) translateX(6px)}
.pp-pass .img{background:var(--pp-plum);overflow:hidden}
.pp-pass .img img{width:100%;height:100%;object-fit:cover}
.pp-pass.sin-img{grid-template-columns:1fr auto}
.pp-pass.sin-img .img{display:none}
.pp-pass .body{padding:18px 20px;min-width:0}
.pp-pass .lbl{font:700 11px/1 var(--pp-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--pp-plum)}
.pp-pass h3{font:800 clamp(16px,1.6vw,19px)/1.15 var(--pp-display);letter-spacing:-.02em;margin-top:8px}
.pp-pass .m{font-size:13px;color:#4b3b5e;margin-top:8px}
.pp-pass .stub{width:96px;border-left:2px dashed rgba(23,0,41,.3);display:grid;place-items:center;text-align:center;font:900 15px/1.05 var(--pp-display)}
.pp-pass .stub small{display:block;font:700 10px/1.2 var(--pp-mono);letter-spacing:.06em;margin-top:6px}

/* ============ 6 · Docentes ============ */
.pp-team{background:var(--pp-ink);padding-block:110px}
.pp-team .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-top:44px}
.pp-person{position:relative;border-radius:28px;overflow:hidden;min-height:420px;background:var(--pp-plum);display:flex;align-items:flex-end;isolation:isolate}
.pp-person:nth-child(even){margin-top:60px}
.pp-person .ph{position:absolute;inset:0;z-index:-1}
.pp-person .ph img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform 900ms var(--pp-out)}
.pp-person:hover .ph img{transform:scale(1.05)}
.pp-person .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(60,0,90,0) 35%,rgba(23,0,41,.94) 100%)}
.pp-person .tx{position:relative;padding:26px}
.pp-person .tx b{display:block;font:800 clamp(22px,2.2vw,28px)/1.05 var(--pp-display);color:var(--pp-white);letter-spacing:-.02em}
.pp-person .tx i{display:block;font-style:normal;font:700 11px/1.3 var(--pp-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--pp-acc);margin-top:8px}
.pp-person .tx span{display:block;margin-top:10px;color:var(--pp-mist);font-size:15px}
.pp-person .tx em{display:inline-block;margin-top:12px;font-style:normal;font-size:13px;color:var(--pp-lilac)}

/* ============ 7 · Cierre ============ */
.pp-end{background:var(--pp-ink);padding-bottom:90px}
.pp-end .box{background:var(--pp-acc);color:var(--pp-ink);border-radius:36px;padding:clamp(32px,6vw,72px);display:grid;grid-template-columns:1.4fr auto;gap:30px;align-items:center;position:relative;overflow:hidden}
.pp-end .box::after{content:"";position:absolute;right:-60px;bottom:-90px;width:300px;height:300px;border-radius:50%;border:38px solid rgba(23,0,41,.08)}
.pp-end h2{font-size:clamp(30px,4.2vw,56px)}
.pp-end p{margin-top:14px!important;font-size:18px;max-width:44ch;color:#2a3a05}

/* revelado al bajar (visible por defecto; solo se anima con JS) */
.pp .rv{transition:opacity 700ms var(--pp-out),transform 700ms var(--pp-out)}
.pp .rv.pre{opacity:0;transform:translateY(28px)}

@media (max-width:980px){
  .pp-hero .pp-grid{grid-template-columns:1fr;min-height:0;gap:10px}
  .pp-stage{height:480px}
  .pp-free .cols{grid-template-columns:1fr}
  .pp-person:nth-child(even){margin-top:0}
}
@media (max-width:640px){
  .pp-hero{padding-top:36px}
  .pp-stage{height:400px;perspective:1000px}
  .pp-slot{top:90px}
  .pp-slot[data-pos="c"]{transform:scale(.82)}
  .pp-slot[data-pos="l"]{transform:translateX(-130px) translateY(40px) scale(.46)}
  .pp-slot[data-pos="r"]{transform:translateX(130px) translateY(40px) scale(.46)}
  .pp-stage::after{bottom:110px;width:250px}
  .pp-info{gap:10px}
  .pp .pp-arrow{width:44px;height:44px}
  .pp-stats .pp-wrap{grid-template-columns:1fr;gap:34px}
  .pp-courses,.pp-free,.pp-team{padding-block:80px}
  .pp-end .box{grid-template-columns:1fr}
  .pp .pp-pass{grid-template-columns:1fr auto}
  .pp-pass .img{display:none}
  .pp-pass .stub{width:80px}
}
@media (prefers-reduced-motion:reduce){
  .pp *,.pp *::before,.pp *::after{animation:none!important;transition:none!important}
  .pp .rv.pre{opacity:1;transform:none}
}

/* ============ Así estudias (plataforma) ============ */
.pp-plat{background:linear-gradient(180deg,var(--pp-night),#2B0048);padding-block:110px}
.pp-plat__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.pp-plat__visual{position:relative;padding-bottom:40px}
.pp-laptop{position:relative;transform:perspective(1400px) rotateY(10deg) rotateX(4deg);transition:transform 600ms var(--pp-out)}
.pp-laptop:hover{transform:perspective(1400px) rotateY(2deg) rotateX(1deg)}
.pp-laptop .pantalla{background:#0d0018;border-radius:18px 18px 6px 6px;padding:12px;box-shadow:0 40px 70px -40px rgba(0,0,0,.9),inset 0 0 0 2px rgba(255,255,255,.08)}
.pp-laptop .pantalla img{border-radius:8px;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;background:var(--pp-plum)}
.pp-laptop .base{height:16px;margin:0 -6%;background:linear-gradient(#3a2a52,#1a0f2a);border-radius:0 0 18px 18px}
.pp-plat__profe{position:absolute;right:-10px;bottom:0;width:170px;background:var(--pp-paper);color:var(--pp-ink);border-radius:20px;padding:10px;transform:rotate(3deg);box-shadow:0 30px 50px -30px rgba(0,0,0,.9)}
.pp-plat__profe img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;border-radius:12px}
.pp-plat__profe span{display:block;font-size:12px;line-height:1.3;margin-top:8px;font-weight:600}
.pp-plat h2{font-size:clamp(34px,4.4vw,56px);color:var(--pp-white)}
.pp-plat__lista{display:grid;gap:14px;margin-top:28px!important}
.pp-plat__lista li{display:grid;grid-template-columns:18px 1fr;gap:4px 14px}
.pp-plat__lista li::before{content:"";grid-row:span 2;width:16px;height:13px;border-radius:50%;background:var(--pp-acc);margin-top:6px}
.pp-plat__lista b{color:var(--pp-white)}
.pp-plat__lista span{color:var(--pp-lilac);font-size:15px}
@media (max-width:980px){.pp-plat__grid{grid-template-columns:1fr}.pp-plat__profe{width:130px;right:0}}
@media (max-width:640px){.pp-plat{padding-block:80px}.pp-laptop{transform:none}}

/* ============ Ritmo de color: secciones claras y de impacto entre las moradas ============
   Hero morado → cinta lima → cursos en claro → cifras en ciruela → PRODI en LIMA → plataforma en blanco →
   simulacros gratis en morado → docentes en lila claro → cierre lima → pie oscuro */
.pp{--pp-claro:#F6F2FF;--pp-texto:#170029;--pp-gris:#5E5270;--pp-borde:#E4DAF3}
.pp-tapewrap{background:var(--pp-claro)}

/* cursos en claro */
.pp-courses{background:var(--pp-claro);color:var(--pp-texto)}
.pp-courses h2{color:var(--pp-texto)}
.pp-courses .pp-sub{color:var(--pp-gris)}
.pp-courses .pp-chip{background:#fff;color:var(--pp-texto);box-shadow:inset 0 0 0 1.5px var(--pp-borde)}
.pp-courses .pp-chip:hover{background:#fff;box-shadow:inset 0 0 0 1.5px var(--pp-plum)}
.pp-courses .pp-chip[aria-pressed="true"]{background:var(--pp-texto);color:var(--pp-acc);box-shadow:none}
.pp-courses .pp-card{background:#fff;box-shadow:0 1px 0 var(--pp-borde),0 18px 40px -30px rgba(60,0,90,.45);border:1px solid var(--pp-borde)}
.pp-courses .pp-card:hover{box-shadow:0 30px 60px -30px rgba(60,0,90,.55);border-color:var(--pp-acc)}
.pp-courses .pp-card .stage{background:radial-gradient(circle at 50% 75%,#E9DFFB,#F6F2FF 70%)}
.pp-courses .pp-card .cat{color:var(--pp-plum)}
.pp-courses .pp-card h3{color:var(--pp-texto)}
.pp-courses .pp-card .who{color:var(--pp-gris)}
.pp-courses .pp-card .row{border-top-color:var(--pp-borde)}
.pp-courses .pp-card .pr b{color:var(--pp-texto)}
.pp-courses .pp-card .pr s{color:var(--pp-gris)}
.pp-courses .pp-rail{scrollbar-color:var(--pp-borde) transparent}


/* plataforma en blanco */
.pp-plat{background:#fff;color:var(--pp-texto)}
.pp-plat h2{color:var(--pp-texto)}
.pp-plat .pp-sub{color:var(--pp-gris)}
.pp-plat__lista b{color:var(--pp-texto)}
.pp-plat__lista span{color:var(--pp-gris)}
.pp-plat__lista li::before{background:var(--pp-plum)}
.pp-plat__profe{background:var(--pp-acc)}

/* docentes en lila claro */
.pp-team{background:#EFE8FA;color:var(--pp-texto)}
.pp-team h2{color:var(--pp-texto)}
.pp-team .pp-sub{color:var(--pp-gris)}

/* cierre: caja lima sobre fondo claro */
.pp-end{background:#EFE8FA}

/* ============ Prodi ============ */
.pp-hero .pp-grid{position:relative}
.pp-prodi-mini{position:absolute;right:0;top:-4px;z-index:5;display:flex;align-items:center;gap:10px;text-decoration:none;
  background:#fff;color:var(--pp-ink);border-radius:999px;padding:6px 16px 6px 6px;box-shadow:0 18px 40px -18px rgba(0,0,0,.8);
  animation:pp-prodi-entra .8s var(--pp-spring) .9s both}
.pp-prodi-mini img{width:52px;height:52px;border-radius:50%;object-fit:cover;background:var(--pp-acc);animation:pp-prodi-salta 3.2s ease-in-out 2s infinite}
.pp-hero .pp-prodi-mini span,.pp-prodi-mini span{color:var(--pp-ink)!important;opacity:1;font:700 14px/1.2 var(--pp-body);max-width:190px;transition:opacity .25s}
.pp-hero .pp-prodi-mini span.cambia{opacity:0}
.pp-prodi-mini:hover{transform:translateY(-2px)}
@keyframes pp-prodi-entra{from{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:none}}
@keyframes pp-prodi-salta{0%,70%,100%{transform:translateY(0) rotate(0)}78%{transform:translateY(-6px) rotate(-8deg)}86%{transform:translateY(0) rotate(6deg)}}

.pp-prodi{background:var(--pp-acc);color:var(--pp-texto);padding-block:110px;position:relative;overflow:hidden}
.pp-prodi::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(23,0,41,.09) 1.4px,transparent 1.6px);background-size:24px 24px;pointer-events:none}
.pp-prodi__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.pp-prodi__escena{position:relative;aspect-ratio:1;max-width:460px;width:100%;margin-inline:auto}
.pp-prodi__aura{position:absolute;inset:6%;border-radius:50%;background:var(--pp-plum);box-shadow:0 0 0 18px rgba(60,0,90,.12),0 0 0 40px rgba(60,0,90,.06)}
.pp-prodi__yo{position:absolute;inset:11%;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 30px 60px -30px rgba(23,0,41,.8);animation:pp-prodi-flota 4.5s ease-in-out infinite}
.pp-prodi__yo img{width:100%;height:100%;object-fit:cover}
@keyframes pp-prodi-flota{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-14px) rotate(2deg)}}
.pp-prodi__globo{position:absolute;margin:0;padding:10px 16px!important;background:#fff;color:var(--pp-texto);border-radius:18px;font:700 15px/1.2 var(--pp-body);
  box-shadow:0 14px 30px -16px rgba(23,0,41,.7);white-space:nowrap;animation:pp-globo 9s ease-in-out infinite;opacity:0}
.pp-prodi__globo::after{content:"";position:absolute;bottom:-7px;left:22px;width:14px;height:14px;background:#fff;transform:rotate(45deg);border-radius:2px}
.pp-prodi__globo.g1{top:4%;left:-4%;animation-delay:0s}
.pp-prodi__globo.g2{top:42%;right:-8%;animation-delay:3s;background:var(--pp-texto);color:var(--pp-acc)}
.pp-prodi__globo.g2::after{background:var(--pp-texto)}
.pp-prodi__globo.g3{bottom:6%;left:2%;animation-delay:6s}
@keyframes pp-globo{0%{opacity:0;transform:translateY(10px) scale(.9)}5%,28%{opacity:1;transform:none}33%,100%{opacity:0;transform:translateY(-6px)}}
.pp-prodi h2{font-size:clamp(34px,4.4vw,58px);color:var(--pp-texto)}
.pp-prodi .pp-sub{color:#2a3a05}
.pp-chat{margin-top:28px;display:grid;gap:10px;max-width:520px}
.pp-chat .msg{display:flex;gap:10px;align-items:flex-end}
.pp-chat .msg span{padding:12px 16px;border-radius:18px;font-size:15px;line-height:1.45}
.pp-chat .msg.yo{justify-content:flex-end}
.pp-chat .msg.yo span{background:var(--pp-texto);color:#fff;border-bottom-right-radius:6px}
.pp-chat .msg.prodi span{background:#fff;color:var(--pp-texto);border-bottom-left-radius:6px;box-shadow:0 10px 24px -16px rgba(23,0,41,.6)}
.pp-chat .msg.prodi img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none;background:#fff}
.pp-chat.anima .msg{opacity:0;transform:translateY(10px);transition:opacity .4s var(--pp-out),transform .4s var(--pp-out)}
.pp-chat.anima .msg.ve{opacity:1;transform:none}
.pp-chat .escribe{display:inline-flex;gap:4px;padding:14px 16px!important}
.pp-chat .escribe i{width:7px;height:7px;border-radius:50%;background:var(--pp-gris);animation:pp-punto 1s infinite}
.pp-chat .escribe i:nth-child(2){animation-delay:.15s}.pp-chat .escribe i:nth-child(3){animation-delay:.3s}
@keyframes pp-punto{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.pp-prodi__lista{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px!important}
.pp-prodi__lista li{background:rgba(255,255,255,.55);border-radius:18px;padding:16px}
.pp-prodi__lista b{display:block;font:800 22px/1 var(--pp-display);color:var(--pp-plum)}
.pp-prodi__lista span{display:block;margin-top:6px;font-size:14px;color:var(--pp-texto)}
.pp-prodi .pp-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.pp .pp-btn-borde{background:transparent;color:var(--pp-texto);box-shadow:inset 0 0 0 2px var(--pp-texto)}
.pp .pp-btn-borde:hover{background:var(--pp-texto);color:var(--pp-acc)}
.pp-prodi__juego{position:static;height:0;overflow:visible}
@media (max-width:980px){.pp-prodi__grid{grid-template-columns:1fr}.pp-prodi__escena{max-width:340px}.pp-prodi-mini{position:relative;right:auto;bottom:auto;margin:6px auto 0;width:max-content}}
@media (max-width:640px){.pp-prodi{padding-block:80px}.pp-prodi__lista{grid-template-columns:1fr}.pp-prodi__globo{font-size:13px}.pp-prodi__globo.g2{right:-2%}}

/* ============ Prodi animado (SVG) ============ */
.pp-prodi-mini__cara{display:block;width:52px;height:52px;flex:none;border-radius:50%;overflow:hidden;background:#F3EEFF;font-style:normal}
.pp-prodi-mini__cara img{width:100%;height:100%;object-fit:cover}
.pp-prodi-mini__cara.ppd{padding:3px;box-sizing:border-box;animation:pp-prodi-salta 3.2s ease-in-out 2s infinite}
.pp-chat__cara{display:block;width:40px;height:40px;flex:none;border-radius:50%;overflow:hidden;background:#fff;font-style:normal}
.pp-chat__cara img{width:100%;height:100%;object-fit:cover}
.pp-chat__cara.ppd{padding:3px;box-sizing:border-box;background:#F3EEFF}
.pp-prodi__yo.ppd{inset:2% 16% 4%;border-radius:0;overflow:visible;background:none;box-shadow:none;animation:pp-prodi-flota 4.5s ease-in-out infinite;
  filter:drop-shadow(0 26px 22px rgba(23,0,41,.35))}
.pp-prodi__yo.ppd img{display:none}
.pp-prodi__toca{position:absolute;right:6%;bottom:2%;margin:0;padding:6px 12px!important;border-radius:999px;background:var(--pp-texto);color:var(--pp-acc);
  font:700 12px/1 var(--pp-mono);letter-spacing:.06em;text-transform:uppercase;transform:rotate(-4deg);animation:pp-prodi-entra .8s var(--pp-spring) 1.6s both}

/* Contenedores de Divi que envuelven el Home, la cabecera y el pie */
html.pp-sin-scroll-x,html.pp-sin-scroll-x body{overflow-x:clip}
.pp-suelto{padding:0!important;margin-top:0!important;margin-bottom:0!important;margin-left:0!important;margin-right:0!important;max-width:none!important;width:100%!important;
  min-height:0!important;border:0!important;box-shadow:none!important;gap:0!important}
.pp-suelto-fijo{position:sticky!important;top:0;z-index:999}
.admin-bar .pp-suelto-fijo{top:32px}
@media (max-width:782px){.admin-bar .pp-suelto-fijo{top:46px}}
.pp-suelto-fijo .ppro-cab{position:relative;top:auto}

.pp-person .tx b{overflow-wrap:anywhere}

/* Respaldo: a todo el ancho aunque Divi lo encierre en una fila */
.et_pb_code_inner>.pp,.et_pb_code_inner>div>.pp{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}
html,body{overflow-x:clip}

/* ============ Blog [ppro_blog] ============ */
.pp-blog-hero{padding-block:84px 70px;background:radial-gradient(70% 80% at 20% 0%,#5a1a86 0%,var(--pp-night) 62%)}
.pp-eyebrow{display:inline-block;font:700 12px/1 var(--pp-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--pp-ink);background:var(--pp-acc);padding:8px 12px;border-radius:999px;transform:rotate(-2deg)}
.pp-blog-hero h1{font-size:clamp(38px,6vw,80px);color:#fff;margin-top:18px!important}
.pp-blog-busca{display:flex;gap:10px;max-width:620px;margin-top:28px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px}
.pp-blog-busca input{flex:1;min-width:0;background:transparent!important;border:0!important;color:#fff!important;font:500 16px/1 var(--pp-body)!important;padding:12px 16px!important;outline:none;box-shadow:none!important}
.pp-blog-busca input::placeholder{color:var(--pp-lilac);opacity:.8}
.pp-blog-busca .pp-btn{padding:13px 20px}
.pp-blog-temas{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.pp-blog-temas a{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;text-decoration:none;font:700 14px/1 var(--pp-body);color:var(--pp-mist);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.22);transition:background-color .18s,color .18s}
.pp-blog-temas a small{font:700 11px/1 var(--pp-mono);opacity:.7}
.pp-blog-temas a:hover{background:rgba(255,255,255,.08)}
.pp-blog-temas a.on{background:var(--pp-acc);color:var(--pp-ink);box-shadow:none}
.pp-blog-destacado{margin-top:44px}
.pp-blog-lista{background:#F6F2FF;color:var(--pp-texto);padding-block:64px 90px}
.pp-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.pp-nota{background:#fff;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 18px 40px -30px rgba(23,0,41,.55);transition:transform .25s var(--pp-out),box-shadow .25s var(--pp-out)}
.pp-nota:hover{transform:translateY(-4px);box-shadow:0 26px 50px -28px rgba(23,0,41,.6)}
.pp-nota__img{position:relative;display:block;aspect-ratio:16/9;background:linear-gradient(135deg,var(--pp-plum),#6a2eb0);overflow:hidden}
.pp-nota__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--pp-out)}
.pp-nota:hover .pp-nota__img img{transform:scale(1.04)}
.pp-nota__sin{position:absolute;inset:0;display:flex;align-items:flex-end;padding:18px;font:800 18px/1.15 var(--pp-display);color:#fff}
.pp-nota__cat{position:absolute;left:14px;top:14px;background:var(--pp-acc);color:var(--pp-ink);font:700 11px/1 var(--pp-mono);letter-spacing:.06em;text-transform:uppercase;padding:7px 10px;border-radius:8px}
.pp-nota__tx{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.pp-nota__meta{font:600 12px/1 var(--pp-mono)!important;color:#7a6c8c;letter-spacing:.02em}
.pp-nota h3{font-size:19px;line-height:1.2;margin-top:12px!important;color:var(--pp-ink)}
.pp-nota h3 a{text-decoration:none;color:inherit}
.pp-nota h3 a:hover{color:#4A12D6}
.pp-nota__ext{margin-top:10px!important;color:#55486a;font-size:15px;line-height:1.55}
.pp-nota__leer{margin-top:auto;padding-top:16px;font-weight:800;color:#4A12D6!important;text-decoration:none;font-size:15px}
.pp-nota__leer span{display:inline-block;transition:transform .2s}
.pp-nota:hover .pp-nota__leer span{transform:translateX(4px)}
.pp-nota--grande{display:grid;grid-template-columns:1.25fr 1fr;background:var(--pp-paper);border-radius:28px}
.pp-nota--grande .pp-nota__img{aspect-ratio:auto;min-height:340px}
.pp-nota--grande .pp-nota__tx{padding:38px 36px;justify-content:center}
.pp-nota--grande h3{font-size:clamp(24px,2.6vw,36px)}
.pp-nota--grande .pp-nota__ext{font-size:17px}
.pp-nota--grande .pp-nota__leer{margin-top:22px;padding-top:0}
.pp-blog-cta{grid-column:1/-1;display:flex;align-items:center;gap:26px;background:var(--pp-acc);color:var(--pp-ink);border-radius:26px;padding:22px 30px}
.pp-blog-cta__prodi{width:110px;flex:none}
.pp-blog-cta b{display:block;font:800 24px/1.1 var(--pp-display)}
.pp-blog-cta p{margin:8px 0 14px!important;font-size:16px;max-width:52ch}
.pp-blog-cta .pp-btn-acc{background:var(--pp-ink);color:var(--pp-acc);box-shadow:none}
.pp-blog-res{margin-bottom:22px!important;font-weight:600;color:#55486a}
.pp-blog-res a,.pp-blog-vacio a{color:#4A12D6}
.pp-blog-vacio{font-size:18px;text-align:center;padding:40px 0}
.pp-blog-pags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:46px}
.pp-blog-pags a{min-width:44px;height:44px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#fff;color:var(--pp-ink);text-decoration:none;font-weight:700;box-shadow:inset 0 0 0 1.5px #E2D6F6}
.pp-blog-pags a.on{background:var(--pp-ink);color:var(--pp-acc);box-shadow:none}
@media (max-width:980px){.pp-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-nota--grande{grid-template-columns:1fr}.pp-nota--grande .pp-nota__img{min-height:0;aspect-ratio:16/9}.pp-nota--grande .pp-nota__tx{padding:26px 24px}}
@media (max-width:640px){.pp-blog-hero{padding-block:56px 48px}.pp-blog-grid{grid-template-columns:1fr}.pp-blog-busca .pp-btn{padding:12px 16px}.pp-blog-cta{flex-direction:column;text-align:center;padding:24px 20px}.pp-blog-cta p{margin-inline:auto!important}
  .pp-blog-temas{flex-wrap:nowrap;overflow-x:auto;margin-inline:-20px;padding-inline:20px;scrollbar-width:none}.pp-blog-temas a{flex:none}}
.pp .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* mini simulacro */
.pp-sheet .hd b{color:var(--pp-plum)}
.pp-hoja-puntos{display:flex;gap:6px;margin-top:14px}
.pp-hoja-puntos i{flex:1;height:6px;border-radius:6px;background:#E8E0F2;transition:background-color .3s}
.pp-hoja-puntos i.ahora{background:#C9B8DA}.pp-hoja-puntos i.bien{background:var(--pp-ok)}.pp-hoja-puntos i.mal{background:var(--pp-bad)}
.pp .pp-hoja-sig{margin-top:12px;display:flex;background:var(--pp-ink);color:var(--pp-acc);padding:13px 20px}
.pp-hoja-nota{display:block;font:900 64px/1 var(--pp-display);color:var(--pp-plum);margin-bottom:8px}
.pp-hoja-nota small{font-size:28px;color:#8a7a9c}
.pp-hoja-fin{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.pp .pp-hoja-otra{background:transparent;color:var(--pp-ink);box-shadow:inset 0 0 0 2px #d9cce6}
.pp-sheet h3{min-height:2.7em}

/* Tócame: Prodi responde con una frase */
.pp .pp-prodi__toca{border:0;cursor:pointer;z-index:4}
.pp .pp-prodi__toca:hover{transform:rotate(-4deg) scale(1.06)}
.pp-prodi__dice{position:absolute;left:50%;top:-2%;transform:translateX(-50%);z-index:5;max-width:260px;width:max-content;margin:0;padding:12px 16px!important;
  background:var(--pp-ink);color:var(--pp-acc);border-radius:18px;font:700 15px/1.3 var(--pp-body);text-align:center;box-shadow:0 18px 30px -18px rgba(0,0,0,.7);
  animation:pp-dice .45s var(--pp-spring) both}
.pp-prodi__dice::after{content:"";position:absolute;left:50%;bottom:-7px;width:14px;height:14px;margin-left:-7px;background:var(--pp-ink);transform:rotate(45deg);border-radius:2px}
@keyframes pp-dice{from{opacity:0;transform:translate(-50%,10px) scale(.85)}to{opacity:1;transform:translate(-50%,0)}}
.pp-prodi__escena.hablando .pp-prodi__globo{opacity:0!important;animation:none!important}
.pp .pp-btn.pp-pulso{animation:pp-pulso 1s ease-in-out 3}
@keyframes pp-pulso{0%,100%{box-shadow:0 0 0 0 rgba(23,0,41,.45)}50%{box-shadow:0 0 0 12px rgba(23,0,41,0)}}
