:root{--azul:#1B3F8B;--azul-osc:#102A5C;--oro:#F2B705;--rojo:#C8102E;--crema:#F6F1E6;--caqui:#E9DFC6;--borde:#E3D9C2;--texto:#1B2A28;--gris:#4A5856;--claro:#DCE4F3}
[hidden]{display:none !important}
*{box-sizing:border-box}
body{margin:0;font-family:'Public Sans',system-ui,sans-serif;color:var(--texto);background:var(--crema);line-height:1.5}
img{max-width:100%;height:auto}
a{color:var(--azul)}a:hover{color:var(--rojo)}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.display{font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400}

/* Encabezado */
header.site{background:var(--azul);color:#fff}
.site-head{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none}
.brand:hover{color:#fff}
.brand img{width:54px;height:54px;object-fit:contain}
.brand strong{display:block;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:19px}
.brand em{display:block;font-size:14px;font-weight:600;color:var(--caqui)}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;font-size:15px;font-weight:600}
.nav a{color:#fff;text-decoration:none;padding:10px 0;display:inline-flex;align-items:center;gap:6px}
.nav a[aria-current]{color:var(--oro)}
.nav a.btn{padding:12px 20px;color:var(--azul-osc)}
.divisa{display:flex;height:10px}.divisa-fina{height:6px}
.divisa span{flex:1}
.divisa span:nth-child(1){background:#2F6FD1}.divisa span:nth-child(2){background:#C8102E}.divisa span:nth-child(3){background:#2E8B3E}
.divisa span:nth-child(4){background:#7A7F86}.divisa span:nth-child(5){background:#7A1F34}.divisa span:nth-child(6){background:#F2B705}

/* Botones */
.btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:14px 24px;border-radius:6px;font-weight:800;font-size:16px;text-decoration:none}
.btn-oro{background:var(--oro);color:var(--azul-osc)}.btn-oro:hover{color:var(--azul-osc);filter:brightness(1.06)}
.btn-borde{color:#fff;border:2px solid #8FA8D6}.btn-borde:hover{color:#fff;border-color:#fff}
.btn-azul{background:var(--azul);color:#fff}
.actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:8px}

/* Portada */
.hero{background:var(--azul);color:#fff;overflow:hidden}
.hero-in{display:flex;flex-wrap:wrap;gap:48px;align-items:center;padding-top:76px;padding-bottom:96px}
.hero-text{flex:999 1 540px;min-width:0;display:flex;flex-direction:column;gap:24px}
.tira{align-self:flex-start;background:var(--rojo);color:#fff;font-family:'Archivo Black','Arial Black',sans-serif;font-size:13px;letter-spacing:.06em;padding:7px 14px;border-radius:3px}
.hero h1{margin:0;font-size:clamp(38px,6vw,58px);line-height:1.04}
.hero h1 span{color:var(--oro)}
.hero p{margin:0;font-size:19px;line-height:1.6;color:var(--claro);max-width:580px}
.hero-img{flex:1 1 300px;min-width:0;display:flex;justify-content:center}
.hero-img img{width:100%;max-width:380px;filter:drop-shadow(0 20px 30px rgba(5,12,28,.45))}

/* Secciones */
.section{padding:88px 0}.section-top0{padding-top:0}
.band{background:#fff;border-top:1px solid var(--borde);border-bottom:1px solid var(--borde)}
.eyebrow{display:block;font-family:'Archivo Black','Arial Black',sans-serif;font-size:13px;letter-spacing:.08em;color:var(--rojo);margin-bottom:10px}
.h2{margin:0;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:clamp(30px,4vw,40px);line-height:1.1;color:var(--azul)}
.lead{margin:14px 0 0;font-size:17px;line-height:1.6;color:var(--gris);max-width:700px}
.head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.more-link{font-weight:800;text-decoration:none;display:inline-block;padding:10px 0}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.grid-news{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}

/* Cifras */
.tabs{display:flex;gap:4px;background:var(--caqui);padding:4px;border-radius:8px}
.tabs button{min-height:44px;padding:10px 18px;border:0;border-radius:6px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;background:transparent;color:var(--azul)}
.tabs button[aria-pressed="true"]{background:var(--azul);color:#fff}
.stat{background:#fff;border:1px solid var(--borde);border-top:6px solid var(--azul);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:6px}
.stat b{font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:40px;line-height:1.1;color:var(--azul)}
.stat span{font-size:15px;font-weight:600;color:var(--gris)}
.fuente{margin:16px 0 0;font-size:13px;color:#5E6B69}

/* Noticias */
.news-card{background:#fff;border:1px solid var(--borde);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column}
.news-card:hover{color:inherit;box-shadow:0 10px 26px rgba(16,42,92,.12)}
.news-card > img,.news-noimg{width:100%;aspect-ratio:1200/630;object-fit:cover;display:block;background:var(--caqui)}
.news-noimg{display:flex;align-items:center;justify-content:center}.news-noimg img{width:72px;opacity:.6}
.news-card .body{padding:20px;display:flex;flex-direction:column;gap:8px}
.news-card h3{margin:0;font-size:19px;line-height:1.3}
.news-card p{margin:0;font-size:15px;color:var(--gris)}
.news-card time,.meta{font-size:13px;color:#5E6B69}
.badge{align-self:flex-start;display:inline-block;font-size:12px;font-weight:800;color:var(--azul);background:#E8EEF9;padding:4px 10px;border-radius:999px}
.pager{margin-top:32px}
.pager ul{display:flex;gap:10px;list-style:none;padding:0;margin:0}
.pager a,.pager span{display:inline-block;padding:10px 16px;border-radius:6px;background:#fff;border:1px solid var(--borde);text-decoration:none;font-weight:700}

/* Historia */
.teaser{display:flex;flex-wrap:wrap;text-decoration:none;color:#fff;background:var(--azul-osc);border-radius:14px;overflow:hidden}
.teaser:hover{color:#fff}
.teaser .year{flex:1 1 280px;background:var(--rojo);padding:40px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.teaser .year small{font-size:14px;font-weight:700;letter-spacing:.08em;color:#FFE3E7}
.teaser .year b{font-size:84px;line-height:1}
.teaser .txt{flex:999 1 420px;padding:40px;display:flex;flex-direction:column;gap:14px}
.teaser h2{margin:0;font-size:32px;line-height:1.15}
.teaser p{margin:0;font-size:17px;line-height:1.6;color:var(--claro)}
.teaser .more{font-weight:800;color:var(--oro)}

/* Clases */
.clases{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-top:32px}
.clase{border:1px solid var(--borde);border-radius:10px;padding:20px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;background:#fff}
.clase i{width:40px;height:40px;border-radius:50%;border:4px solid #D4A21A;display:block}
.clase strong{font-size:18px}.clase span{font-size:14px;color:#5E6B69}

/* Uniforme */
.split{display:flex;flex-wrap:wrap;gap:40px;align-items:center}
.split > div:first-child{flex:999 1 460px;min-width:0}
.swatches{flex:1 1 320px;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.swatches div{display:flex;flex-direction:column;gap:8px}
.swatches i{display:block;height:90px;border-radius:8px}
.swatches span{font-size:13px;font-weight:700}

/* Llamado a líderes */
.cta{background:var(--oro);border-radius:14px;padding:48px 40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.cta > div{max-width:640px}
.cta .eyebrow{color:#7A1F34}
.cta h2{margin:0;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:32px;line-height:1.15;color:var(--azul-osc)}
.cta p{margin:8px 0 0;font-size:17px;color:#26332F}

/* Artículo */
.article{max-width:780px;margin:0 auto;padding:48px 24px 88px}
.article h1{margin:12px 0 8px;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:clamp(30px,5vw,44px);line-height:1.1;color:var(--azul)}
.article .cover{display:block;width:100%;border-radius:12px;margin:24px 0}
.prose{font-size:18px;line-height:1.75}
.prose img{border-radius:8px}

/* Pie */
footer.site{background:var(--azul-osc);color:var(--claro)}
.foot{max-width:1200px;margin:0 auto;padding:36px 24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;font-size:14px}
.foot-brand{display:flex;align-items:center;gap:12px}
.fuentes{max-width:520px;display:flex;flex-direction:column;gap:6px;color:#A9BADB}
.fuentes strong{color:#fff}

/* Animaciones */
@keyframes rise{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:scale(.7) rotate(-6deg)}to{opacity:1;transform:none}}
.in{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.d1{animation-delay:.15s}.d2{animation-delay:.3s}.d3{animation-delay:.45s}
.popin{animation:pop 1s cubic-bezier(.2,.8,.2,1.1) .3s both}
.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js [data-reveal="pop"]{transform:scale(.88)}
.js [data-reveal="side"]{transform:translateX(-40px)}
.js [data-reveal].is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .in,.popin{animation:none}
  .js [data-reveal]{opacity:1;transform:none;transition:none}
}

/* Encabezado fijo */
header.site{position:sticky;top:0;z-index:50;box-shadow:0 2px 12px rgba(5,12,28,.25)}
html{scroll-padding-top:110px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media (max-width:720px){
  .site-head{padding:10px 16px;gap:6px}
  .brand img{width:40px;height:40px}
  .brand strong{font-size:16px}
  .brand em{display:none}
  .nav{width:100%;flex-wrap:nowrap;overflow-x:auto;gap:18px;font-size:14px;scrollbar-width:none}
  .nav::-webkit-scrollbar{display:none}
  .nav a{white-space:nowrap;padding:8px 0}
  .nav a.btn{padding:8px 14px;min-height:40px}
  html{scroll-padding-top:120px}
}
.pager ul{flex-wrap:wrap;align-items:center}
.pager span[aria-disabled]{opacity:.45}
.pager .pager-info{background:transparent;border:0;font-weight:600;color:var(--gris)}

/* ===== Historia ===== */
.night{position:relative;overflow:hidden;background:#0C1F48;color:#fff}
.star{position:absolute;border-radius:50%;background:#fff;opacity:.55}
.mtn{position:absolute;left:0;right:0;bottom:0;width:100%;height:100%}
.mtn-low{top:auto;height:300px}
.hist-hero{position:relative;max-width:900px;margin:0 auto;padding:84px 24px 150px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}
.hist-hero img{width:170px}
.hist-hero .tira{align-self:center}
.hist-hero h1{margin:0;font-size:clamp(38px,6vw,60px);line-height:1.04}
.hist-hero h1 span{color:var(--oro)}
.hist-hero p{margin:0;font-size:19px;line-height:1.6;color:var(--claro);max-width:640px}
.trail-path{stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 3.5s ease-out .4s forwards}
@keyframes draw{to{stroke-dashoffset:0}}

.era{padding:88px 0}
.era-a{background:var(--crema)}.era-b{background:#fff}
.era-wrap{max-width:980px;margin:0 auto;padding:0 24px;display:flex;flex-direction:column;gap:40px}
.era-head{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.era-titles{flex:1 1 300px;min-width:0}
.era-badge{width:92px;height:92px;flex-shrink:0;border-radius:50%;border:5px solid #D4A21A;display:flex;flex-direction:column;align-items:center;justify-content:center}
.era-badge small{font-size:11px;font-weight:800;letter-spacing:.08em}
.era-badge b{font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:34px;line-height:1}
.era-range{display:block;font-family:'Archivo Black','Arial Black',sans-serif;font-size:13px;letter-spacing:.08em;color:var(--rojo)}
.era-title{margin:6px 0;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:clamp(30px,4vw,40px);line-height:1.08;color:var(--azul)}
.era-intro{margin:0;font-size:17px;line-height:1.55;color:var(--gris)}
.hitos{list-style:none;margin:0 0 0 34px;padding:0;border-left:4px dashed #C9BFA6;display:flex;flex-direction:column;gap:22px}
.hito{display:flex;gap:22px;align-items:flex-start}
.patch{margin-left:-40px;width:76px;height:76px;flex-shrink:0;border-radius:50%;border:4px solid #D4A21A;display:flex;align-items:center;justify-content:center;font-family:'Archivo Black','Arial Black',sans-serif;font-size:17px}
.hito-card{flex:1;min-width:0;background:#fff;border-radius:12px;padding:20px 22px;display:flex;flex-direction:column;gap:6px;box-shadow:0 6px 18px rgba(16,42,92,.08)}
.era-b .hito-card{background:var(--crema)}
.hito-card strong{font-size:18px;line-height:1.35}
.hito-card span{font-size:15px;line-height:1.6;color:var(--gris)}
.fact{background:var(--oro);color:var(--azul-osc);border-radius:12px;padding:26px 30px;display:flex;flex-direction:column;gap:8px}
.fact b{font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:14px;letter-spacing:.06em}
.fact p{margin:0;font-size:18px;line-height:1.55;font-weight:600}

.ticlio-in{position:relative;max-width:980px;margin:0 auto;padding:96px 24px 230px;display:flex;flex-direction:column;gap:16px}
.ticlio-in h2{margin:0;font-size:clamp(32px,5vw,46px);line-height:1.08}
.ticlio-in h2 span{color:var(--oro)}
.ticlio-in p{margin:0;font-size:18px;line-height:1.65;color:var(--claro);max-width:640px}
.eyebrow-oro{color:var(--oro)}

.hoy{display:flex;flex-wrap:wrap;gap:24px}
.hoy-card{flex:999 1 460px;min-width:0;background:#fff;border:1px solid var(--borde);border-radius:14px;padding:36px;display:flex;flex-direction:column;gap:14px}
.hoy-nums{display:flex;flex-wrap:wrap;gap:28px}
.hoy-nums div{display:flex;flex-direction:column}
.hoy-nums b{font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:44px;color:var(--azul)}
.hoy-nums span{font-weight:600;color:var(--gris)}
.quiz-card{flex:1 1 320px;min-width:0;background:var(--rojo);color:#fff;border-radius:14px;padding:36px;display:flex;flex-direction:column;gap:14px;justify-content:center}
.quiz-card h2{margin:0;font-size:28px;line-height:1.15}
.quiz-card p{margin:0;font-size:16px;line-height:1.55;color:#FFE3E7}
.btn-blanco{align-self:flex-start;background:#fff;color:var(--rojo)}

@media (max-width:600px){
  .hitos{margin-left:24px;gap:18px}
  .hito{gap:14px}
  .patch{width:60px;height:60px;margin-left:-32px;font-size:14px}
  .era{padding:64px 0}
}
@media (prefers-reduced-motion:reduce){.trail-path{animation:none;stroke-dashoffset:0}}
.hito-foto{margin:10px 0 0;max-width:240px}
.hito-foto img{display:block;width:100%;border-radius:8px;border:3px solid #fff;box-shadow:0 4px 12px rgba(16,42,92,.18)}
.hito-foto figcaption{margin-top:6px;font-size:12px;color:#5E6B69}

/* Miniatura del hito + visor */
.hito-card.has-foto{display:grid;grid-template-columns:minmax(0,1fr) 140px;column-gap:20px;align-items:center}
.hito-txt{display:flex;flex-direction:column;gap:6px;min-width:0}
.hito-thumb{position:relative;display:block;width:140px;height:96px;padding:0;border:3px solid #fff;border-radius:8px;overflow:hidden;cursor:zoom-in;background:var(--caqui);box-shadow:0 4px 12px rgba(16,42,92,.18)}
.hito-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.hito-thumb:hover img,.hito-thumb:focus-visible img{transform:scale(1.07)}
.hito-thumb:focus-visible{outline:3px solid var(--oro);outline-offset:2px}
.hito-thumb svg{position:absolute;right:5px;bottom:5px;padding:3px;border-radius:50%;background:rgba(16,42,92,.8);color:#fff}
.lightbox{padding:0;border:0;background:transparent;overflow:visible;max-width:min(92vw,720px)}
.lightbox::backdrop{background:rgba(8,18,40,.86)}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px}
.lightbox img{display:block;width:auto;height:auto;min-width:min(80vw,420px);max-width:min(92vw,720px);max-height:80vh;border:4px solid #fff;border-radius:10px;background:#fff}
.lightbox figcaption{color:#fff;font-size:14px;text-align:center}
.lightbox-close{position:absolute;top:-16px;right:-16px;width:44px;height:44px;border:0;border-radius:50%;background:var(--oro);color:var(--azul-osc);font-size:28px;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.3)}
@media (max-width:600px){
  .hito-card.has-foto{grid-template-columns:minmax(0,1fr) 96px;column-gap:12px}
  .hito-thumb{width:96px;height:72px}
  .lightbox-close{top:8px;right:8px}
}
@media (prefers-reduced-motion:reduce){.hito-thumb img{transition:none}}

/* ===== Desafío del Sendero ===== */
.quiz-night{padding:64px 0 88px}
.quiz-wrap{position:relative;max-width:760px;margin:0 auto;padding:0 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.quiz-wrap .tira{align-self:center}
.quiz-wrap h1{margin:0;font-size:clamp(32px,5vw,48px);line-height:1.08}
.quiz-wrap h1 span{color:var(--oro)}
.quiz-box{width:100%;background:#fff;color:var(--texto);border-radius:16px;padding:32px;text-align:left;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.quiz-box [data-step]{display:flex;flex-direction:column;gap:14px}
.quiz-box [data-step][hidden]{display:none}
.quiz-lead{margin:0;font-size:17px;line-height:1.6;color:var(--gris)}
.quiz-label{font-weight:800}
.quiz-input{font:inherit;font-size:17px;padding:13px 14px;border:2px solid #C5CFE2;border-radius:8px}
.quiz-input:focus{outline:3px solid var(--oro);outline-offset:1px;border-color:var(--azul)}
.quiz-help{color:#5E6B69;margin-top:-6px}
.quiz-box .btn{align-self:flex-start;border:0;cursor:pointer;font:inherit;font-weight:800;font-size:16px}
.quiz-aviso{margin:0;padding:12px 14px;border-radius:8px;background:#FDF1CF;color:#6B4A00;font-weight:600}
.quiz-progress{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:700;color:var(--gris)}
.quiz-bar{height:8px;border-radius:4px;background:#E6EBF5;overflow:hidden}
.quiz-bar i{display:block;height:100%;width:0;background:var(--azul);transition:width .4s ease}
.quiz-q{margin:4px 0 0;font-size:22px;line-height:1.35;outline:none}
.quiz-options{display:flex;flex-direction:column;gap:10px}
.quiz-opt{display:flex;align-items:center;gap:14px;width:100%;min-height:52px;padding:12px 16px;text-align:left;font:inherit;font-size:16px;background:#fff;color:var(--texto);border:2px solid #DEE4F0;border-radius:10px;cursor:pointer}
.quiz-opt b{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#EEF3FD;color:var(--azul);display:flex;align-items:center;justify-content:center}
.quiz-opt:hover:not(:disabled){border-color:var(--azul)}
.quiz-opt:disabled{cursor:default}
.quiz-opt.ok{border-color:#2E8B3E;background:#E8F5EA}.quiz-opt.ok b{background:#2E8B3E;color:#fff}
.quiz-opt.bad{border-color:var(--rojo);background:#FDECEF}.quiz-opt.bad b{background:var(--rojo);color:#fff}
.quiz-feedback{margin:0;font-size:15px;line-height:1.55;min-height:1em}
.quiz-feedback.is-ok{color:#1E6B2B}.quiz-feedback.is-bad{color:#8A0F22}
.quiz-back{color:var(--claro);font-weight:700}
.quiz-back:hover{color:#fff}
.result-who{margin:0;font-size:22px;font-weight:700;color:var(--claro)}
.result-score{margin:0;font-size:clamp(90px,16vw,150px);line-height:1;color:var(--oro)}
.result-score span{font-size:.45em;color:#fff}
.result-level{margin:0;font-size:22px;font-weight:800}
.result-img{width:100%;max-width:600px;border-radius:12px;border:4px solid #fff;margin-top:8px}
.share{width:100%;background:rgba(255,255,255,.08);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:12px}
.share-title{margin:0;font-weight:800;font-size:18px}
.share-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.share-btns .btn{border:0;cursor:pointer;font:inherit;font-weight:800;font-size:15px;color:#fff}
.share-fb{background:#1877F2}.share-wa{background:#13803F}.share-ig{background:#B4306F}.share-dl{background:#fff;color:var(--azul-osc)!important}
.share-help{margin:0;font-size:13px;color:var(--claro)}
.result-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:6px}
@media (max-width:600px){.quiz-box{padding:22px}.quiz-q{font-size:19px}}
.badge-ext{background:#FDF1CF;color:#6B4A00}

/* Nombre del club en dos líneas (encabezado) */
.brand .brand-name{display:flex;flex-direction:column;line-height:1.02;--brand-size:28.5px}
.brand .brand-name strong{display:block;font-size:var(--brand-size);letter-spacing:.04em}
.brand .brand-name strong:first-child{font-size:calc(var(--brand-size) * .8)}
.brand .brand-name strong{font-family:Impact,"Anton","Haettenschweiler","Arial Narrow Bold",sans-serif;font-weight:400;letter-spacing:.03em}

/* ===== Desafío: puntos por tiempo ===== */
.quiz-scale{list-style:none;padding:0;margin:14px 0 6px;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.quiz-scale li{background:rgba(255,255,255,.08);border-radius:10px;padding:8px 4px;text-align:center;line-height:1.15}
.quiz-scale b{display:block;font-size:1.4em;color:#F2B705}
.quiz-scale span{font-size:.78em;opacity:.85}
.quiz-progress .quiz-total{float:right;font-size:.95em}
.quiz-progress .quiz-total b{color:#F2B705}
.quiz-timer{display:flex;justify-content:space-between;align-items:center;margin:12px 0 4px;font-variant-numeric:tabular-nums}
.quiz-clock{font-size:1.15em}
.quiz-clock b{font-size:1.25em}
.quiz-worth{padding:4px 12px;border-radius:999px;font-weight:700;font-size:.9em;transition:background .2s,color .2s}
.quiz-worth.worth-5{background:#2E9E4F;color:#fff}
.quiz-worth.worth-4{background:#7DBA3C;color:#10220a}
.quiz-worth.worth-3{background:#F2B705;color:#2a1f00}
.quiz-worth.worth-2{background:#F28C05;color:#2a1600}
.quiz-worth.worth-1{background:#D9472B;color:#fff}
@media (max-width:480px){.quiz-scale span{font-size:.7em}}
.result-sub{margin:-6px 0 6px;font-size:1.15em;opacity:.9;letter-spacing:.02em}

/* ===== Logos de las clases (mismo lugar que los círculos) ===== */
.clase .clase-logo{width:40px;height:40px;display:block;object-fit:contain}

/* ===== Clases: abrir requisitos ===== */
.clases-hint{margin:-6px 0 14px;font-size:.95rem;opacity:.8}
.clase{position:relative;transition:transform .2s ease}
.clase:hover{transform:translateY(-3px)}
.clase:focus-within{outline:3px solid #F2B705;outline-offset:3px;border-radius:12px}
.clase-btn{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:inherit}
.clase-btn:focus{outline:none}
.clase-btn::after{content:"";position:absolute;inset:0}
dialog.req{padding:0;border:0;border-radius:18px;width:min(780px,94vw);max-height:88vh;background:#fff;color:#1B2A28;box-shadow:0 30px 80px rgba(8,23,51,.45)}
dialog.req::backdrop{background:rgba(8,23,51,.62)}
dialog.req[open]{animation:reqIn .3s cubic-bezier(.2,.8,.2,1)}
@keyframes reqIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
.req-in{display:flex;flex-direction:column;max-height:88vh}
.req-head{display:flex;align-items:center;gap:14px;padding:16px 20px;background:#102A5C;color:#fff;border-bottom:6px solid var(--clase,#F2B705)}
.req-head img{width:56px;height:56px;object-fit:contain;flex:none}
.req-head small{display:block;font-size:.75rem;letter-spacing:.08em;opacity:.85}
.req-head h2{margin:2px 0 0;font-size:1.6rem;line-height:1.1;color:#fff}
.req-close{margin-left:auto;flex:none;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}
.req-close:hover{background:rgba(255,255,255,.28)}
.req-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:8px 20px 0;border-bottom:1px solid #E6E0D0}
.req-tabs button{border:0;background:none;padding:12px 12px;margin-bottom:-1px;font:inherit;font-weight:700;color:#4A5856;cursor:pointer;border-bottom:3px solid transparent}
.req-tabs button[aria-selected=true]{color:#1B3F8B;border-bottom-color:var(--clase,#F2B705)}
.req-scroll{overflow:auto;padding:4px 20px 18px;overscroll-behavior:contain}
.req-body h3{margin:20px 0 8px;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;color:#1B3F8B}
.req-body ol{margin:0;padding-left:1.5em;display:grid;gap:9px;line-height:1.55}
.req-body li::marker{font-weight:700;color:#1B3F8B}
.req-foot{margin:0;padding:12px 20px;font-size:.85rem;color:#4A5856;background:#F6F1E6}
@media (max-width:640px){.req-head h2{font-size:1.3rem}.req-tabs button{padding:10px 8px;font-size:.9rem}}
@media (prefers-reduced-motion:reduce){dialog.req[open]{animation:none}.clase{transition:none}.clase:hover{transform:none}}

/* ===== Nuestro Club ===== */
.nc-chips{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.nc-chips li{background:#fff;border:2px solid #E2DCCB;border-radius:999px;padding:9px 16px;font-weight:700;color:#1B3F8B}
.nc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:22px}
.nc-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:22px}
.nc-gap{margin-top:18px}
.nc-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 6px 18px rgba(16,42,92,.08);color:#1B2A28}
.nc-card h3{margin:0 0 10px;color:#1B3F8B;font-size:1.2rem}
.nc-card p{margin:0 0 10px;line-height:1.6}
.nc-big{display:block;font-family:'Archivo Black','Arial Black',sans-serif;font-size:3rem;line-height:1;color:#F2B705;margin-bottom:6px}
.nc-mini{font-size:.92rem;color:#4A5856}
.nc-voto{background:#102A5C;color:#fff}
.nc-voto h3{color:#F2B705}
.nc-voto blockquote{margin:0;font-size:1.35rem;line-height:1.55;font-weight:700}
.nc-voto blockquote::before{content:"“";display:block;font-family:Georgia,serif;font-size:4rem;line-height:.6;color:#F2B705}
.nc-ley details{border-bottom:1px solid #EEE7D6}
.nc-ley summary{list-style:none;cursor:pointer;display:flex;gap:12px;align-items:center;padding:11px 0;font-weight:700}
.nc-ley summary::-webkit-details-marker{display:none}
.nc-ley summary b{flex:none;width:30px;height:30px;border-radius:50%;background:#1B3F8B;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem}
.nc-ley summary::after{content:"+";margin-left:auto;font-size:1.3rem;color:#1B3F8B}
.nc-ley details[open] summary::after{content:"–"}
.nc-ley details p{margin:0 0 12px 42px;color:#4A5856}
.nc-flag{position:relative;display:grid;grid-template-columns:1fr 1fr;width:min(240px,100%);aspect-ratio:128/90;border:1px solid #C9D3E6;margin-bottom:14px}
.nc-flag i{background:#fff}.nc-flag i.b{background:#1B3F8B}
.nc-flag img{position:absolute;left:50%;top:50%;width:34%;transform:translate(-50%,-50%)}
.nc-pennant{width:min(220px,100%);height:auto;margin-bottom:14px}
.nc-emblema{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:28px;align-items:center;margin-top:18px}
.nc-emblema img{width:100%;height:auto}
.nc-colors{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}
.nc-colors li{display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.nc-colors i{flex:none;width:20px;height:20px;border-radius:50%;border:1px solid #C9D3E6;margin-top:3px}
.nc-time{list-style:none;padding:0;margin:20px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.nc-time li{background:#fff;border-radius:14px;padding:18px;box-shadow:0 6px 18px rgba(16,42,92,.08);display:flex;flex-direction:column;gap:6px}
.nc-time b{font-family:'Archivo Black','Arial Black',sans-serif;font-size:1.8rem;color:#C8102E}
.nc-progress{display:flex;align-items:center;gap:14px;margin:16px 0}
.nc-bar{flex:1;height:12px;border-radius:999px;background:#E2DCCB;overflow:hidden}
.nc-bar i{display:block;height:100%;width:0;background:#2E8B3E;border-radius:999px;transition:width .4s ease}
.nc-progress span{font-weight:800;color:#1F504A;white-space:nowrap}
.nc-check{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.nc-check label{display:flex;gap:12px;align-items:flex-start;padding:9px 0;border-bottom:1px solid #EEE7D6;cursor:pointer;line-height:1.5}
.nc-check input{flex:none;width:22px;height:22px;margin-top:1px;accent-color:#2E8B3E;cursor:pointer}
.nc-check input:checked + span{color:#4A5856;text-decoration:line-through;text-decoration-color:rgba(46,139,62,.6)}
.nc-h3{margin-top:22px!important}
.nc-play{margin-top:18px;display:inline-block}
@media (max-width:640px){.nc-emblema{grid-template-columns:1fr}.nc-emblema img{max-width:180px;margin:0 auto}.nc-voto blockquote{font-size:1.15rem}}
@media (prefers-reduced-motion:reduce){.nc-bar i{transition:none}}

/* ===== Pie de página y enlaces oficiales ===== */
.foot-legal{display:block;line-height:1.6}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.enl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:20px}
.enl-card{display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:18px;background:#fff;color:#1B2A28;text-decoration:none;box-shadow:0 8px 22px rgba(16,42,92,.1);transition:transform .2s ease,box-shadow .2s ease}
.enl-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(16,42,92,.16)}
.enl-card:focus-visible{outline:3px solid #F2B705;outline-offset:3px}
.enl-card h3{margin:0;font-size:1.3rem;color:#1B3F8B}
.enl-card p{margin:0;line-height:1.6;color:#4A5856;flex:1}
.enl-ico{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#FFF4CC;color:#B08300}
.enl-btn{align-self:flex-start;margin-top:6px;padding:10px 18px;border-radius:999px;background:#F2B705;color:#102A5C;font-weight:800}
.enl-card-azul{background:#102A5C;color:#fff}
.enl-card-azul h3{color:#F2B705}
.enl-card-azul p{color:#DCE4F3}
.enl-card-azul .enl-ico{background:rgba(255,255,255,.12);color:#F2B705}
@media (prefers-reduced-motion:reduce){.enl-card{transition:none}.enl-card:hover{transform:none}}

/* ===== Nuestro Club: tarjetas de juegos ===== */
a.nc-game{display:flex;flex-direction:column;gap:10px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
a.nc-game:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(16,42,92,.18)}
a.nc-game:focus-visible{outline:3px solid #F2B705;outline-offset:3px}
.nc-game-verde{background:#145A43;color:#fff}.nc-game-azul{background:#102A5C;color:#fff}
.nc-game h3{color:#F2B705!important}.nc-game p{color:#E3EEF0}
.nc-game-tag{align-self:flex-start;font-size:.75rem;font-weight:800;letter-spacing:.1em;background:rgba(255,255,255,.14);padding:5px 10px;border-radius:999px}
.nc-game-btn{align-self:flex-start;margin-top:4px;padding:10px 18px;border-radius:999px;background:#F2B705;color:#102A5C;font-weight:800}

/* ===== La Ruta del Aspirante ===== */
.ruta{background:#0E3B2E;color:#fff;padding:40px 0 64px}
.ruta-wrap{max-width:1060px;margin:0 auto;padding:0 20px;display:flex;flex-direction:column;gap:22px}
.ruta-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px}
.ruta-top h1{margin:10px 0 0}
.ruta-top h1 span{color:#F2B705}
.ruta-stats{display:flex;gap:10px;flex-wrap:wrap}
.ruta-stats>span{background:rgba(255,255,255,.1);padding:10px 16px;border-radius:999px;font-weight:800}
.ruta-star{color:#F2B705}
.ruta-stage{scroll-margin-top:90px}
.ruta-lead{margin:0 0 16px;font-size:1.05rem;line-height:1.6;color:#D5E8DF;max-width:720px}
.ruta-map{position:relative;width:100%;aspect-ratio:1000/460;border-radius:22px;overflow:hidden;background:#145A43;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08)}
.ruta-map svg{position:absolute;inset:0;width:100%;height:100%}
.ruta-st{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;width:120px}
.ruta-st-btn{width:72px;height:72px;border-radius:50%;border:5px solid #F2B705;color:#fff;font-family:'Archivo Black','Arial Black',sans-serif;font-size:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.3);transition:transform .2s}
.ruta-st-btn:hover:not(:disabled){transform:scale(1.08)}
.ruta-st-btn.is-open{animation:rutaPulse 1.8s ease-out infinite}
.ruta-st-btn.is-locked{border-color:#7C958B;cursor:not-allowed}
.ruta-st-name{font-weight:800;font-size:.85rem;text-align:center;background:rgba(8,40,30,.78);padding:3px 10px;border-radius:999px}
.ruta-st-name.is-locked{color:#A9BDB5}
.ruta-st-stars{font-size:.8rem;color:#F2B705;letter-spacing:.1em;min-height:1em}
.ruta-card{background:#fff;color:#1B2A28;border-radius:22px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.35)}
.ruta-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px 24px;color:#fff}
.ruta-card-head small{font-size:.75rem;letter-spacing:.1em;opacity:.9}
.ruta-card-head h2{margin:2px 0 0;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:1.7rem;color:#fff}
.ruta-pill{background:rgba(255,255,255,.18);padding:8px 14px;border-radius:999px;font-weight:800}
.ruta-card-body{padding:24px;display:flex;flex-direction:column;gap:16px}
.ruta-task{margin:0;font-size:1.05rem;font-weight:800;color:#1B3F8B}
.ruta-small{margin:0;font-size:.8rem;font-weight:800;color:#6B7A77}
.ruta-big{margin:0;font-size:1.6rem;line-height:1.35;font-weight:800}
.ruta-vf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ruta-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;border-radius:12px;font:800 1rem 'Public Sans',system-ui,sans-serif;cursor:pointer;text-decoration:none;transition:transform .15s,opacity .15s}
.ruta-btn:hover:not(:disabled){transform:translateY(-2px)}
.ruta-btn:disabled{opacity:.45;cursor:not-allowed}
.ruta-btn-si{background:#2E8B3E;color:#fff;min-height:64px;font-size:1.2rem}
.ruta-btn-no{background:#C8102E;color:#fff;min-height:64px;font-size:1.2rem}
.ruta-btn-azul{background:#1B3F8B;color:#fff;align-self:flex-start}
.ruta-btn-oro{background:#F2B705;color:#102A5C}
.ruta-btn-borde{background:transparent;color:#fff;border:2px solid #F2E2B6}
.ruta-btn-fb{background:#1877F2;color:#fff}.ruta-btn-wa{background:#1DA851;color:#fff}.ruta-btn-ig{background:#C13584;color:#fff}
.ruta-center{align-self:center;margin-top:16px}
.ruta-link{align-self:flex-start;margin-top:12px;background:none;border:0;color:#F2E2B6;font:700 .95rem 'Public Sans',sans-serif;cursor:pointer;padding:8px 0}
.ruta-fb{margin:0;padding:12px 14px;border-radius:10px;font-weight:700}
.ruta-fb.is-ok{background:#EAF6EE;color:#1F504A}.ruta-fb.is-bad{background:#FBEDEE;color:#7A1F34}
.ruta-msg{margin:0;min-height:1.3em;color:#C8102E;font-weight:700}
.ruta-voto{margin:0;font-size:1.4rem;line-height:2.1;font-weight:700;background:#F6F1E6;border-radius:14px;padding:16px 18px}
.ruta-blank{display:inline-block;min-width:100px;text-align:center;padding:0 8px;border-radius:8px;color:#9AA7A4}
.ruta-blank.is-filled{background:#1B3F8B;color:#fff}
.ruta-blank.is-current{background:#FFF4CC;color:#B08300;box-shadow:inset 0 0 0 2px #F2B705}
.ruta-chips{display:flex;flex-wrap:wrap;gap:10px}
.ruta-chip{min-height:48px;padding:0 18px;border-radius:999px;border:2px solid #1B3F8B;background:#fff;color:#1B3F8B;font:800 1.05rem 'Public Sans',sans-serif;cursor:pointer;transition:transform .15s}
.ruta-chip:hover:not(:disabled){transform:translateY(-2px)}
.ruta-chip:disabled{background:#E6E0D0;border-color:#E6E0D0;color:#9AA7A4;cursor:default}
.ruta-chip-big{min-height:56px;border-radius:14px;border-color:#D9D1BD;color:#1B2A28;font-size:1.15rem}
.ruta-chip.is-on{background:#3F454C;border-color:#5E646B;color:#fff}
.ruta-ley{display:flex;flex-wrap:wrap;gap:20px}
.ruta-ley ol{flex:1 1 280px;margin:0;padding:16px 16px 16px 40px;background:#F6F1E6;border-radius:14px;display:flex;flex-direction:column;gap:8px;min-height:180px;font-weight:700}
.ruta-ley-pool{flex:1 1 280px;display:flex;flex-direction:column;gap:8px}
.ruta-opt{min-height:46px;padding:8px 14px;border-radius:12px;border:2px solid #D9D1BD;background:#fff;color:#1B2A28;font:700 1rem 'Public Sans',sans-serif;text-align:left;cursor:pointer;transition:transform .15s}
.ruta-opt:hover:not(:disabled){transform:translateY(-2px);border-color:#F2B705}
.ruta-opt.is-on{border-color:#7A1F34;background:#F7E8EC}
.ruta-opt.is-done{border-color:#2E8B3E;background:#EAF6EE;color:#1F504A;cursor:default}
.ruta-dot{display:inline-block;width:18px;height:18px;border-radius:50%;margin-right:10px;vertical-align:-3px;border:1px solid #9AA7A4}
.ruta-pairs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:14px}
.ruta-pairs>div{display:flex;flex-direction:column;gap:8px}
.ruta-mara-intro{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.ruta-mara-intro p{margin:0;flex:1 1 240px;line-height:1.6;color:#4A5856}
.ruta-mara{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.ruta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.ruta-row-c{justify-content:center}
.ruta-flag-wrap{display:flex;flex-wrap:wrap;gap:24px;align-items:center}
.ruta-flag{position:relative;width:320px;max-width:100%;aspect-ratio:128/90;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:2px solid #C9D3E6;border-radius:6px;overflow:hidden}
.ruta-flag button{border:0;border-right:1px dashed #C9D3E6;border-bottom:1px dashed #C9D3E6;background:#fff;cursor:pointer;transition:background .2s}
.ruta-flag button.is-blue{background:#1B3F8B}
.ruta-flag img{position:absolute;left:50%;top:50%;width:32%;transform:translate(-50%,-50%);pointer-events:none}
.ruta-flag-help{flex:1 1 240px;display:flex;flex-direction:column;gap:12px}
.ruta-flag-help p{margin:0;line-height:1.6;color:#4A5856}
.ruta-win{display:flex;flex-wrap:wrap;align-items:center;gap:18px;background:#EAF6EE;border-radius:16px;padding:18px 20px}
.ruta-win>div{flex:1 1 220px;display:flex;flex-direction:column;gap:4px}
.ruta-win strong{font-size:1.35rem;color:#1F504A}
.ruta-win-stars{font-size:1.6rem;color:#E0A800;letter-spacing:.1em}
.ruta-badge{flex:none;width:64px;height:64px;border-radius:50%;border:4px solid #F2B705;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:'Archivo Black','Arial Black',sans-serif;font-size:1.5rem}
.ruta-final{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;background:rgba(255,255,255,.06);border-radius:22px;padding:32px 20px}
.ruta-final p{margin:0}
.ruta-final-who{font-size:1.2rem;font-weight:700;color:#D5E8DF}
.ruta-final-score{font-family:'Archivo Black','Arial Black',sans-serif;font-size:5rem;line-height:1;color:#F2B705}
.ruta-final-score span{font-size:2.4rem;color:#fff}
.ruta-final-level{font-size:1.35rem;font-weight:800}
.ruta-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:8px 0}
.ruta-badges>div{display:flex;flex-direction:column;align-items:center;gap:6px;width:104px;font-size:.85rem}
.ruta-badges>div>span:last-child{color:#F2B705}
.ruta-pop{animation:rutaPop .5s cubic-bezier(.2,.8,.2,1.2) both}
@keyframes rutaPop{0%{opacity:0;transform:scale(.9)}100%{opacity:1;transform:none}}
@keyframes rutaPulse{0%{box-shadow:0 0 0 0 rgba(242,183,5,.7)}80%,100%{box-shadow:0 0 0 18px rgba(242,183,5,0)}}
@media (max-width:640px){
  .ruta-map{aspect-ratio:auto;height:440px}
  .ruta-st{width:96px}.ruta-st-btn{width:56px;height:56px;font-size:20px;border-width:4px}
  .ruta-st-name{font-size:.72rem}
  .ruta-pairs{grid-template-columns:1fr}
  .ruta-big{font-size:1.25rem}.ruta-voto{font-size:1.1rem}
  .ruta-final-score{font-size:3.6rem}
}
@media (prefers-reduced-motion:reduce){.ruta-pop,.ruta-st-btn.is-open{animation:none}.ruta-btn,.ruta-chip,.ruta-opt,.ruta-st-btn{transition:none}}

/* Ruta del Aspirante: el fondo del mapa ocupa todo; los íconos de las estaciones, no */
.ruta-map > svg{position:absolute;inset:0;width:100%;height:100%}
.ruta-map .ruta-st-btn svg{position:static;inset:auto;width:26px;height:26px;flex:none}
@media (max-width:640px){.ruta-map .ruta-st-btn svg{width:20px;height:20px}}

/* ===== Página Uniforme ===== */
.uf-hero{background:#102A5C;color:#fff;padding:64px 0 56px}
.uf-hero h1{margin:16px 0 14px;max-width:820px}
.uf-hero h1 span{color:#F2B705}
.uf-hero p{margin:0;font-size:1.15rem;line-height:1.6;max-width:680px;color:#DCE4F3}
.uf-sw{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.uf-sw span{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);padding:8px 14px;border-radius:999px;font-size:.9rem;font-weight:600}
.uf-sw i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.4)}
.uf-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:24px}
.uf-modes{display:flex;flex-wrap:wrap;gap:6px;background:#fff;padding:6px;border-radius:999px;box-shadow:0 4px 14px rgba(16,42,92,.08)}
.uf-modes button{min-height:44px;padding:0 18px;border-radius:999px;border:0;background:transparent;color:#1B3F8B;font:700 .95rem 'Public Sans',system-ui,sans-serif;cursor:pointer;transition:background .2s,color .2s}
.uf-modes button[aria-pressed=true]{background:#1B3F8B;color:#fff}
.uf-grid{display:flex;flex-wrap:wrap;gap:36px;align-items:flex-start}
.uf-fig-col{flex:1 1 320px;display:flex;flex-direction:column;align-items:center;gap:14px}
.uf-fig{position:relative;width:100%;max-width:360px;aspect-ratio:300/620}
.uf-fig > svg{width:100%;height:100%;display:block}
.uf-sway{transform-origin:50% 95%;animation:ufSway 6s ease-in-out infinite}
@keyframes ufSway{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}
.uf-part{transition:opacity .35s ease}
.uf-hs{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;border:3px solid #F2B705;background:#1B3F8B;color:#fff;font-family:'Archivo Black','Arial Black',sans-serif;font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:transform .25s ease,background .25s ease;animation:ufRing 2.2s ease-out infinite}
.uf-hs:hover{transform:translate(-50%,-50%) scale(1.12)}
.uf-hs.is-on{background:#C8102E;transform:translate(-50%,-50%) scale(1.12)}
@keyframes ufRing{0%{box-shadow:0 0 0 0 rgba(242,183,5,.75)}80%,100%{box-shadow:0 0 0 16px rgba(242,183,5,0)}}
.uf-note{margin:0;display:flex;gap:10px;align-items:flex-start;max-width:360px;font-size:.9rem;line-height:1.5;color:#4A5856;background:#fff;padding:12px 14px;border-radius:10px}
.uf-note svg{flex:none;margin-top:1px}
.uf-panel-col{flex:999 1 420px;min-width:0;display:flex;flex-direction:column;gap:18px}
.uf-panel{background:#fff;border-radius:16px;padding:28px;box-shadow:0 10px 30px rgba(16,42,92,.1);border-top:6px solid #C9B68C;display:flex;flex-direction:column;gap:14px;color:#1B2A28}
.uf-panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.uf-step{font-family:'Archivo Black','Arial Black',sans-serif;font-size:.8rem;letter-spacing:.08em;color:#C8102E}
.uf-where{font-size:.8rem;font-weight:700;color:#1F504A;background:#E3EFEC;padding:5px 10px;border-radius:999px}
.uf-panel h3{margin:0;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:1.9rem;line-height:1.1;color:#1B3F8B}
.uf-panel ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.uf-panel li{display:flex;gap:12px;align-items:flex-start;font-size:1.05rem;line-height:1.5}
.uf-panel li svg{flex:none;margin-top:3px}
.uf-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:6px}
.uf-nav button{min-height:46px;padding:0 20px;border-radius:10px;font:700 .95rem 'Public Sans',system-ui,sans-serif;cursor:pointer}
.uf-prev{border:2px solid #1B3F8B;background:#fff;color:#1B3F8B}
.uf-next{border:0;background:#1B3F8B;color:#fff}
.uf-check{display:flex;flex-direction:column;gap:10px}
.uf-check-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.95rem}
.uf-check-top span{font-weight:700;color:#1F504A}
.uf-bar{height:8px;border-radius:999px;background:#E2DCCB;overflow:hidden}
.uf-bar i{display:block;height:100%;width:0;border-radius:999px;background:#2E8B3E;transition:width .4s ease}
.uf-chips{display:flex;flex-wrap:wrap;gap:8px}
.uf-chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:4px 14px 4px 4px;border-radius:999px;cursor:pointer;font:700 .88rem 'Public Sans',system-ui,sans-serif;border:2px solid #D9D1BD;background:#fff;color:#1B2A28}
.uf-chip span{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;background:#E9E3D3;color:#1B2A28}
.uf-chip.is-seen span{background:#2E8B3E;color:#fff}
.uf-chip.is-on{border-color:#1B3F8B;background:#1B3F8B;color:#fff}
.uf-chip.is-on span{background:#F2B705;color:#102A5C}
.uf-when{list-style:none;padding:0;margin:22px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.uf-when li{background:#fff;border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:8px;box-shadow:0 6px 18px rgba(16,42,92,.06)}
.uf-when li>span{width:50px;height:50px;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Archivo Black','Arial Black',sans-serif;font-size:1.2rem}
.uf-when strong{font-size:1.15rem;color:#1B3F8B}
.uf-when p{margin:0;line-height:1.55;color:#4A5856}
.uf-never{margin:0;line-height:1.6;color:#7A1F34;background:#FBEDEE;padding:14px 18px;border-radius:10px}
.uf-quiz{background:#102A5C;color:#fff;padding:64px 0}
.uf-quiz .h2{color:#fff}
.uf-quiz-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.uf-quiz-top span{font-weight:700;background:rgba(255,255,255,.1);padding:10px 16px;border-radius:999px}
.uf-quiz-top button{min-height:44px;padding:0 18px;border-radius:999px;border:2px solid rgba(255,255,255,.5);background:transparent;color:#fff;font:700 .9rem 'Public Sans',system-ui,sans-serif;cursor:pointer}
.uf-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.uf-card{min-height:170px;box-sizing:border-box;border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:14px;border:2px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);transition:background .3s,border-color .3s}
.uf-card.is-ok{border-color:#2E8B3E;background:rgba(46,139,62,.18)}
.uf-card.is-bad{border-color:#C8102E;background:rgba(200,16,46,.16)}
.uf-card p{margin:0;font-size:1.05rem;font-weight:700;line-height:1.4}
.uf-yn{display:flex;gap:10px;margin-top:auto}
.uf-yn button{flex:1;min-height:46px;border-radius:10px;border:0;color:#fff;font:800 .95rem 'Public Sans',system-ui,sans-serif;cursor:pointer}
.uf-yes{background:#2E8B3E}.uf-no{background:#C8102E}
.uf-verdict{display:flex;flex-direction:column;gap:6px;margin-top:auto}
.uf-card.is-ok .uf-verdict strong{color:#7EE08F}.uf-card.is-bad .uf-verdict strong{color:#FF9A8A}
.uf-verdict span{font-size:.9rem;line-height:1.5;color:#DCE4F3}
.uf-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.uf-box{background:#fff;border-radius:16px;padding:26px;display:flex;flex-direction:column;gap:12px;box-shadow:0 6px 18px rgba(16,42,92,.08);color:#1B2A28}
.uf-box h3{margin:0;font-size:1.5rem;color:#1B3F8B}
.uf-box p{margin:0;line-height:1.6;color:#4A5856}
.uf-box .uf-strong{color:#1F504A;font-weight:600}
@media (max-width:640px){.uf-panel{padding:20px}.uf-panel h3{font-size:1.5rem}.uf-hs{width:38px;height:38px;font-size:14px}}
@media (prefers-reduced-motion:reduce){.uf-sway,.uf-hs{animation:none}.uf-part,.uf-bar i{transition:none}}
/* ===== Aula virtual: acceso (7B.2) ===== */
.au{background:#F4F1EA;padding:56px 0 72px}
.au-grid{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
.au-side{flex:1 1 300px;background:#102A5C;color:#DCE4F3;border-radius:18px;padding:32px;position:sticky;top:24px}
.au-tira{display:inline-block;font-family:'Archivo Black','Arial Black',sans-serif;font-size:.78rem;letter-spacing:.14em;color:#102A5C;background:#F2B705;padding:6px 12px;border-radius:6px}
.au-h1{margin:16px 0 12px;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:clamp(2rem,4vw,2.6rem);line-height:1.05;color:#fff}
.au-h1 span{color:#F2B705}
.au-side>p{margin:0 0 24px;line-height:1.6}
.au-pasos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.au-pasos li{display:flex;gap:14px;align-items:flex-start;padding:12px;border-radius:12px;background:rgba(255,255,255,.06)}
.au-pasos li.is-on{background:rgba(242,183,5,.16);box-shadow:inset 0 0 0 2px #F2B705}
.au-pasos b{flex:none;width:34px;height:34px;border-radius:50%;background:#1B3F8B;color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400}
.au-pasos li.is-on b{background:#F2B705;color:#102A5C}
.au-pasos span{display:flex;flex-direction:column;font-size:.92rem;line-height:1.45}
.au-pasos strong{color:#fff;font-size:1rem}
.au-card{flex:999 1 440px;min-width:0;background:#fff;border-radius:18px;padding:32px;box-shadow:0 10px 30px rgba(16,42,92,.1);border-top:6px solid #F2B705;color:#1B2A28}
.au-h2{margin:0 0 6px;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:1.7rem;line-height:1.15;color:#1B3F8B}
.au-sub{margin:0 0 20px;line-height:1.6;color:#4A5856}
.au-card a,.au-cursos a{color:#1B3F8B;font-weight:700}
.au-form{display:flex;flex-direction:column;gap:16px}
.au-fs{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 16px}
.au-fs legend{padding:0;margin-bottom:12px;font-family:'Archivo Black','Arial Black',sans-serif;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#C8102E}
.au-fs+.au-fs{padding-top:18px;border-top:1px solid #E9E3D3}
.au-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.au-full{grid-column:1/-1}
.au-f>span{font-weight:700;font-size:.92rem;color:#1B2A28}
.au-f input,.au-f select{width:100%;min-height:48px;padding:10px 14px;border:2px solid #D9D1BD;border-radius:10px;background:#fff;color:#1B2A28;font:500 1rem 'Public Sans',system-ui,sans-serif;box-sizing:border-box}
.au-f select:disabled{background:#F4F1EA;color:#7A8583}
.au-f input:focus,.au-f select:focus{outline:none;border-color:#1B3F8B;box-shadow:0 0 0 3px rgba(27,63,139,.18)}
.au-f [aria-invalid=true]{border-color:#C8102E}
.au-f small{font-size:.82rem;color:#6A7472;line-height:1.4}
.au-f em,.au-err{font-style:normal;font-size:.85rem;font-weight:600;color:#C8102E}
.au-js{display:none}
.au-js.is-on{display:flex}
.au-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.au-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:.92rem}
.au-check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;line-height:1.5;cursor:pointer}
.au-check input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:#1B3F8B}
.au-acepto{padding:14px;background:#F8F6F0;border-radius:10px}
.au-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 26px;border:0;border-radius:10px;background:#1B3F8B;color:#fff;font:800 1rem 'Public Sans',system-ui,sans-serif;cursor:pointer;transition:background .2s,transform .2s}
.au-btn:hover{background:#102A5C}
.au-btn:active{transform:translateY(1px)}
.au-btn:disabled{background:#C9CFDB;color:#4A5856;cursor:not-allowed}
.au-btn-claro{background:#fff;color:#1B3F8B}
.au-btn-claro:hover{background:#F2B705;color:#102A5C}
.au-link{border:0;background:none;padding:0;color:#1B3F8B;font:700 .95rem 'Public Sans',system-ui,sans-serif;text-decoration:underline;cursor:pointer}
.au-alert{margin:0 0 18px;padding:14px 16px;border-radius:10px;line-height:1.5;font-weight:600}
.au-alert-ok{background:#E5F3E8;color:#1E5E2B}
.au-alert-err{background:#FBEDEE;color:#7A1F34}
.au-reenviar{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.95rem;color:#4A5856}
.au-foot{margin:20px 0 0;font-size:.95rem}
.au-aviso{text-align:center;display:flex;flex-direction:column;align-items:center}
.au-aviso .au-form{width:100%;max-width:380px;text-align:left}
.au-aviso .au-reenviar{justify-content:center}
/* Mis cursos */
.au-hero{background:#102A5C;color:#DCE4F3;padding:48px 0 40px}
.au-hero-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px}
.au-hero .au-h1{margin-bottom:6px}
.au-hero p{margin:0;font-size:1.05rem}
.au-cursos{background:#F4F1EA}
.au-estado{display:flex;gap:16px;align-items:flex-start;background:#FFF6DA;border-left:6px solid #F2B705;border-radius:12px;padding:18px 20px;margin-bottom:28px}
.au-estado svg{flex:none}
.au-estado strong{font-size:1.1rem;color:#5C4300}
.au-estado p{margin:4px 0 0;line-height:1.55;color:#5C4300}
.au-cols{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}
.au-lista{flex:999 1 440px;min-width:0;display:flex;flex-direction:column;gap:16px}
.au-curso{background:#fff;border-radius:16px;padding:24px;box-shadow:0 6px 18px rgba(16,42,92,.08);border-left:6px solid #1B3F8B;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.au-curso-top{display:flex;flex-direction:column;gap:8px}
.au-curso h3{margin:0;font-size:1.3rem;line-height:1.25;color:#1B3F8B}
.au-curso p{margin:0;line-height:1.6;color:#4A5856}
.au-meta{display:flex;flex-wrap:wrap;gap:8px}
.au-meta span{font-size:.82rem;font-weight:700;color:#1F504A;background:#E3EFEC;padding:4px 10px;border-radius:999px}
.au-vacio{background:#fff;border-radius:16px;padding:28px;text-align:center;color:#4A5856}
.au-vacio strong{display:block;font-size:1.1rem;color:#1B2A28;margin-bottom:6px}
.au-vacio p{margin:0}
.au-perfil{flex:1 1 280px;background:#fff;border-radius:16px;padding:24px;box-shadow:0 6px 18px rgba(16,42,92,.08)}
.au-perfil h2{margin:0 0 14px;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:1.2rem;color:#1B3F8B}
.au-perfil dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 14px;font-size:.93rem}
.au-perfil dt{font-weight:700;color:#6A7472}
.au-perfil dd{margin:0;color:#1B2A28;min-width:0;overflow-wrap:anywhere}
.au-perfil small{color:#6A7472}
.au-chip{display:inline-block;padding:3px 10px;border-radius:999px;font-weight:700;font-size:.82rem;background:#E9E3D3;color:#1B2A28}
.au-chip.is-ok{background:#E5F3E8;color:#1E5E2B}
.au-chip.is-pend{background:#FFF0C2;color:#5C4300}
.au-nota{margin:16px 0 0;font-size:.85rem;line-height:1.5;color:#6A7472}
@media (max-width:640px){
  .au{padding:28px 0 48px}
  .au-side{position:static;padding:24px}
  .au-card{padding:22px}
  .au-hero-in form,.au-hero-in .au-btn{width:100%}
}
/* Generador de contraseña */
.au-gen{display:flex;flex-direction:column;gap:10px;padding:14px;border:2px dashed #D9D1BD;border-radius:12px;background:#FBFAF6}
.au-gen-top{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between}
.au-btn-sec{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:2px solid #1B3F8B;border-radius:10px;background:#fff;color:#1B3F8B;font:700 .95rem 'Public Sans',system-ui,sans-serif;cursor:pointer;transition:background .2s,color .2s}
.au-btn-sec:hover{background:#1B3F8B;color:#fff}
.au-gen-out{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.au-gen-out[hidden],.au-gen small[hidden]{display:none}
.au-gen-out code{font:700 1.15rem/1.3 ui-monospace,'SFMono-Regular',Consolas,monospace;letter-spacing:.06em;color:#102A5C;background:#FFF0C2;padding:8px 12px;border-radius:8px;overflow-wrap:anywhere;user-select:all}
.au-gen small{font-size:.85rem;line-height:1.45;color:#1E5E2B}
.au-robot{min-height:65px}
/* ===== fin aula 7B.2 ===== */
/* ===== Aula virtual: lecciones (7C) ===== */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.au-volver{display:inline-block;margin-bottom:14px;color:#DCE4F3;font-weight:700;text-decoration:none}
.au-volver:hover{color:#F2B705}
.au-hero-desc{margin:0 0 20px;max-width:760px;line-height:1.6}
.au-hero-avance{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.au-hero-avance .au-barra{flex:0 1 280px;background:rgba(255,255,255,.18)}
.au-btn-oro{background:#F2B705;color:#102A5C;text-decoration:none}
.au-btn-oro:hover{background:#fff;color:#102A5C}
a.au-btn{text-decoration:none}
.au-btn-sec{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:2px solid #1B3F8B;border-radius:10px;background:#fff;color:#1B3F8B;font:800 1rem 'Public Sans',system-ui,sans-serif;text-decoration:none}
.au-btn[aria-disabled=true]{background:#C9CFDB;color:#4A5856;cursor:not-allowed;pointer-events:none}
.au-barra{height:10px;border-radius:999px;background:#E2DCCB;overflow:hidden;position:relative}
.au-barra i{display:block;height:100%;border-radius:999px;background:#F2B705;transition:width .5s ease}
.au-cursos .au-barra i,.au-lec .au-barra i{background:#1B3F8B}
.au-barra i.is-ok{background:#2E8B3E}
.au-curso-avance{display:flex;align-items:center;gap:12px;width:100%}
.au-curso-avance .au-barra{flex:1}
.au-curso-avance span{font-size:.85rem;font-weight:700;color:#4A5856;white-space:nowrap}
.au-meta .au-meta-borrador{background:#FFF0C2;color:#5C4300}
.au-reglas{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:.92rem;line-height:1.5;color:#33413F}
/* Temario */
.au-temario{display:flex;flex-direction:column;gap:10px}
.au-mod{background:#fff;border-radius:12px;box-shadow:0 4px 14px rgba(16,42,92,.06);overflow:hidden}
.au-mod summary{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;list-style:none;font-weight:700;color:#1B2A28}
.au-mod summary::-webkit-details-marker{display:none}
.au-mod summary::after{content:'▾';margin-left:4px;color:#6A7472;transition:transform .2s}
.au-mod[open] summary::after{transform:rotate(180deg)}
.au-mod-n{flex:none;width:30px;height:30px;border-radius:50%;background:#1B3F8B;color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:.9rem}
.au-mod-t{flex:1;min-width:0}
.au-mod-c{font-size:.8rem;color:#6A7472;background:#F4F1EA;padding:3px 9px;border-radius:999px}
.au-mod ol{list-style:none;margin:0;padding:0 16px 12px;display:flex;flex-direction:column}
.au-mod li{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:8px;font-size:.94rem;line-height:1.35}
.au-mod li a{color:#1B3F8B;font-weight:600;text-decoration:none;flex:1;min-width:0}
.au-mod li a:hover{text-decoration:underline}
.au-mod li>span{flex:1;min-width:0}
.au-mod li small{flex:none;color:#6A7472;font-size:.8rem}
.au-mod li.is-lock{color:#8A8F8D}
.au-mod li.is-actual{background:#FFF6DA}
.au-mod li.is-actual a{color:#102A5C;font-weight:800}
.au-mod li em{font-style:normal;font-size:.8rem}
.au-ic{flex:none}
/* Página de lección */
.au-lec{background:#F4F1EA;padding:32px 0 64px}
.au-lec-grid{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}
.au-lec-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:18px}
.au-lec-side{flex:1 1 300px;display:flex;flex-direction:column;gap:12px;position:sticky;top:16px}
.au-lec-side-top{background:#102A5C;color:#DCE4F3;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px}
.au-lec-side-top a{color:#fff;text-decoration:none}
.au-lec-side-top .au-barra{background:rgba(255,255,255,.18)}
.au-lec-side-top .au-barra i{background:#F2B705}
.au-lec-side-top small{font-size:.82rem}
.au-migas{font-size:.88rem;color:#6A7472}
.au-migas a{color:#1B3F8B;font-weight:700}
.au-lec-t{margin:0;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.15;color:#102A5C}
.au-player{background:#0B1630;border-radius:14px;overflow:hidden;box-shadow:0 12px 30px rgba(16,42,92,.2)}
.au-player:fullscreen{display:flex;flex-direction:column;justify-content:center;border-radius:0}
.au-video{position:relative;aspect-ratio:16/9;background:#000}
.au-player:fullscreen .au-video{flex:1;aspect-ratio:auto}
.au-video iframe,.au-video #au-yt{position:absolute;inset:0;width:100%;height:100%;border:0}
.au-velo{position:absolute;inset:0;width:100%;height:100%;background:transparent;border:0;cursor:pointer;z-index:2}
.au-pausa{position:absolute;inset:auto 12px 12px 12px;z-index:3;background:rgba(200,16,46,.92);color:#fff;font-weight:700;padding:10px 14px;border-radius:8px;text-align:center}
.au-pausa[hidden]{display:none}
.au-ctrl{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#102A5C;color:#fff}
.au-play,.au-fullscr{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:#F2B705;color:#102A5C;display:flex;align-items:center;justify-content:center;cursor:pointer}
.au-fullscr{background:transparent;color:#fff;border-radius:8px}
.au-play:disabled{opacity:.5;cursor:wait}
.au-play .i-pausa,.au-play.is-on .i-play{display:none}
.au-play.is-on .i-pausa{display:block}
.au-pista{flex:1;min-width:60px;height:10px;border-radius:999px;background:rgba(255,255,255,.18);position:relative;cursor:pointer}
.au-pista i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;width:0}
.au-pista-max{background:#5D78AD}
.au-pista-pos{background:#F2B705}
.au-tiempo{flex:none;font:600 .88rem ui-monospace,Consolas,monospace;white-space:nowrap}
.au-vel select{min-height:36px;border-radius:8px;border:0;background:rgba(255,255,255,.14);color:#fff;font:700 .85rem 'Public Sans',system-ui,sans-serif;padding:0 8px}
.au-vel option{color:#1B2A28}
.au-reglas-l{margin:0;padding:8px 14px;background:#0B1630;color:#AEBBD6;font-size:.8rem}
.au-visto{background:#fff;border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.au-visto-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.au-visto-top strong{color:#1B3F8B}
.au-visto-top b{font-size:1.15rem;color:#102A5C}
.au-barra-visto{height:14px}
.au-barra-visto em{position:absolute;top:-3px;bottom:-3px;width:3px;background:#C8102E;border-radius:2px}
.au-visto small{color:#6A7472;font-size:.82rem}
.au-sinvideo{background:#fff;border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.au-sinvideo p{margin:0;color:#4A5856}
.au-sig{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.au-sig-r{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-left:auto}
.au-sig-msg{font-weight:700;color:#6A7472}
.au-sig-msg[hidden]{display:none}
.au-sig-msg.is-ok{color:#2E8B3E}
.au-material{background:#fff;border-radius:12px;padding:20px 22px;display:flex;flex-direction:column;gap:12px}
.au-material h2{margin:0;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:1.15rem;color:#1B3F8B}
.au-texto{line-height:1.65;color:#33413F}
.au-texto>*:first-child{margin-top:0}
.au-adjunto{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;padding:10px 16px;border-radius:10px;background:#E3EFEC;color:#1F504A;font-weight:700;text-decoration:none}
.au-adjunto:hover{background:#1F504A;color:#fff}
@media (max-width:640px){
  .au-lec{padding:20px 0 48px}
  .au-lec-side{position:static}
  .au-ctrl{gap:8px;padding:8px 10px}
  .au-tiempo{font-size:.78rem}
  .au-vel{display:none}
  .au-sig .au-btn,.au-sig .au-btn-sec{flex:1}
}
/* Botones-enlace: el color de los enlaces del aula no debe pisar el del botón */
.au-cursos a.au-btn,.au-lec a.au-btn,.au-card a.au-btn{color:#fff;font-weight:800}
.au-cursos a.au-btn:hover,.au-lec a.au-btn:hover{background:#102A5C;color:#fff}
.au-cursos a.au-btn-sec,.au-lec a.au-btn-sec{color:#1B3F8B}
.au-cursos a.au-btn-sec:hover,.au-lec a.au-btn-sec:hover{background:#1B3F8B;color:#fff}
.au-curso a.au-btn{align-self:flex-start}
/* ===== fin aula 7C ===== */
/* ===== Aula virtual: evaluaciones (7D) ===== */
.au-ev{background:#fff;border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:18px;align-items:flex-start;box-shadow:0 6px 18px rgba(16,42,92,.08)}
.au-ev-datos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;width:100%}
.au-ev-datos li{background:#F4F1EA;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.au-ev-datos b{font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:1.25rem;color:#102A5C}
.au-ev-datos span{font-size:.82rem;color:#6A7472}
.au-ev-estado{width:100%;border-radius:10px;padding:14px 16px;box-sizing:border-box}
.au-ev-estado p{margin:4px 0 0}
.au-ev-estado.is-ok{background:#E5F3E8;color:#1E5E2B}
.au-ev-estado.is-err{background:#FBEDEE;color:#7A1F34}
.au-ev-hist{width:100%;border-top:1px solid #E9E3D3;padding-top:14px}
.au-ev-hist h2{margin:0 0 8px;font-size:1rem;color:#1B3F8B}
.au-ev-hist ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.au-ev-hist li{display:flex;align-items:center;gap:12px;font-size:.92rem}
.au-ev-hist li span{flex:1}
.au-ev-hist b.is-ok{color:#2E8B3E}
.au-ev-hist b.is-err{color:#C8102E}
.au-ev .au-reglas{padding-left:18px}
.au-int{max-width:820px;display:flex;flex-direction:column;gap:18px}
.au-int-top{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;position:sticky;top:0;z-index:5;background:#F4F1EA;padding:10px 0}
.au-int-info{display:flex;align-items:center;gap:12px;font-size:.92rem;color:#4A5856}
.au-reloj{font:700 1.2rem ui-monospace,Consolas,monospace;background:#102A5C;color:#fff;padding:6px 12px;border-radius:8px}
.au-reloj.is-poco{background:#C8102E;animation:auLatido 1s ease-in-out infinite}
@keyframes auLatido{50%{opacity:.6}}
.au-preg{border:0;margin:0 0 14px;padding:20px;background:#fff;border-radius:14px;box-shadow:0 4px 14px rgba(16,42,92,.06);display:flex;flex-direction:column;gap:8px}
.au-preg legend{float:left;width:100%;padding:0;margin-bottom:10px;display:flex;gap:12px;font-weight:700;font-size:1.05rem;line-height:1.45;color:#1B2A28}
.au-preg legend span,.au-rev-q span{flex:none;width:30px;height:30px;border-radius:50%;background:#1B3F8B;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem}
.au-opc{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:2px solid #E2DCCB;border-radius:10px;cursor:pointer;line-height:1.45;transition:border-color .15s,background .15s}
.au-opc:hover{border-color:#1B3F8B}
.au-opc input{position:absolute;opacity:0;pointer-events:none}
.au-opc b{flex:none;width:28px;height:28px;border-radius:50%;border:2px solid #1B3F8B;color:#1B3F8B;display:flex;align-items:center;justify-content:center;font-size:.85rem}
.au-opc:has(input:checked){border-color:#1B3F8B;background:#EEF2FA}
.au-opc:has(input:checked) b{background:#1B3F8B;color:#fff}
.au-opc:has(input:focus-visible){outline:3px solid rgba(27,63,139,.35)}
.au-int-fin{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.au-int-fin p{margin:0;font-weight:700;color:#C8102E}
.au-int-fin p[hidden]{display:none}
.au-res{display:flex;gap:24px;align-items:center;flex-wrap:wrap;border-radius:16px;padding:24px;background:#fff;box-shadow:0 10px 30px rgba(16,42,92,.1);border-left:8px solid #F2B705}
.au-res.is-ok{border-left-color:#2E8B3E}
.au-res.is-err{border-left-color:#C8102E}
.au-res h1{margin:0 0 6px;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:1.7rem;color:#102A5C}
.au-res p{margin:0 0 6px;line-height:1.55;color:#4A5856}
.au-res-nota{flex:none;width:120px;height:120px;border-radius:50%;display:flex;align-items:baseline;justify-content:center;padding-top:34px;box-sizing:border-box;background:#F4F1EA}
.au-res.is-ok .au-res-nota{background:#E5F3E8;color:#1E5E2B}
.au-res.is-err .au-res-nota{background:#FBEDEE;color:#7A1F34}
.au-res-nota b{font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:2.6rem;line-height:1}
.au-res-nota span{font-weight:700}
.au-res-acc{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.au-rev{border-left:6px solid #E2DCCB}
.au-rev.is-ok{border-left-color:#2E8B3E}
.au-rev.is-err{border-left-color:#C8102E}
.au-rev-q{margin:0 0 6px;display:flex;gap:12px;font-weight:700;line-height:1.45}
.au-rev ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.au-rev li{padding:8px 12px;border-radius:8px;background:#F8F6F0;line-height:1.45}
.au-rev li b{margin-right:6px;color:#1B3F8B}
.au-rev li em{margin-left:8px;font-style:normal;font-weight:700;font-size:.85rem}
.au-rev li.es-mia{background:#FBEDEE}
.au-rev.is-ok li.es-mia,.au-rev li.es-correcta{background:#E5F3E8}
.au-rev-nota{margin:6px 0 0;font-size:.9rem;color:#4A5856;line-height:1.5}
.au-mod li.au-eval{border-top:1px dashed #E2DCCB;margin-top:4px}
.au-lec a.au-btn{align-self:flex-start}
/* ===== fin aula 7D ===== */
/* ===== Aula virtual: examen final y certificados (7E) ===== */
.au-hero-btns{display:flex;gap:10px;flex-wrap:wrap}
.au-hero-btns form{margin:0}
.au-hero a.au-btn-claro{text-decoration:none}
.au-final{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#fff;border-radius:12px;box-shadow:0 4px 14px rgba(16,42,92,.06);border-left:5px solid #C9A227;font-weight:700}
.au-final a{flex:1;color:#1B3F8B;text-decoration:none}
.au-final>span{flex:1;color:#8A8F8D}
.au-final small{color:#6A7472;font-size:.8rem;font-weight:600}
.au-final.is-actual{background:#FFF6DA}
.au-cert-link{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:12px;background:#102A5C;color:#F2B705 !important;font-weight:800;text-decoration:none}
.au-cert-link:hover{background:#1B3F8B}
.au-cert{display:flex;flex-wrap:wrap;align-items:center;gap:18px;background:#fff;border-radius:16px;padding:22px 24px;box-shadow:0 6px 18px rgba(16,42,92,.08);border-left:6px solid #C9A227;margin-bottom:14px}
.au-cert svg{flex:none}
.au-cert-info{flex:1 1 300px;min-width:0}
.au-cert-info h3{margin:0 0 6px;font-size:1.25rem;color:#1B3F8B}
.au-cert-info p{margin:0 0 4px;color:#4A5856;line-height:1.5}
.au-cert-cod b{font-family:ui-monospace,Consolas,monospace;letter-spacing:.05em;color:#102A5C}
.au-cert-acc{display:flex;gap:10px;flex-wrap:wrap}
.au-ver{max-width:720px}
.au-ver .au-card{flex:none;width:100%;box-sizing:border-box}
.au-ver-form{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.au-ver-form input{flex:1 1 220px;min-height:50px;padding:10px 14px;border:2px solid #D9D1BD;border-radius:10px;font:700 1.15rem ui-monospace,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;box-sizing:border-box}
.au-ver-form input:focus{outline:none;border-color:#1B3F8B;box-shadow:0 0 0 3px rgba(27,63,139,.18)}
.au-ver-res{display:flex;gap:14px;align-items:center;border-radius:12px;padding:16px 18px;margin-bottom:16px}
.au-ver-res strong{font-size:1.15rem}
.au-ver-res p{margin:4px 0 0}
.au-ver-res.is-ok{background:#E5F3E8;color:#1E5E2B}
.au-ver-res.is-err{background:#FBEDEE;color:#7A1F34;flex-direction:column;align-items:flex-start}
.au-ver-datos{margin:0 0 16px;display:grid;grid-template-columns:auto 1fr;gap:10px 18px;font-size:1rem}
.au-ver-datos dt{font-weight:700;color:#6A7472}
.au-ver-datos dd{margin:0;color:#1B2A28;overflow-wrap:anywhere}
.au-ver-datos code{font-size:.92rem;background:#F4F1EA;padding:2px 6px;border-radius:4px}
/* ===== fin aula 7E ===== */
/* ===== Aula virtual: perfil y privacidad ===== */
.au-legal{max-width:820px;line-height:1.7;color:#33413F}
.au-legal h2{margin:28px 0 8px;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:1.2rem;color:#1B3F8B}
.au-legal ul{padding-left:20px;display:flex;flex-direction:column;gap:6px}
.au-legal a{color:#1B3F8B;font-weight:700}
.au-perfil-grid{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.au-perfil-grid .au-card{flex:1 1 380px}
.au-perfil-grid .au-card:first-child{flex:2 1 480px}
.au-f input:disabled{background:#F4F1EA;color:#6A7472}
.au-acepto a{color:#1B3F8B;font-weight:700}
.foot-legal a{color:inherit;text-decoration:underline}
/* ===== fin aula pulido ===== */
/* ===== Historia: directores mundiales ===== */
.nav-dd{position:relative;display:inline-flex;align-items:center}
.nav-dd>a{display:inline-flex;align-items:center;gap:6px}
.nav-dd>a::after{content:'';width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s;opacity:.85}
.nav-dd:hover>a::after,.nav-dd:focus-within>a::after{transform:translateY(1px) rotate(-135deg)}
.nav-dd-menu{position:absolute;top:calc(100% + 14px);left:50%;z-index:60;width:310px;display:flex;flex-direction:column;gap:2px;padding:8px;background:#fff;border-radius:14px;border-top:4px solid #F2B705;box-shadow:0 18px 40px rgba(10,25,60,.28);opacity:0;visibility:hidden;transform:translate(-50%,-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s}
.nav-dd-menu::before{content:'';position:absolute;left:0;right:0;top:-22px;height:22px}
.nav-dd-menu::after{content:'';position:absolute;top:-11px;left:50%;width:14px;height:14px;background:#F2B705;transform:translateX(-50%) rotate(45deg);border-radius:2px;z-index:-1}
.nav-dd:hover .nav-dd-menu,.nav-dd:focus-within .nav-dd-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav .nav-dd-menu a{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:10px;color:#102A5C;text-decoration:none;white-space:normal;border-left:3px solid transparent;transition:background .15s,border-color .15s}
.nav .nav-dd-menu a:hover,.nav .nav-dd-menu a:focus-visible{background:#F4F1EA;border-left-color:#F2B705;outline:none}
.nav .nav-dd-menu a[aria-current=page]{background:#EEF2FA;border-left-color:#1B3F8B}
.nav-dd-ic{flex:none;width:36px;height:36px;border-radius:10px;background:#102A5C;color:#F2B705;display:flex;align-items:center;justify-content:center}
.nav-dd-tx{display:flex;flex-direction:column;gap:2px;line-height:1.25}
.nav-dd-tx strong{font-weight:800;font-size:.95rem;color:#102A5C}
.nav-dd-tx small{font-weight:500;font-size:.8rem;color:#6A7472}
@media (prefers-reduced-motion:reduce){.nav-dd-menu,.nav-dd>a::after{transition:none}}
.dm-hero{background:#102A5C;color:#DCE4F3;padding:40px 0 48px}
.dm-hero h1{margin:14px 0 12px;color:#fff;max-width:820px}
.dm-hero h1 span{color:#F2B705}
.dm-hero>.wrap>p{margin:0;font-size:1.1rem;line-height:1.6;max-width:720px}
.dm-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.dm-tabs a{padding:8px 16px;border-radius:999px;background:rgba(255,255,255,.1);color:#DCE4F3;font-weight:700;text-decoration:none;font-size:.92rem}
.dm-tabs a[aria-current=page]{background:#F2B705;color:#102A5C}
.dm-linea{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.dm-linea a{display:flex;flex-direction:column;gap:2px;height:100%;box-sizing:border-box;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.07);color:#fff;text-decoration:none;border-top:3px solid #F2B705;transition:background .2s}
.dm-linea a:hover{background:rgba(255,255,255,.16)}
.dm-linea b{font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;color:#F2B705;font-size:1.1rem}
.dm-linea span{font-weight:700;line-height:1.25}
.dm-linea small{color:#AEBBD6}
.dm-lista{background:#F4F1EA}
.dm-nota{max-width:820px;margin:0 0 28px;line-height:1.6;color:#4A5856}
.dm-card{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;background:#fff;border-radius:18px;padding:24px;margin-bottom:20px;box-shadow:0 8px 24px rgba(16,42,92,.08);border-left:6px solid #1B3F8B;scroll-margin-top:20px}
.dm-foto{flex:0 0 210px;max-width:100%}
.dm-foto figure,.dm-foto2{margin:0}
.dm-foto img{display:block;width:100%;max-height:300px;object-fit:cover;border-radius:12px;background:#E9E3D3}
.dm-foto figcaption,.dm-foto2 figcaption{margin-top:6px;font-size:.78rem;line-height:1.4;color:#6A7472}
.dm-inicial{width:100%;aspect-ratio:4/5;border-radius:12px;background:linear-gradient(160deg,#1B3F8B,#102A5C);color:#F2B705;display:flex;align-items:center;justify-content:center;font-family:'Archivo Black','Arial Black',sans-serif;font-size:3.4rem}
.dm-cuerpo{flex:1 1 380px;min-width:0}
.dm-cab{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.dm-num{flex:none;width:52px;height:52px;border-radius:50%;background:#F2B705;color:#102A5C;display:flex;align-items:center;justify-content:center;font-family:'Archivo Black','Arial Black',sans-serif;font-size:1.05rem}
.dm-cab h2{margin:0;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:1.6rem;line-height:1.15;color:#102A5C}
.dm-meta{margin:6px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.dm-meta span{font-size:.82rem;font-weight:700;padding:4px 10px;border-radius:999px;background:#E3EFEC;color:#1F504A}
.dm-meta span:first-child{background:#102A5C;color:#fff}
.dm-resumen{margin:0;font-size:1.05rem;line-height:1.65;color:#33413F}
.dm-mas{margin-top:14px}
.dm-mas summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-weight:800;color:#1B3F8B;list-style:none;padding:8px 14px;border:2px solid #1B3F8B;border-radius:10px}
.dm-mas summary::-webkit-details-marker{display:none}
.dm-mas summary::after{content:'▾';transition:transform .2s}
.dm-mas[open] summary::after{transform:rotate(180deg)}
.dm-mas[open] summary{margin-bottom:14px}
.dm-mas dl{margin:0;display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:10px 18px}
.dm-mas dt{font-weight:800;color:#C8102E;font-size:.9rem}
.dm-mas dd{margin:0;line-height:1.6;color:#33413F}
.dm-mas blockquote{margin:18px 0 0;padding:14px 18px;border-left:4px solid #F2B705;background:#FFF6DA;border-radius:8px;font-size:1.05rem;font-style:italic;color:#102A5C}
.dm-mas blockquote cite{display:block;margin-top:6px;font-size:.85rem;font-style:normal;color:#6A7472}
.dm-foto2{margin-top:18px;max-width:420px}
.dm-foto2 img{display:block;width:100%;border-radius:12px}
.dm-fuentes{margin:16px 0 0;font-size:.82rem;line-height:1.6;color:#6A7472}
.dm-fuentes a{color:#1B3F8B}
.dm-volver{margin:28px 0 0}
.dm-volver a,.dm-cta a{color:#1B3F8B;font-weight:800}
.dm-cta{background:#102A5C;color:#DCE4F3;padding:44px 0}
.dm-cta .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.dm-cta h2{margin:0 0 6px;color:#fff;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:1.6rem}
.dm-cta p{margin:0}
.dm-cta a.dm-cta-btn{display:inline-flex;align-items:center;min-height:50px;padding:0 24px;border-radius:10px;background:#F2B705;color:#102A5C;text-decoration:none}
@media (max-width:640px){
  .dm-foto{flex-basis:100%}
  .dm-foto img{max-height:340px}
  .dm-mas dl{grid-template-columns:1fr;gap:2px}
  .dm-mas dd{margin-bottom:10px}
}
/* ===== fin historia directores ===== */
/* ===== Aula virtual: ajustes para celular ===== */
.au-side,.au-lec-side{position:static}
@media (min-width:960px){.au-side{position:sticky;top:24px}.au-lec-side{position:sticky;top:16px}}
.au-card,.au-perfil,.au-curso,.au-ev,.au-preg,.au-cert{box-sizing:border-box;max-width:100%}
.au-f,.au-fs,.au-form{min-width:0}
/* Formulario sin cuadrícula: Safari (iPhone) no ordena bien un fieldset con grid */
.au-fs{display:block;min-inline-size:0;width:100%;box-sizing:border-box;margin:0;padding:0;border:0}
.au-fs>.au-fs-t{display:block;width:100%;margin:0 0 12px;font-family:'Archivo Black','Arial Black',sans-serif;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#C8102E}
.au-fs>*:not(.au-fs-t){margin:0 0 14px}
.au-fs>.au-f{display:flex;width:100%}
.au-fs>.au-f.au-js{display:none}
.au-fs>.au-f.au-js.is-on{display:flex}
.au-fs>.au-gen{display:flex;width:100%;box-sizing:border-box}
.au-fs+.au-fs{padding-top:18px}
@media (min-width:700px){
  .au-fs{display:flex;flex-wrap:wrap;column-gap:16px;align-content:flex-start}
  .au-fs>.au-fs-t{flex:0 0 100%}
  .au-fs>.au-f{flex:1 1 calc(50% - 8px);width:auto;min-width:0}
  .au-fs>.au-full,.au-fs>.au-gen{flex:0 0 100%}
}
.au-f input,.au-f select{max-width:100%}
.au-robot{max-width:100%;overflow:hidden}
@media (max-width:640px){
  .au{padding:20px 0 40px}
  .au-grid{gap:18px}
  .au-side{padding:20px;border-radius:14px}
  .au-side>p{margin-bottom:16px}
  .au-pasos{gap:8px}
  .au-pasos li{padding:10px}
  .au-card{padding:20px 16px;border-radius:14px}
  .au-h2{font-size:1.4rem}
  .au-gen{padding:12px}
  .au-gen-top{flex-direction:column;align-items:stretch}
  .au-btn-sec{justify-content:center;width:100%}
  .au-form>.au-btn,.au-form .au-btn{width:100%}
  .au-row{flex-direction:column;align-items:flex-start}
  .au-reenviar{flex-direction:column;align-items:flex-start}
  .au-hero-btns{width:100%}
  .au-hero-btns .au-btn{flex:1}
}
.au-fs+.au-fs{border-top:1px solid #E9E3D3;margin-top:4px}
.au-f>span,.au-f>small,.au-f>em{display:block;position:static}
/* ===== fin aula ajustes celular ===== */
/* ===== Aula virtual: vigencia de certificados ===== */
.au-ver-res.is-venc{background:#FFF1E0;color:#7A4100}
.au-chip.is-venc{background:#FDE2C4;color:#8A3B00;margin-left:6px}
.au-cert-cod .au-chip{margin-left:6px}
/* ===== fin aula vigencia ===== */
/* ===== Clases: páginas y trivias ===== */
.nav .nav-dd-menu .nav-dd-sep{height:1px;background:#E6DFCE;margin:4px 8px}
.nav-dd-ic.nav-dd-clase{background:transparent;border:0;border-radius:50%;overflow:visible}
.nav-dd-ic.nav-dd-clase img{width:36px;height:36px;object-fit:contain;display:block}
.nav-dd-menu.nav-dd-clases{width:300px}
.cl-hero{background:#102A5C;color:#DCE4F3;padding:26px 0 0;border-top:6px solid var(--clase)}
.cl-volver{display:inline-block;margin-bottom:14px;color:#F2B705;font-weight:700;text-decoration:none}
.cl-volver:hover{text-decoration:underline}
.cl-hero-in{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.cl-logo{width:104px;height:104px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
.cl-tira{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.8rem;letter-spacing:.14em;color:#fff}
.cl-tira::before{content:'';width:12px;height:12px;border-radius:50%;background:var(--clase);box-shadow:0 0 0 2px #fff}
.cl-hero h1{margin:6px 0 6px;color:#fff;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:clamp(2.2rem,6vw,3.4rem);line-height:1}
.cl-hero-in p{margin:0;font-size:1.02rem}
.cl-otras{display:flex;gap:8px;overflow-x:auto;padding:22px 0 18px;scrollbar-width:thin}
.cl-otras a{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.1);color:#DCE4F3;text-decoration:none;font-weight:700;font-size:.92rem}
.cl-otras a i{width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 0 2px rgba(255,255,255,.7)}
.cl-otras a:hover{background:rgba(255,255,255,.18)}
.cl-otras a[aria-current=page]{background:#fff;color:#102A5C}
.cl-main{background:#F4F1EA;padding:28px 0 56px}
.cl-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.cl-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.cl-tabs button{min-height:44px;padding:0 18px;border-radius:999px;border:2px solid #102A5C;background:transparent;color:#102A5C;font:inherit;font-weight:800;cursor:pointer}
.cl-tabs button[aria-selected=true]{background:#102A5C;color:#fff}
.cl-sec{background:#fff;border-radius:16px;margin-bottom:14px;box-shadow:0 6px 18px rgba(16,42,92,.07);border-left:6px solid var(--clase);overflow:hidden}
.cl-sec summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;list-style:none}
.cl-sec summary::-webkit-details-marker{display:none}
.cl-sec-t{font-weight:800;font-size:1.08rem;color:#102A5C}
.cl-sec-n{flex:none;min-width:30px;height:30px;padding:0 8px;box-sizing:border-box;border-radius:999px;background:#EEF2FA;color:#102A5C;font-weight:800;font-size:.85rem;display:inline-flex;align-items:center;justify-content:center}
.cl-sec summary::after{content:'';flex:none;width:8px;height:8px;border-right:2px solid #102A5C;border-bottom:2px solid #102A5C;transform:rotate(45deg);transition:transform .2s;margin-left:4px}
.cl-sec[open] summary::after{transform:rotate(-135deg)}
.cl-sec ol{margin:0;padding:0 22px 16px 40px;line-height:1.6;color:#33413F}
.cl-sec li{margin-bottom:8px}
.cl-jugar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px 16px;background:#FBF8F1;border-top:1px dashed #E0D7C2}
.cl-jugar-t{font-weight:800;font-size:.85rem;color:#6A7472;width:100%}
.cl-chip{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:6px 12px;border-radius:12px;background:#fff;border:2px solid var(--m);color:var(--m);text-decoration:none;box-sizing:border-box;max-width:100%}
.cl-chip span{display:flex;flex-direction:column;line-height:1.2}
.cl-chip b{color:#102A5C;font-size:.95rem}
.cl-chip small{color:#5A6563;font-size:.78rem}
a.cl-chip:hover{background:var(--m);color:#fff}
a.cl-chip:hover b,a.cl-chip:hover small{color:#fff}
.cl-pronto{flex:none;font-style:normal;font-weight:800;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:#FFF0C2;color:#5C4300}
.cl-fuente{margin:18px 0 0;font-size:.88rem;color:#6A7472}
.cl-aside{display:none}
.cl-tv{display:flex;flex-direction:column;gap:12px}
.cl-tv-cab{display:flex;flex-direction:column;gap:2px}
.cl-tv-tira{font-weight:800;font-size:.75rem;letter-spacing:.14em;color:#B85A0E}
.cl-tv-cab strong{font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:1.3rem;color:#102A5C;line-height:1.15}
.cl-tv-cab small{color:#6A7472;font-weight:600}
.cl-tv-reto{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:14px;background:#102A5C;color:#DCE4F3}
.cl-tv-reto div{flex:1;display:flex;flex-direction:column;gap:2px;line-height:1.3}
.cl-tv-reto small{font-weight:800;font-size:.7rem;letter-spacing:.12em;color:#F2B705}
.cl-tv-reto b{color:#fff}
.cl-tv-reto span{font-size:.82rem}
.cl-tv-reto .cl-tv-ic{--m:#B85A0E;background:#FFB020;color:#102A5C}
.cl-tv-ic{flex:none;width:38px;height:38px;border-radius:11px;background:var(--m);color:#fff;display:flex;align-items:center;justify-content:center}
.cl-tv-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.cl-tv-j{display:flex;align-items:center;gap:10px;min-height:52px;padding:7px 10px;border-radius:12px;background:#fff;border:1px solid #E6DFCE;color:#102A5C;text-decoration:none;box-sizing:border-box}
a.cl-tv-j:hover{border-color:#102A5C;background:#F8FAFE}
.cl-tv-tx{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
.cl-tv-tx b{font-size:.92rem}
.cl-tv-tx small{color:#5A6563;font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl-tv-nota{margin:2px 0 0;font-size:.8rem;line-height:1.45;color:#6A7472}
.cl-barra{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(244,241,234,.96);box-shadow:0 -6px 18px rgba(16,42,92,.14)}
.cl-barra button{width:100%;min-height:56px;display:flex;align-items:center;gap:12px;padding:0 16px;border:0;border-radius:16px;background:#102A5C;color:#fff;font:inherit;cursor:pointer;border-bottom:4px solid var(--clase);text-align:left}
.cl-barra button span{flex:1;display:flex;flex-direction:column;line-height:1.2}
.cl-barra button small{color:#C9D5EE;font-size:.8rem}
.cl-barra button>svg:first-child{color:#FFB020}
body:has(.cl-barra){padding-bottom:84px}
.cl-hoja{width:100%;max-width:520px;max-height:86vh;margin:auto auto 0;padding:0;border:0;border-radius:22px 22px 0 0;background:#F4F1EA;box-sizing:border-box}
.cl-hoja::backdrop{background:rgba(10,20,45,.55)}
.cl-hoja-in{position:relative;padding:22px 16px 24px}
.cl-hoja-x{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;border-radius:12px;background:#E6DFCE;color:#102A5C;font-size:1.6rem;line-height:1;cursor:pointer}
@media (min-width:960px){
  .cl-grid{grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:28px}
  .cl-aside{display:block;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto;background:#fff;border-radius:18px;padding:18px 14px;box-shadow:0 8px 24px rgba(16,42,92,.09);border-top:5px solid #FFB020}
  .cl-aside .cl-tv-j{background:#FBF8F1}
  .cl-barra,.cl-hoja{display:none}
  body:has(.cl-barra){padding-bottom:0}
}
@media (max-width:640px){
  .cl-logo{width:80px;height:80px}
  .cl-sec ol{padding-left:34px;padding-right:16px}
  .cl-chip{width:100%}
}
/* ===== fin clases trivias ===== */
/* ===== Trivias: juegos ===== */
a.cl-tv-reto{text-decoration:none;transition:transform .15s}
a.cl-tv-reto:hover{transform:translateY(-2px)}
.cl-hecho,.cl-jugar-ya{flex:none;font-style:normal;font-weight:800;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:999px}
.cl-hecho{background:#7EE2A0;color:#0E3D1E}
.cl-jugar-ya{background:#FFB020;color:#102A5C}
.cl-tv-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.cl-tv-stats span{display:flex;flex-direction:column;align-items:center;padding:8px 4px;border-radius:12px;background:#EEF2FA;color:#102A5C;line-height:1.15;text-align:center}
.cl-tv-stats b{font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:1.1rem}
.cl-tv-stats i{font-style:normal;color:#B88A00}
.cl-tv-stats small{font-size:.7rem;color:#4A5856;font-weight:700}
.cl-tv-est{flex:none;color:#E0A800;font-size:1rem;letter-spacing:1px}
.cl-tv-est i{font-style:normal;color:#D9D1BD}
.cl-tv-play{flex:none;color:#102A5C}
.tv{background:#F4F1EA;padding:20px 0 56px}
.tv-in{max-width:640px;margin:0 auto;padding:0 16px;box-sizing:border-box}
.tv-cab{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.tv-volver{color:#1B3F8B;font-weight:800;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.tv-volver:hover{text-decoration:underline}
.tv-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--m);color:#fff;font-weight:800;font-size:.8rem}
.tv-h1{margin:6px 0 4px;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:clamp(1.6rem,5vw,2.3rem);line-height:1.1;color:#102A5C}
.tv-tema{margin:0 0 14px;color:#4A5856;font-weight:600}
.tv-escena{border-radius:20px;overflow:hidden;box-shadow:0 8px 22px rgba(16,42,92,.14);border-bottom:5px solid var(--clase);background:#fff}
.tv-svg{display:block;width:100%;height:auto}
.tv-svg [data-tv],.tv-svg [data-tv-pieza],.tv-svg [data-tv-vida],.tv-svg [data-tv-bateria]{transition:transform .6s ease,opacity .5s ease,r .6s ease,width .6s ease}
.tv-hud{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:14px 0 8px;font-weight:800;color:#102A5C;flex-wrap:wrap}
.tv-racha{padding:3px 10px;border-radius:999px;background:#FFE1B5;color:#7A3A00}
.tv-barra{height:10px;border-radius:999px;background:#E6DFCE;overflow:hidden;margin-bottom:16px}
.tv-barra i{display:block;height:100%;width:0;background:var(--m);border-radius:999px;transition:width .5s ease}
.tv-q{margin:0 0 14px;font-size:1.35rem;line-height:1.3;color:#14213D}
.tv-ops{display:flex;flex-direction:column;gap:10px}
.tv-op{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px 14px;border:2px solid #E6DFCE;border-radius:16px;background:#fff;box-shadow:0 3px 0 #E6DFCE;font:inherit;font-size:1.02rem;font-weight:700;color:#14213D;text-align:left;cursor:pointer;transition:transform .1s,border-color .15s}
.tv-op:hover:not(:disabled){border-color:var(--m)}
.tv-op:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #E6DFCE}
.tv-op:focus-visible{outline:3px solid #F2B705;outline-offset:2px}
.tv-op:disabled{cursor:default;opacity:.55}
.tv-op.is-ok{opacity:1;background:#E2F2E6;border-color:#23753A;box-shadow:0 3px 0 #23753A}
.tv-op.is-mal{opacity:1;background:#FBE7EA;border-color:#B00E28;box-shadow:0 3px 0 #B00E28}
.tv-letra{flex:none;width:34px;height:34px;border-radius:10px;background:#EEF2FA;color:#1B3F8B;display:flex;align-items:center;justify-content:center;font-weight:800}
.tv-op.is-ok .tv-letra{background:#23753A;color:#fff}
.tv-op.is-mal .tv-letra{background:#B00E28;color:#fff}
.tv-txt{flex:1;min-width:0}
.tv-fb{margin-top:14px;padding:16px;border-radius:16px;display:flex;flex-direction:column;gap:6px}
.tv-fb.is-ok{background:#E2F2E6;color:#17542A}
.tv-fb.is-mal{background:#FFF1E0;color:#6B3500}
.tv-fb strong{font-size:1.1rem}
.tv-fb p{margin:0;line-height:1.5;color:#14213D}
.tv-fb small{font-weight:700}
.tv-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:0;border-radius:14px;background:#102A5C;color:#fff;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;box-sizing:border-box}
.tv-btn:hover{background:#1B3F8B;color:#fff}
.tv-btn:focus-visible{outline:3px solid #F2B705;outline-offset:2px}
.tv-fb .tv-btn{align-self:flex-start;margin-top:6px}
.tv-btn-sec{background:transparent;color:#102A5C;border:2px solid #102A5C}
.tv-btn-sec:hover{background:#102A5C;color:#fff}
.tv-fin{margin-top:18px;padding:24px 18px;border-radius:20px;background:#fff;text-align:center;box-shadow:0 8px 22px rgba(16,42,92,.1);scroll-margin-top:16px}
.tv-estrellas{display:flex;justify-content:center;gap:6px}
.tv-fin h2{margin:8px 0 4px;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;color:#102A5C;font-size:1.7rem}
.tv-fin p{margin:0 0 6px;font-weight:700;color:#4A5856}
.tv-fin-g{min-height:1.4em}
.tv-fin-g a{color:#1B3F8B}
.tv-fin-acc{display:flex;flex-direction:column;gap:10px;margin-top:14px}
@media (min-width:560px){.tv-fin-acc{flex-direction:row;flex-wrap:wrap;justify-content:center}}
@media (prefers-reduced-motion:reduce){.tv-svg [data-tv],.tv-svg [data-tv-pieza],.tv-barra i{transition:none}}
/* ===== fin trivias juegos ===== */
/* ===== Ideales y clases ===== */
.tv [hidden]{display:none !important}
.id-hero .cl-otras a i{box-shadow:0 0 0 2px rgba(255,255,255,.5)}
.id-intro{margin:0 0 18px;font-size:1.05rem;line-height:1.6;color:#33413F;max-width:70ch}
.id-card{background:#fff;border-radius:16px;padding:18px 20px;margin-bottom:14px;box-shadow:0 6px 18px rgba(16,42,92,.07);border-left:6px solid #F2B705;scroll-margin-top:16px}
.id-card-cab{display:flex;align-items:center;gap:12px}
.id-num{flex:none;width:36px;height:36px;border-radius:50%;background:#102A5C;color:#F2B705;display:flex;align-items:center;justify-content:center;font-family:'Archivo Black','Arial Black',sans-serif;font-size:.95rem}
.id-card h2{margin:0;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:1.35rem;color:#102A5C}
.id-texto{margin:12px 0 0;padding:12px 16px;border-radius:10px;background:#FFF6DA;font-size:1.12rem;line-height:1.55;font-style:italic;color:#102A5C}
.id-explica{margin:12px 0 0;line-height:1.6;color:#33413F}
.id-mas{margin-top:12px}
.id-mas summary{display:inline-flex;align-items:center;gap:6px;min-height:44px;cursor:pointer;font-weight:800;color:#1B3F8B;list-style:none}
.id-mas summary::-webkit-details-marker{display:none}
.id-mas summary::after{content:'▾';transition:transform .2s}
.id-mas[open] summary::after{transform:rotate(180deg)}
.id-mas dl{margin:6px 0 0;display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:10px 16px}
.id-mas dt{font-weight:800;color:#C8102E}
.id-mas dd{margin:0;line-height:1.55;color:#33413F}
.id-h2{margin:28px 0 12px;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:1.5rem;color:#102A5C;scroll-margin-top:16px}
.id-clases{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.id-clase{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:#fff;text-decoration:none;color:#102A5C;box-shadow:0 4px 12px rgba(16,42,92,.07);border-bottom:4px solid var(--c);transition:transform .15s}
.id-clase:hover{transform:translateY(-2px)}
.id-clase img{width:52px;height:52px;object-fit:contain}
.id-clase span{display:flex;flex-direction:column;line-height:1.25}
.id-clase small{color:#5A6563}
.id-tv-grupo{margin:6px 0 -4px;font-weight:800;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#6A7472}
.id-paso{font-family:'Archivo Black','Arial Black',sans-serif;font-size:1rem}
.id-zona{min-height:120px}
.id-pide{margin:4px 0 12px;font-weight:800;font-size:1.15rem;color:#14213D;line-height:1.35}
.id-ayuda{margin:0 0 10px;color:#5A6563;font-size:.92rem}
.id-elige{display:flex;flex-wrap:wrap;gap:10px}
.id-cartas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.id-carta{min-height:96px;padding:8px;border:0;border-radius:14px;background:#102A5C;color:#F2B705;font:inherit;font-weight:800;font-size:.86rem;line-height:1.25;cursor:pointer;box-shadow:0 4px 0 #0A1B3D;transition:transform .2s,background .2s}
.id-carta span{display:block}
.id-carta:not(.is-abierta):not(.is-hecha) span{font-size:1.8rem}
.id-carta.is-abierta{background:#fff;color:#102A5C;box-shadow:0 4px 0 #D9D1BD}
.id-carta.is-abierta.is-texto{font-weight:600;font-style:italic}
.id-carta.is-hecha{background:#E2F2E6;color:#17542A;box-shadow:0 4px 0 #23753A;cursor:default}
.id-frase{margin:0 0 14px;padding:14px 16px;border-radius:12px;background:#fff;font-size:1.1rem;line-height:2;color:#14213D;box-shadow:0 4px 12px rgba(16,42,92,.06)}
.id-hueco{display:inline-block;min-width:70px;padding:0 6px;border-bottom:3px solid #C9BFA8;text-align:center;color:#8A94A6;line-height:1.5}
.id-hueco.is-ok{color:#17542A;border-color:#23753A;font-weight:800}
.id-hueco.is-tarde{color:#7A4100;border-color:#D9822B;font-weight:800}
.id-fichas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.id-ficha{min-height:46px;padding:8px 14px;border:2px solid #E6DFCE;border-radius:12px;background:#fff;box-shadow:0 3px 0 #E6DFCE;font:inherit;font-weight:700;color:#14213D;cursor:pointer}
.id-ficha:hover:not(:disabled){border-color:var(--m)}
.id-ficha.is-usada{opacity:.35;cursor:default}
.id-linea{min-height:52px;margin:0 0 14px;padding:12px 14px;border-radius:12px;background:#fff;border:2px dashed #C9BFA8;line-height:2;color:#14213D}
.id-linea.es-lista{padding-left:40px}
.id-linea.es-lista li{line-height:1.6;margin:2px 0}
.id-puesta{font-weight:800;color:#17542A}
.id-puesta.is-tarde{color:#7A4100}
.id-sacude{animation:id-sacude .35s}
@keyframes id-sacude{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.id-oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.id-txt{width:100%;box-sizing:border-box;margin-bottom:12px;padding:12px 14px;border:2px solid #D9D1BD;border-radius:12px;font:inherit;font-size:1.05rem;line-height:1.5;resize:vertical}
.id-txt:focus{outline:none;border-color:#1B3F8B;box-shadow:0 0 0 3px rgba(27,63,139,.18)}
.id-w-ok{color:#17542A;font-weight:800}
.id-w-mal{color:#B00E28;text-decoration:underline wavy}
.id-insignia{display:inline-block;margin:6px 0;padding:8px 16px;border-radius:999px;background:#102A5C;color:#F2B705 !important;font-weight:800}
.id-une{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.id-col{display:flex;flex-direction:column;gap:8px}
.id-u{display:flex;align-items:center;gap:8px;min-height:52px;padding:6px 10px;border:2px solid #E6DFCE;border-radius:12px;background:#fff;font:inherit;font-weight:700;font-size:.92rem;color:#14213D;text-align:left;cursor:pointer;line-height:1.2}
.id-u img{flex:none;width:28px;height:28px;object-fit:contain}
.id-u.is-sel{border-color:#1B3F8B;box-shadow:0 0 0 3px rgba(27,63,139,.2)}
.id-u.is-ok{border-color:#23753A;background:#E2F2E6;cursor:default}
.id-u.es-color{justify-content:center}
.id-u.es-color i{display:block;width:100%;height:28px;border-radius:8px;background:var(--c)}
.id-vf-a{margin:0 0 12px;padding:14px 16px;border-radius:12px;background:#fff;font-size:1.15rem;font-weight:800;color:#102A5C;box-shadow:0 4px 12px rgba(16,42,92,.06)}
.id-vf-t{height:8px;border-radius:999px;background:#E6DFCE;overflow:hidden;margin-bottom:12px}
.id-vf-t i{display:block;height:100%;width:100%;background:#D9822B}
.id-vf{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.id-vf-b{min-height:64px;border:0;border-radius:16px;font:inherit;font-weight:800;font-size:1.1rem;color:#fff;cursor:pointer}
.id-vf-b.es-v{background:#23753A;box-shadow:0 4px 0 #17542A}
.id-vf-b.es-f{background:#B00E28;box-shadow:0 4px 0 #7E0A1D}
.id-vf-b:disabled{opacity:.5;cursor:default}
.id-vf-fb{margin:12px 0 0;padding:10px 14px;border-radius:12px;font-weight:800}
.id-vf-fb.is-ok{background:#E2F2E6;color:#17542A}
.id-vf-fb.is-mal{background:#FFF1E0;color:#6B3500}
@media (max-width:640px){
  .id-mas dl{grid-template-columns:1fr;gap:2px}
  .id-mas dd{margin-bottom:10px}
  .id-carta{min-height:86px;font-size:.8rem}
}
@media (prefers-reduced-motion:reduce){.id-sacude{animation:none}.id-carta{transition:none}}
/* ===== fin ideales y clases ===== */
/* ===== Estudio del instructor ===== */
.es{background:#F4F1EA;padding:28px 0 56px;color:#14213D}
.es [hidden]{display:none !important}
.es-in{display:flex;flex-direction:column;gap:20px}
.es-cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}
.es-tira{font-weight:800;font-size:.78rem;letter-spacing:.14em;color:#B85A0E}
.es-cab h1{margin:6px 0 6px;font-family:'Archivo Black','Arial Black',sans-serif;font-weight:400;font-size:clamp(1.7rem,4vw,2.3rem);color:#102A5C}
.es-cab p{margin:0;max-width:62ch;line-height:1.55;color:#4A5568}
.es-cab-acc{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.es-cab-acc form{margin:0}
.es-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border:0;border-radius:12px;background:#102A5C;color:#fff;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;box-sizing:border-box}
.es-btn:hover{background:#1B3F8B;color:#fff}
.es-btn:disabled{opacity:.45;cursor:not-allowed}
.es-btn:focus-visible,.es-mini:focus-visible,.es-ctl:focus-visible,.es-opc button:focus-visible{outline:3px solid #F2B705;outline-offset:2px}
.es-btn-sec{background:transparent;color:#102A5C;border:2px solid #102A5C}
.es-btn-sec:hover{background:#102A5C;color:#fff}
.es-btn-rec{background:#C8102E;box-shadow:0 4px 0 #8A0B20}
.es-btn-rec:hover{background:#A80D26}
.es-btn-rec span{width:12px;height:12px;border-radius:50%;background:#fff}
.es-btn-stop{background:#C8102E}
.es-btn-stop span{width:12px;height:12px;border-radius:2px;background:#fff}
.es-btn-stop:hover{background:#A80D26}
.es-ok,.es-err,.es-aviso{padding:12px 16px;border-radius:12px;font-weight:700}
.es-ok{background:#E2F2E6;color:#17542A}
.es-err,.es-aviso{background:#FBE7EA;color:#8A0B20}
.es-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
@media (min-width:900px){.es-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}}
.es-card{background:#fff;border-radius:16px;padding:18px;box-shadow:0 6px 18px rgba(16,42,92,.07);display:flex;flex-direction:column;gap:10px}
.es-card h2{margin:0 0 4px;font-size:1.1rem;font-weight:800;color:#102A5C}
.es-curso{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;background:#F4F1EA}
.es-curso span{color:#5A6563;font-size:.9rem;white-space:nowrap}
.es-nota{margin:0;color:#4A5568;line-height:1.5}
.es-pasos{margin-top:6px;padding:14px;border-radius:12px;background:#EEF2FA}
.es-pasos ol{margin:8px 0;padding-left:20px;line-height:1.55}
.es-pasos small,.es-ayuda{color:#5A6563;font-size:.85rem;line-height:1.45}
.es-subir{display:flex;flex-direction:column;gap:6px;padding:14px;border:2px dashed #C9BFA8;border-radius:12px;background:#FBF8F1}
.es-subir label,.es-panel label,.es-lab{font-weight:700;font-size:.85rem;color:#4A5568}
.es-subir input[type=file]{font:inherit;padding:8px 0}
.es-subir select,.es-panel select{min-height:44px;border:2px solid #E6DFCE;border-radius:10px;padding:0 10px;font:inherit;background:#fff;max-width:100%}
.es-subir .es-btn{align-self:flex-start;margin-top:6px}
.es-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.es-lista li{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:#FBF8F1}
.es-vacio{color:#5A6563}
.es-tipo{flex:none;width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:.72rem;background:#6A7472}
.es-tipo-pdf{background:#C8102E}.es-tipo-ppt{background:#B85A0E}.es-tipo-doc{background:#1B3F8B}.es-tipo-xls{background:#23753A}.es-tipo-img{background:#7B3FA0}
.es-arch{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:2px}
.es-arch strong{overflow-wrap:anywhere}
.es-arch small{color:#5A6563}
.es-arch-acc{display:flex;gap:6px;flex-wrap:wrap}
.es-arch-acc form{margin:0}
.es-mini{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border-radius:10px;border:2px solid #102A5C;background:#fff;color:#102A5C;font:inherit;font-weight:700;font-size:.85rem;text-decoration:none;cursor:pointer}
.es-mini-rec{background:#C8102E;border-color:#C8102E;color:#fff}
.es-mini-x{border-color:#B00E28;color:#B00E28}
/* estudio de grabación */
.es-studio{background:#0E1726;color:#E5E9F2;padding:16px 0 40px}
.es-studio-in{max-width:1360px;margin:0 auto;padding:0 max(16px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:14px;box-sizing:border-box}
.es-studio-cab{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.es-volver{color:#F2B705;font-weight:800;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.es-rec{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#C8102E;color:#fff;font-weight:800;font-size:.8rem;letter-spacing:.08em}
.es-rec i{width:10px;height:10px;border-radius:50%;background:#fff;animation:es-late 1.2s infinite}
.es-rec.is-pausa{background:#3A4A66;color:#FFE27A}
.es-rec.is-pausa i{background:#FFE27A;animation:none}
@keyframes es-late{50%{opacity:.25}}
.es-reloj{margin-left:auto;font-family:'Archivo Black','Arial Black',sans-serif;font-size:1.3rem;font-variant-numeric:tabular-nums}
.es-studio-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}
@media (min-width:1000px){.es-studio-grid{grid-template-columns:minmax(0,1fr) 320px}}
.es-escena{display:flex;flex-direction:column;gap:12px;min-width:0}
.es-lienzo-caja{position:relative;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 0 0 3px #22324D}
.es-studio[data-estado=grabando] .es-lienzo-caja{box-shadow:0 0 0 3px #C8102E}
.es-studio[data-estado=pausa] .es-lienzo-caja{box-shadow:0 0 0 3px #FFE27A}
.es-lienzo-caja canvas,.es-lienzo-caja video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#000}
.es-lienzo-caja canvas{background:#fff}
.es-vacio-escena{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;color:#4A5568;font-weight:700;background:#F4F1EA}
.es-controles{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.es-ctl{width:52px;height:52px;border-radius:14px;border:0;background:#22324D;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.es-ctl-sig{background:#F2B705;color:#102A5C}
.es-ctl:disabled{opacity:.35;cursor:default}
.es-cont{min-width:80px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}
.es-tecla{color:#9FB0CC;font-size:.85rem}
.es-sep{flex:1}
.es-controles .es-btn-sec{color:#fff;border-color:#9FB0CC}
.es-controles .es-btn-sec:hover{background:#22324D;color:#fff}
.es-panel{display:flex;flex-direction:column;gap:12px;min-width:0}
.es-panel>div{display:flex;flex-direction:column;gap:12px}
.es-panel .es-card{color:#14213D}
.es-panel .es-btn{width:100%}
.es-card-osc{background:#16223A;color:#E5E9F2 !important;box-shadow:none}
.es-card-osc h2{color:#fff}
.es-ayuda-osc{color:#9FB0CC;margin:0}
.es-opc{display:grid;gap:6px}
.es-opc-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.es-opc-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.es-opc-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.es-opc button{min-height:44px;border-radius:10px;border:2px solid #E6DFCE;background:#fff;color:#14213D;font:inherit;font-weight:700;cursor:pointer}
.es-opc button[aria-pressed=true]{background:#102A5C;border-color:#102A5C;color:#fff}
.es-nivel{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:#4A5568}
.es-nivel i{flex:1;height:10px;border-radius:999px;background:#EEE8DA;overflow:hidden}
.es-nivel b{display:block;height:100%;width:0;background:#23753A;transition:width .08s}
.es-diapos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:440px;overflow-y:auto}
.es-diapos button{width:100%;min-height:44px;padding:8px 10px;border:0;border-radius:10px;background:#22324D;color:#E5E9F2;font:inherit;font-size:.9rem;text-align:left;cursor:pointer}
.es-diapos button[aria-current=true]{background:#F2B705;color:#102A5C;font-weight:800}
.es-caps{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto}
.es-caps li{display:flex;gap:10px;padding:4px 0;border-bottom:1px solid #F1ECDF}
.es-caps b{color:#1B3F8B;font-variant-numeric:tabular-nums;min-width:48px}
@media (prefers-reduced-motion:reduce){.es-rec i{animation:none}}
/* estudio fase 2: pantalla, respaldo, capítulos */
.es-studio[data-modo=pdf] .es-solo-pantalla,.es-studio[data-modo=pantalla] .es-solo-pdf{display:none !important}
.es-controles>.es-solo-pdf{display:contents}
.es-resp{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#17402A;color:#BFE8CB;font-weight:700;font-size:.8rem}
.es-recup{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:14px;background:#FFF4CC;color:#4A3A00;border:2px solid #F2B705}
.es-recup>div:first-child{display:flex;flex-direction:column;gap:2px}
.es-recup strong{color:#102A5C;font-size:1rem}
.es-recup span{font-size:.9rem}
.es-recup-acc{display:flex;gap:8px;flex-wrap:wrap}
.es-recup .es-btn-sec{color:#102A5C;border-color:#102A5C}
.es-recup .es-btn-sec:hover{color:#fff}
.es-modos button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px;text-align:left;min-height:64px}
.es-modos small{font-weight:600;font-size:.75rem;opacity:.8}
.es-check{display:flex;gap:8px;align-items:flex-start;font-weight:600 !important;line-height:1.4;cursor:pointer}
.es-check input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:#102A5C}
.es-caps li{align-items:center}
.es-caps input{flex:1;min-width:0;min-height:40px;border:2px solid #E6DFCE;border-radius:8px;padding:0 8px;font:inherit;font-size:.9rem;color:#14213D;background:#fff}
.es-caps input:focus{outline:none;border-color:#102A5C}
.es-card-osc p b{color:#F2B705}
@media (max-width:600px){.es-recup-acc,.es-recup-acc .es-btn{width:100%}}
/* estudio fase 3: envío al Aula */
.es-campo{min-height:44px;border:2px solid #E6DFCE;border-radius:10px;padding:0 10px;font:inherit;background:#fff;color:#14213D;width:100%;box-sizing:border-box}
.es-campo:focus,.es-panel select:focus{outline:none;border-color:#102A5C}
.es-btn-env{background:#23753A}
.es-btn-env:hover{background:#1B5E2E}
.es-prog{display:flex;flex-direction:column;gap:6px}
.es-prog i{display:block;height:12px;border-radius:999px;background:#EEE8DA;overflow:hidden}
.es-prog b{display:block;height:100%;width:0;background:#23753A;transition:width .3s}
.es-prog span{font-size:.85rem;font-weight:700;color:#4A5568}
.es-est{flex:none;min-width:96px;padding:6px 10px;border-radius:999px;font-weight:800;font-size:.75rem;text-align:center;background:#E6E9EF;color:#34445F}
.es-est-revision{background:#FFF4CC;color:#7A5A00}
.es-est-aprobado{background:#E2F2E6;color:#17542A}
.es-est-cambios{background:#E3ECFA;color:#1B3F8B}
.es-est-error{background:#FBE7EA;color:#8A0B20}
.es-coment{margin:6px 0 0;padding:8px 10px;border-radius:8px;background:#fff;color:#4A5568;font-size:.88rem;line-height:1.45;white-space:pre-line}
/* estudio: micrófono y vista de cámara */
.es-mic{margin-left:auto;display:inline-flex;align-items:flex-end;gap:3px;height:28px;padding:5px 12px;border-radius:999px;background:#16223A;box-sizing:border-box}
.es-mic~.es-reloj{margin-left:0}
.es-mic svg{align-self:center;margin-right:5px;color:#9FB0CC;flex:none}
.es-mic i{display:block;width:4px;height:100%;border-radius:2px;background:#3DDC84;transform-origin:bottom;transform:scaleY(.12);transition:transform .08s linear,background .2s}
.es-mic.alto i{background:#F2B705}
.es-mic.pico i{background:#FF5A5F}
.es-mic.mudo svg{color:#FF8A8A}
.es-mic-aviso{margin-left:auto;padding:6px 12px;border-radius:999px;background:#5A1020;color:#FFD0D6;font-weight:800;font-size:.8rem}
.es-mic-aviso:not([hidden])~.es-mic{margin-left:0}
.es-btn-vista[aria-pressed=true]{background:#F2B705;border-color:#F2B705;color:#102A5C}
.es-btn-vista[aria-pressed=true]:hover{background:#FFD24A;color:#102A5C}
.es-nota-chica{font-size:.85rem}
@media (prefers-reduced-motion:reduce){.es-mic i{transition:none}}
.es-studio[data-estado=grabando] .es-controles .es-tecla,.es-studio[data-estado=pausa] .es-controles .es-tecla{display:none}
.es-btn-ocultar[aria-pressed=true]{background:#F2B705;border-color:#F2B705;color:#102A5C}
.es-cam-card .es-btn-sec{color:#fff;border-color:#9FB0CC}
.es-cam-card .es-btn-sec:hover{background:#22324D;color:#fff}
.es-cam-card .es-btn-ocultar[aria-pressed=true]{color:#102A5C;border-color:#F2B705}
.es-cam-card .es-lab{color:#9FB0CC}
.es-cam-card .es-opc button{background:#22324D;border-color:#34445F;color:#E5E9F2}
.es-cam-card .es-opc button[aria-pressed=true]{background:#F2B705;border-color:#F2B705;color:#102A5C}
.es-volver{gap:6px}
.es-volver+.es-volver{margin-left:4px;padding-left:14px;border-left:2px solid #22324D}
.es-env-fin{display:flex;flex-direction:column;gap:8px}
.es-vid{flex:1 1 100%;position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000}
.es-vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.es-env-item.es-nueva{box-shadow:0 0 0 3px #F2B705;animation:es-brillo 1.6s ease-out 2}
@keyframes es-brillo{0%{background:#FFF4CC}100%{background:#FBF8F1}}
.es-coment-ok{background:#E2F2E6;color:#17542A}
@media (prefers-reduced-motion:reduce){.es-env-item.es-nueva{animation:none}}
/* ===== fin estudio instructor ===== */
/* ===== Menú móvil ===== */
.nav-toggle,.nav-movil-cab,.nav-dd-btn{display:none}
@media (max-width:720px){
  html.js .site-head{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px}
  html.js .site-head>.brand{flex:1 1 auto;min-width:0;width:auto}
  html.js .nav-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:48px;height:48px;margin-left:auto;padding:0;border:2px solid rgba(255,255,255,.55);border-radius:12px;background:transparent;color:#fff;cursor:pointer}
  html.js .nav-toggle:focus-visible,html.js .nav-cerrar:focus-visible,html.js .nav-dd-btn:focus-visible{outline:3px solid #F2B705;outline-offset:2px}
  .nav-toggle-ic{display:flex;flex-direction:column;gap:4px;width:22px}
  .nav-toggle-ic i{display:block;height:2.5px;border-radius:2px;background:currentColor}
  html.js .nav{display:none}
  html.js.menu-abierto{overflow:hidden}
  html.js.menu-abierto .nav{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;width:auto;margin:0;padding:0 20px max(28px,env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:#102A5C;font-size:18px;animation:nav-entra .2s ease-out}
  @keyframes nav-entra{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
  html.js .nav-movil-cab{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:2;margin:0 -20px 6px;padding:14px 20px;background:#102A5C;border-bottom:4px solid #F2B705;color:#F2B705;font:400 20px 'Archivo Black','Arial Black',sans-serif;letter-spacing:.04em}
  html.js .nav-cerrar{width:48px;height:48px;border:0;border-radius:12px;background:#22324D;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
  html.js.menu-abierto .nav>a,html.js.menu-abierto .nav-dd>a{white-space:normal;padding:16px 4px;min-height:56px;box-sizing:border-box;border-bottom:1px solid rgba(255,255,255,.14)}
  html.js.menu-abierto .nav>a.btn{margin-top:20px;justify-content:center;border-bottom:0;padding:14px 20px;border-radius:12px}
  html.js.menu-abierto .nav-dd{display:flex;flex-wrap:wrap;align-items:stretch;position:static}
  html.js.menu-abierto .nav-dd>a{flex:1}
  html.js.menu-abierto .nav-dd>a::after{display:none}
  html.js .nav-dd-btn{display:flex;align-items:center;justify-content:center;width:56px;min-height:56px;border:0;border-bottom:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.14);background:transparent;color:#fff;cursor:pointer}
  html.js .nav-dd-btn::before{content:'';width:10px;height:10px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .2s}
  html.js .nav-dd.abierto .nav-dd-btn{color:#F2B705}
  html.js .nav-dd.abierto .nav-dd-btn::before{transform:translateY(3px) rotate(-135deg)}
  html.js.menu-abierto .nav-dd-menu,html.js.menu-abierto .nav-dd-menu.nav-dd-clases{position:static;display:none;flex:1 1 100%;width:auto;margin:8px 0 10px;opacity:1;visibility:visible;transform:none;transition:none;box-shadow:none;border-top:0;border-radius:14px}
  html.js.menu-abierto .nav-dd:hover .nav-dd-menu,html.js.menu-abierto .nav-dd:focus-within .nav-dd-menu{display:none}
  html.js.menu-abierto .nav-dd.abierto .nav-dd-menu{display:flex}
  html.js.menu-abierto .nav-dd-menu::before,html.js.menu-abierto .nav-dd-menu::after{display:none}
  html.js.menu-abierto .nav .nav-dd-menu a{padding:12px;min-height:52px;border-bottom:0}
}
@media (prefers-reduced-motion:reduce){html.js.menu-abierto .nav{animation:none}html.js .nav-dd-btn::before{transition:none}}
/* ===== fin menú móvil ===== */
