/* ================= Portada pública, login y test de nivel ================= */
.pt{--ink:#1A1916;font-family:var(--sans);color:var(--ink);overflow-x:hidden;position:relative}
.pt *{box-sizing:border-box}
.pt-fondo{position:absolute;inset:0;z-index:-1;overflow:hidden;background:#F8F5F0;pointer-events:none}
.pt-fondo i{position:absolute;border-radius:50%;opacity:.7;animation:deriva 22s ease-in-out infinite;will-change:transform}
.pt-fondo i:nth-child(1){width:60vw;height:60vw;left:-18vw;top:-18vw;background:radial-gradient(closest-side,var(--marca1,#F0714A),transparent)}
.pt-fondo i:nth-child(2){width:56vw;height:56vw;right:-18vw;top:2vh;background:radial-gradient(closest-side,var(--marca2,#8656D6),transparent);animation-delay:-7s;opacity:.5}
.pt-fondo i:nth-child(3){width:50vw;height:50vw;left:26vw;top:70vh;background:radial-gradient(closest-side,#7BD3B8,transparent);animation-delay:-14s;opacity:.45}
.pt-fondo i:nth-child(4){width:54vw;height:54vw;left:-20vw;top:210vh;background:radial-gradient(closest-side,var(--marca2,#8656D6),transparent);animation-delay:-4s;opacity:.35}
.pt-fondo i:nth-child(5){width:54vw;height:54vw;right:-20vw;top:340vh;background:radial-gradient(closest-side,var(--marca1,#F0714A),transparent);animation-delay:-9s;opacity:.4}
.pt-fondo i:nth-child(6){width:60vw;height:60vw;left:20vw;top:470vh;background:radial-gradient(closest-side,#7BD3B8,transparent);animation-delay:-12s;opacity:.4}
@keyframes deriva{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(5vw,4vh) scale(1.1)}66%{transform:translate(-4vw,6vh) scale(.94)}}
.pt-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px max(20px,calc(50% - 600px));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#f8f5f0aa;border-bottom:1px solid #0000000d;transition:box-shadow .3s}
.pt-nav.sombra{box-shadow:0 10px 30px -20px #0006}
.pt-nav .marca{font-size:22px}
.pt-links{display:flex;gap:6px}
.pt-links a{padding:8px 14px;border-radius:99px;font-weight:500;font-size:14.5px;text-decoration:none;color:var(--ink);transition:background .25s}
.pt-links a:hover{background:#0000000c}
.pt-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:50px;padding:0 26px;border-radius:99px;font-weight:600;font-size:15.5px;border:0;cursor:pointer;position:relative;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s}
.pt-btn.grad{background:var(--grad);color:#fff;box-shadow:0 14px 34px -14px var(--marca1,#E0457B)}
.pt-btn.grad::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,#ffffff55 50%,transparent 70%);transform:translateX(-120%);animation:brilla 3.6s ease-in-out infinite}
@keyframes brilla{50%,100%{transform:translateX(120%)}}
.pt-btn.suave{background:#fff;border:1px solid #0000001a;color:var(--ink)}
.pt-btn:hover{transform:translateY(-3px)}
.pt-btn.sm{height:42px;padding:0 20px;font-size:14.5px}
.pt-sec{padding:90px max(20px,calc(50% - 600px));position:relative}
.pt-sec h2{font:400 clamp(36px,5vw,58px)/1.02 var(--serif);margin-bottom:14px;letter-spacing:-.01em}
.pt-sec .sub{font-size:18px;color:#5b574f;max-width:620px;line-height:1.55}
.pt-etq{font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:14px;display:block}
/* hero */
.pt-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;min-height:calc(100vh - 70px);padding-top:30px;padding-bottom:70px}
.pt-hero h1{font:400 clamp(52px,7.2vw,104px)/.92 var(--serif);letter-spacing:-.02em;margin:10px 0 22px}
.pt-rota{display:block;font-style:italic;background-image:var(--grad);background-color:transparent;-webkit-background-clip:text;background-clip:text;color:transparent;min-height:1.1em;padding-right:.1em}
.pt-rota::after{content:"|";margin-left:2px;animation:parpadea 1s steps(1) infinite;color:var(--marca2)}
@keyframes parpadea{50%{opacity:0}}
.pt-hero p.lead{font-size:20px;line-height:1.5;color:#4f4b44;max-width:520px;margin-bottom:30px}
.pt-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px}
.pt-chips{display:flex;gap:10px;flex-wrap:wrap}
.pt-chips span{padding:8px 16px;border-radius:99px;background:#ffffffb8;border:1px solid #0000000f;font-size:13.5px;font-weight:500;backdrop-filter:blur(6px)}
.pt-hero>*{animation:aparece .9s var(--ease) both}.pt-hero>*:nth-child(2){animation-delay:.2s}
.pt-hero h1,.pt-hero .lead,.pt-ctas,.pt-chips{animation:aparece .9s var(--ease) both}.pt-hero .lead{animation-delay:.12s}.pt-ctas{animation-delay:.24s}.pt-chips{animation-delay:.36s}
/* móvil animado */
.pt-escena{position:relative;display:grid;place-items:center;min-height:560px;perspective:1200px}
.pt-movil{width:300px;height:600px;border-radius:44px;background:#161513;padding:11px;box-shadow:0 60px 90px -40px #000a,0 0 0 1px #ffffff1a inset;transform:rotateY(-12deg) rotateX(4deg);animation:flota-m 7s ease-in-out infinite;position:relative}
@keyframes flota-m{50%{transform:rotateY(-6deg) rotateX(2deg) translateY(-14px)}}
.pt-pantalla{width:100%;height:100%;border-radius:34px;background:var(--bg,#F6F4F0);overflow:hidden;padding:44px 16px 16px;position:relative;font-size:13px}
.pt-pantalla::before{content:"";position:absolute;top:10px;left:50%;width:84px;height:24px;border-radius:99px;background:#161513;transform:translateX(-50%)}
.pt-pantalla small{font:500 9.5px var(--mono);letter-spacing:.1em;color:#8a857b;text-transform:uppercase}
.pt-saludo{font:400 28px/1 var(--serif);margin:4px 0 12px}.pt-saludo em{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.pt-tarj{border-radius:20px;padding:14px;color:#fff;display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,#4A4BD6,#1E86C8);margin-bottom:10px}
.pt-ani{width:56px;height:56px;position:relative;flex:none}.pt-ani svg{transform:rotate(-90deg);width:100%;height:100%}
.pt-ani circle:last-child{stroke-dasharray:97;stroke-dashoffset:97;animation:llena 5s var(--ease) infinite}
@keyframes llena{0%{stroke-dashoffset:97}40%,90%{stroke-dashoffset:34}100%{stroke-dashoffset:97}}
.pt-ani b{position:absolute;inset:0;display:grid;place-items:center;font:400 20px var(--serif)}
.pt-tarj h4{font:400 20px/1 var(--serif);margin:3px 0}
.pt-dias{display:flex;justify-content:space-between;background:#fff;border-radius:16px;padding:10px 12px;margin-bottom:10px;border:1px solid var(--line,#E7E3DC)}
.pt-dias i{width:22px;height:22px;border-radius:50%;background:#EFEBE4;animation:enciende 6s infinite}
.pt-dias i:nth-child(1){animation-delay:.2s}.pt-dias i:nth-child(2){animation-delay:.5s}.pt-dias i:nth-child(3){animation-delay:.8s}.pt-dias i:nth-child(4){animation-delay:1.1s}.pt-dias i:nth-child(5){animation-delay:1.4s}.pt-dias i:nth-child(6){animation-delay:1.7s}.pt-dias i:nth-child(7){animation-delay:2s}
@keyframes enciende{0%,8%{background:#EFEBE4;transform:scale(1)}14%{transform:scale(1.35)}20%,88%{background:var(--c,#F2693A);transform:scale(1)}100%{background:#EFEBE4}}
.pt-dias i:nth-child(odd){--c:#F2607A}.pt-dias i:nth-child(3n){--c:#B570E8}.pt-dias i:nth-child(4){--c:#35C6B5}
.pt-preg{background:#E8F1FF;border-radius:18px;padding:14px}
.pt-preg h5{font:400 19px/1.15 var(--serif);margin:6px 0 10px}
.pt-op{display:flex;gap:8px;align-items:center;background:#fff;border:1.5px solid #E7E3DC;border-radius:12px;padding:8px 10px;margin-bottom:6px;font-size:12.5px;transition:all .3s}
.pt-op kbd{font:500 10px var(--mono);width:20px;height:20px;border-radius:6px;background:#EFEBE4;display:grid;place-items:center}
.pt-op.elige{animation:elige 6s var(--ease) infinite}
@keyframes elige{0%,30%{border-color:#E7E3DC;background:#fff}38%,80%{border-color:#2DA56B;background:#E1F5EA}100%{border-color:#E7E3DC;background:#fff}}
.pt-flota{position:absolute;padding:10px 16px;border-radius:16px;color:#fff;font:400 24px var(--serif);box-shadow:0 18px 30px -14px #0006;animation:flota-b 6s ease-in-out infinite;will-change:transform}
.pt-flota.b1{left:2%;top:12%;background:#069AD6}.pt-flota.b2{right:0;top:20%;background:#CD4A93;font-style:italic;animation-delay:-2s}.pt-flota.b3{left:0;bottom:22%;background:#F8D774;color:#6a4a00;font:600 14px var(--sans);animation-delay:-1s;border-radius:99px}.pt-flota.b4{right:4%;bottom:12%;background:#97E2B6;color:#0b5a2a;font:600 14px var(--sans);animation-delay:-3s;border-radius:99px}.pt-flota.b5{left:14%;top:2%;background:#8656D6;font-size:20px;animation-delay:-4s}
@keyframes flota-b{50%{transform:translateY(-16px) rotate(3deg)}}
/* tira */
.pt-tira{overflow:hidden;white-space:nowrap;border-block:1px solid #00000010;background:#ffffff80;padding:16px 0;backdrop-filter:blur(8px)}
.pt-tira div{display:inline-block;animation:marcha 40s linear infinite;font:italic 400 30px var(--serif);color:#1a191633}
.pt-tira span{margin:0 18px}.pt-tira b{color:var(--marca1);font-style:normal;margin:0 6px}
@keyframes marcha{to{transform:translateX(-50%)}}
/* revelar al hacer scroll */
.rev{opacity:0;transform:translateY(34px) scale(.98);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--d,0)*90ms)}
.rev.vis{opacity:1;transform:none}
/* cifras */
.pt-cifras{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.pt-cifra{background:#ffffffc8;border:1px solid #0000000f;border-radius:26px;padding:26px;backdrop-filter:blur(8px);transition:transform .4s var(--ease),box-shadow .4s}
.pt-cifra:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px #0006}
.pt-cifra b{display:block;font:400 clamp(44px,5vw,70px)/1 var(--serif);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.pt-cifra span{color:#5b574f;font-size:14.5px}
/* escalera de niveles */
.pt-escalera{display:grid;grid-template-columns:repeat(8,1fr);gap:12px;margin-top:44px;align-items:end}
.pt-nivel{border-radius:22px;padding:16px 14px;color:#fff;position:relative;overflow:hidden;cursor:default;transition:transform .45s var(--ease-b),box-shadow .4s;min-height:var(--h);display:flex;flex-direction:column;justify-content:flex-end}
.pt-nivel:hover{transform:translateY(-12px) scale(1.04);box-shadow:0 36px 50px -26px #0008}
.pt-nivel b{font:400 38px/1 var(--serif)}.pt-nivel small{font-size:12px;opacity:.9;margin-top:4px;line-height:1.25}
.pt-nivel::before{content:"";position:absolute;right:-24px;top:-24px;width:84px;height:84px;border-radius:50%;background:#ffffff2e;transition:transform .6s var(--ease)}
.pt-nivel:hover::before{transform:scale(2.6)}
/* pasos y funciones */
.pt-pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px;counter-reset:p}
.pt-paso{background:#ffffffd0;border:1px solid #0000000f;border-radius:28px;padding:30px;position:relative;counter-increment:p;transition:transform .4s var(--ease),box-shadow .4s}
.pt-paso:hover{transform:translateY(-8px);box-shadow:0 34px 50px -30px #0006}
.pt-paso::before{content:counter(p);position:absolute;right:22px;top:12px;font:400 90px/1 var(--serif);color:#1a191612}
.pt-paso h3{font:400 28px/1.05 var(--serif);margin:14px 0 8px}.pt-paso p{color:#5b574f;line-height:1.55}
.pt-ic{width:54px;height:54px;border-radius:18px;background:var(--grad);display:grid;place-items:center;color:#fff;transition:transform .5s var(--ease-b)}
.pt-paso:hover .pt-ic,.pt-fn:hover .pt-ic{transform:rotate(-8deg) scale(1.12)}
.pt-fns{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.pt-fn{border-radius:26px;padding:26px;background:#fff;border:1px solid #0000000f;transition:transform .4s var(--ease),box-shadow .4s,border-color .3s}
.pt-fn:hover{transform:translateY(-6px);box-shadow:0 30px 46px -30px #0006;border-color:var(--marca2)}
.pt-fn h3{font:400 25px/1.1 var(--serif);margin:16px 0 6px}.pt-fn p{color:#5b574f;font-size:15px;line-height:1.5}
/* test de nivel */
.pt-banda{border-radius:40px;padding:56px;background:var(--grad);color:#fff;display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:center;position:relative;overflow:hidden}
.pt-banda::before,.pt-banda::after{content:"";position:absolute;border-radius:50%;background:#ffffff1f;animation:deriva 14s ease-in-out infinite}
.pt-banda::before{width:340px;height:340px;right:-90px;top:-120px}.pt-banda::after{width:220px;height:220px;left:30%;bottom:-120px;animation-delay:-6s}
.pt-banda h2{color:#fff;position:relative}.pt-banda p{opacity:.92;font-size:18px;line-height:1.5;position:relative;max-width:520px}
.pt-banda .pt-btn{background:#fff;color:var(--ink);position:relative}
.pt-pasoslvl{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;position:relative}.pt-pasoslvl span{background:#ffffff26;border-radius:99px;padding:7px 14px;font-size:13.5px;backdrop-filter:blur(6px)}
.pt-escala{position:relative;display:flex;flex-direction:column;gap:7px}
.pt-escala i{display:block;height:34px;border-radius:12px;background:#ffffff30;transform-origin:left;animation:sube-nivel 5s var(--ease) infinite}
.pt-escala i:nth-child(1){width:35%;animation-delay:0s}.pt-escala i:nth-child(2){width:48%;animation-delay:.15s}.pt-escala i:nth-child(3){width:62%;animation-delay:.3s}.pt-escala i:nth-child(4){width:76%;animation-delay:.45s}.pt-escala i:nth-child(5){width:88%;animation-delay:.6s}.pt-escala i:nth-child(6){width:100%;animation-delay:.75s;background:#ffffff66}
@keyframes sube-nivel{0%{transform:scaleX(0)}20%,85%{transform:scaleX(1)}100%{transform:scaleX(0)}}
/* horarios */
.pt-grupos{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;margin-top:40px}
.pt-grupo{background:#fff;border:1px solid #0000000f;border-radius:26px;padding:24px;border-top:6px solid oklch(.68 .15 var(--hue,262));transition:transform .4s var(--ease),box-shadow .4s;display:flex;flex-direction:column;gap:10px}
.pt-grupo:hover{transform:translateY(-8px);box-shadow:0 34px 50px -30px #0007}
.pt-grupo h3{font:400 26px/1.05 var(--serif)}.pt-dias-l{display:flex;gap:6px;flex-wrap:wrap}.pt-dias-l span{font:500 12.5px var(--mono);background:oklch(.95 .045 var(--hue,262));color:oklch(.35 .12 var(--hue,262));padding:6px 10px;border-radius:10px}
.pt-plazas{font-size:13.5px;font-weight:500}.pt-plazas.poca{color:#c2410c}.pt-plazas.llena{color:#9a1f3c}.pt-plazas.ok{color:#14603a}
.pt-vacio{margin-top:34px;padding:34px;border-radius:26px;background:#ffffffa8;border:1px dashed #0003;text-align:center;color:#5b574f}
/* contacto y formulario */
.pt-contacto{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;margin-top:40px}
.pt-datos{display:grid;gap:12px;align-content:start}
.pt-dato{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid #0000000f;border-radius:20px;padding:16px 18px;text-decoration:none;color:inherit;transition:transform .3s var(--ease),box-shadow .3s}
.pt-dato:hover{transform:translateX(6px);box-shadow:0 18px 30px -22px #0006}
.pt-dato .pt-ic{width:42px;height:42px;border-radius:14px}
.pt-form{background:#fff;border:1px solid #0000000f;border-radius:30px;padding:30px;box-shadow:0 40px 70px -50px #0007}
.pt-form h3{font:400 30px/1.05 var(--serif);margin-bottom:16px}
.pt-campo{display:block;position:relative;margin-bottom:12px}
.pt-campo input,.pt-campo select,.pt-campo textarea{width:100%;border:1.5px solid #E7E3DC;background:#FBFAF8;border-radius:16px;padding:22px 16px 8px;font-size:16px;outline:0;transition:border-color .25s,box-shadow .25s,background .25s;font-family:inherit}
.pt-campo span{position:absolute;left:16px;top:16px;font-size:15px;color:#8a857b;pointer-events:none;transition:all .25s var(--ease)}
.pt-campo input:focus,.pt-campo select:focus,.pt-campo textarea:focus{border-color:var(--marca2);box-shadow:0 0 0 4px #8656D61a;background:#fff}
.pt-campo input:focus+span,.pt-campo input:not(:placeholder-shown)+span,.pt-campo textarea:focus+span,.pt-campo textarea:not(:placeholder-shown)+span,.pt-campo select+span{top:7px;font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--marca2)}
.pt-check{display:flex;gap:10px;align-items:center;margin:6px 0 16px;font-size:14.5px;cursor:pointer}.pt-check input{width:20px;height:20px;accent-color:var(--marca2)}
.pt-ok{text-align:center;padding:26px 8px}
.pt-ok svg{width:84px;height:84px}.pt-ok circle{stroke-dasharray:166;stroke-dashoffset:166;animation:traza .8s var(--ease) forwards}.pt-ok path{stroke-dasharray:48;stroke-dashoffset:48;animation:traza .6s .6s var(--ease) forwards}
@keyframes traza{to{stroke-dashoffset:0}}
.pt-ok h3{margin:12px 0 4px}
/* faq y pie */
.pt-faq{max-width:820px;margin-top:34px}
.pt-q{background:#ffffffd0;border:1px solid #0000000f;border-radius:20px;margin-bottom:10px;overflow:hidden;transition:box-shadow .3s}
.pt-q:hover{box-shadow:0 16px 30px -24px #0007}
.pt-q button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;text-align:left;font:400 22px/1.2 var(--serif)}
.pt-q button i{width:30px;height:30px;border-radius:50%;background:var(--chip);display:grid;place-items:center;font-style:normal;font:500 18px var(--sans);transition:transform .4s var(--ease-b),background .3s;flex:none}
.pt-q.abierta button i{transform:rotate(45deg);background:var(--grad);color:#fff}
.pt-q div{max-height:0;overflow:hidden;transition:max-height .5s var(--ease);color:#5b574f;line-height:1.6;padding:0 24px}
.pt-q.abierta div{max-height:260px;padding-bottom:20px}
.pt-pie{padding:36px max(20px,calc(50% - 600px));border-top:1px solid #0000000f;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;color:#6b675f;font-size:14px}
.pt-pie a{color:inherit;cursor:pointer}
/* ============ LOGIN ============ */
.lg{min-height:100dvh;display:grid;grid-template-columns:1.05fr .95fr;position:relative;background:#F8F5F0;overflow:hidden}
.lg-arte{position:relative;overflow:hidden;background:var(--grad);color:#fff;padding:44px;display:flex;flex-direction:column;justify-content:space-between}
.lg-arte::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 20% 20%,#ffffff33,transparent 70%),radial-gradient(50% 60% at 90% 90%,#00000026,transparent 70%)}
.lg-arte i{position:absolute;border:2px solid #ffffff40;border-radius:50%;animation:ondas 9s ease-in-out infinite}
.lg-arte i:nth-child(1){width:380px;height:380px;right:-120px;top:-100px}.lg-arte i:nth-child(2){width:260px;height:260px;left:-80px;bottom:80px;animation-delay:-3s}.lg-arte i:nth-child(3){width:520px;height:520px;right:-240px;bottom:-200px;animation-delay:-6s}
@keyframes ondas{50%{transform:scale(1.14) rotate(8deg);border-color:#ffffff70}}
.lg-arte .marca{color:#fff;position:relative;font-size:26px}.lg-arte .marca i{position:static;border:0;animation:none;width:34px;height:34px;background:#ffffff2e;display:grid;place-items:center;border-radius:50%}
.lg-frase{position:relative;font:400 clamp(40px,5vw,72px)/.98 var(--serif);letter-spacing:-.01em;min-height:3.1em}
.lg-frase em{display:block;opacity:.88}
.lg-frase span{display:block;animation:frase-in .9s var(--ease) both}
@keyframes frase-in{from{opacity:0;transform:translateY(26px) skewY(2deg)}}
.lg-badges{position:relative;display:flex;gap:10px;flex-wrap:wrap}
.lg-badges b{padding:9px 18px;border-radius:99px;background:#ffffff26;backdrop-filter:blur(8px);font-weight:500;font-size:14px;animation:flota-b 6s ease-in-out infinite}
.lg-badges b:nth-child(2){animation-delay:-1.5s}.lg-badges b:nth-child(3){animation-delay:-3s}.lg-badges b:nth-child(4){animation-delay:-4.5s}
.lg-form{display:flex;flex-direction:column;justify-content:center;padding:48px max(28px,6vw);max-width:620px;margin:0 auto;width:100%;position:relative}
.lg-form>*{animation:aparece .7s var(--ease) both}.lg-form>*:nth-child(2){animation-delay:.08s}.lg-form>*:nth-child(3){animation-delay:.16s}.lg-form>*:nth-child(4){animation-delay:.24s}.lg-form>*:nth-child(5){animation-delay:.32s}.lg-form>*:nth-child(6){animation-delay:.4s}
.lg-volver{position:absolute;top:26px;left:max(28px,6vw);font-size:14px;color:#6b675f;cursor:pointer;display:flex;gap:6px;align-items:center;transition:transform .3s,color .3s;animation:none!important}.lg-volver:hover{transform:translateX(-4px);color:var(--ink)}
.lg-form h1{font:400 clamp(48px,6vw,78px)/.92 var(--serif);letter-spacing:-.02em;margin-bottom:10px}
.lg-form .sub{color:#5b574f;margin-bottom:26px;max-width:380px;line-height:1.5}
.lg-ojo{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#8a857b;transition:background .2s}.lg-ojo:hover{background:#0000000d}
.lg-form .pt-btn{width:100%;height:58px;font-size:17px;margin-top:6px}
.lg-form .pt-btn[disabled]{opacity:.7;cursor:wait}
.lg-error{background:var(--bad-t);color:var(--bad-f);border-radius:14px;padding:12px 16px;margin-bottom:14px;font-size:14.5px;animation:sacude .5s}
@keyframes sacude{20%{transform:translateX(-9px)}40%{transform:translateX(9px)}60%{transform:translateX(-5px)}80%{transform:translateX(4px)}}
.lg-pie{margin-top:22px;display:flex;flex-direction:column;gap:8px;color:#6b675f;font-size:14.5px}
.lg-pie a{color:var(--ink);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.lg-spin{width:22px;height:22px;border-radius:50%;border:3px solid #ffffff55;border-top-color:#fff;animation:gira .7s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
/* test de nivel */
.tn{min-height:100dvh;background:var(--tint,#F6F4F0);transition:background .5s;padding:calc(18px + var(--safe-t)) 20px calc(20px + var(--safe-b))}
.tn-caja{max-width:640px;margin:0 auto;display:flex;flex-direction:column;min-height:calc(100dvh - 40px)}
.tn-res{text-align:center;max-width:680px;margin:0 auto;padding:30px 0}
.tn-nivel{font:400 clamp(120px,24vw,200px)/.9 var(--serif);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;animation:pop .9s var(--ease-b) both}
@keyframes pop{from{opacity:0;transform:scale(.4) rotate(-12deg)}}
.tn-barras{display:grid;gap:10px;margin:26px auto;max-width:480px;text-align:left}
.tn-barras div{display:flex;align-items:center;gap:12px}.tn-barras b{width:34px;font:500 13px var(--mono)}.tn-barras span{flex:1;height:14px;border-radius:9px;background:#00000010;overflow:hidden}.tn-barras i{display:block;height:100%;border-radius:9px;background:var(--grad);transform-origin:left;animation:crece 1s var(--ease) both}
@media(max-width:900px){
  .pt-hero{grid-template-columns:1fr;text-align:center;min-height:0;padding-top:20px}.pt-hero p.lead{margin-inline:auto}.pt-ctas,.pt-chips{justify-content:center}
  .pt-escena{min-height:520px}.pt-movil{width:270px;height:540px}
  .pt-links{display:none}
  .pt-cifras,.pt-pasos,.pt-fns,.pt-contacto,.pt-banda{grid-template-columns:1fr}.pt-cifras{grid-template-columns:1fr 1fr}
  .pt-escalera{grid-template-columns:repeat(4,1fr)}.pt-nivel{min-height:120px!important}
  .pt-banda{padding:34px 26px}.pt-sec{padding-top:64px;padding-bottom:64px}
  .lg{grid-template-columns:1fr}.lg-arte{min-height:230px;padding:26px}.lg-frase{font-size:40px;min-height:2.3em}.lg-badges{display:none}
  .lg-form{padding:38px 24px 50px;justify-content:flex-start}.lg-volver{position:static;margin-bottom:16px}
}
@media(prefers-reduced-motion:reduce){.rev{opacity:1;transform:none}.pt-fondo i,.lg-arte i{animation:none}}
.pt-campo[hidden],.lg-error[hidden]{display:none}
.pt-nav .marca span{white-space:nowrap}
@media(max-width:560px){
  .pt-nav{padding:10px 14px;gap:8px}.pt-nav .marca{font-size:18px;gap:7px}.pt-nav .marca i{width:26px;height:26px;font-size:16px}
  .pt-nav .pt-btn.sm{height:38px;padding:0 13px;font-size:13px}
  .pt-hero h1{font-size:50px}.pt-sec{padding-left:18px;padding-right:18px}
}
