:root{--blue:#2E6FD8;--blue-d:#1B4C9E;--navy:#24365C;--teal:#1A9E8F;--coral:#FF7A5C;--coral-d:#B8452B;--sun:#FFC23D;--violet:#7A62D9;--cream:#FFF8EC;--muted:#4F5B6B;--line:#d5deea;--fs:16px}
*{box-sizing:border-box}html{font-size:var(--fs)}body{margin:0;font-family:"Nunito","Segoe UI",system-ui,-apple-system,sans-serif;background:var(--cream);color:var(--navy);line-height:1.55}
a{color:var(--blue-d)}a:hover{color:var(--navy)}
:focus-visible{outline:3px solid var(--coral-d);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0}.skip:focus{left:12px;top:12px;z-index:20;background:#fff;padding:10px 14px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.top{display:flex;align-items:center;gap:16px;padding:10px 24px;background:#fff;box-shadow:0 2px 12px #24365c14;position:sticky;top:0;z-index:10;flex-wrap:wrap}
.brand{font-weight:900;font-size:1.5rem;color:var(--navy);text-decoration:none;display:flex;align-items:center;gap:8px}
.logo{background:var(--blue);color:#fff;border-radius:12px;width:38px;height:38px;display:grid;place-items:center}
nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap;align-items:center}nav a,.linkbtn{color:var(--navy);text-decoration:none;padding:10px 12px;border-radius:22px;font-weight:700;min-height:44px;display:inline-flex;align-items:center}
nav a[aria-current],nav a:hover{background:#EAF1FC;color:var(--blue-d)}.linkbtn{background:none;border:0;font:inherit;font-weight:700;cursor:pointer}.inline{display:inline}
.burger{display:none;margin-left:auto;font-size:1.4rem;border:0;background:none;min-width:44px;min-height:44px;cursor:pointer;color:var(--navy)}
.a11y{display:flex;gap:4px}.a11y button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:6px 9px;font-weight:800;cursor:pointer;color:var(--navy);min-height:36px;min-width:36px}.a11y button[aria-pressed=true]{background:var(--navy);color:#fff}
main{max-width:1180px;margin:auto;padding:28px 24px 40px;outline:none}
h1{font-size:2.1rem;line-height:1.15;margin:.2em 0 .5em}h2{font-size:1.4rem;margin:.2em 0 .6em}.h3,h3{font-size:1.15rem;margin:.4em 0}.h4{font-size:1rem;margin:1em 0 .4em}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--coral-d);font-size:.8rem;margin:0}.eyebrow.light{color:#fff}
.lead{font-size:1.1rem;color:var(--muted);max-width:65ch}.small{font-size:.875rem;color:var(--muted)}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center;background:linear-gradient(135deg,#fff 55%,#EAF1FC);border-radius:32px;padding:44px;box-shadow:0 4px 0 #24365c10}
.hero h1{font-size:2.8rem}.hero h1 span{color:var(--blue)}.heroart{max-width:380px;justify-self:center;width:100%}
.row{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0;align-items:center}
.btn{background:var(--blue-d);color:#fff;border:2px solid var(--blue-d);border-radius:26px;padding:11px 22px;font-weight:800;font-size:1rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;min-height:44px;font-family:inherit}
.btn:hover{background:var(--navy);border-color:var(--navy);color:#fff}.btn.ghost{background:#fff;color:var(--blue-d)}.btn.ghost:hover{background:#EAF1FC}.btn.sm{padding:7px 16px;font-size:.92rem;margin-top:8px}.btn:disabled{opacity:.65;cursor:wait}
.btn.danger{background:#A3285A;border-color:#A3285A}
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card,.panel{background:#fff;border-radius:22px;padding:22px;box-shadow:0 3px 0 #24365c12}.panel{margin-bottom:20px}.narrow{max-width:520px;margin-left:auto;margin-right:auto}
.ic{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#EAF1FC;color:var(--blue-d);font-size:1.3rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-bottom:22px}
.book{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 3px 0 #24365c12}.book .cover{height:110px;display:grid;place-items:center;color:#fff;font-size:2.6rem;font-weight:900}.book .b{padding:12px 16px}.book p{margin:4px 0;font-size:.9rem;color:var(--muted)}
.tag{display:inline-block;background:#eef2f8;border-radius:10px;padding:2px 10px;font-weight:700}.tag.on{background:#E6F6F4;color:#0E5E55}
.unit{display:block;background:#fff;border-radius:20px;padding:18px;text-decoration:none;color:var(--navy);border-top:8px solid var(--c);box-shadow:0 3px 0 #24365c12}.unit:hover{transform:translateY(-2px)}
.pill{display:inline-block;background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:12px;padding:2px 10px;font-size:.78rem;font-weight:800}
.ubar{background:var(--blue-d);color:#fff;border-radius:24px;padding:22px 26px;margin-bottom:20px}.ubar h1{margin:.3em 0 .2em}.ubar p{margin:0}
.crumbs{margin-bottom:10px;font-size:.92rem}
.ulay{display:grid;grid-template-columns:290px 1fr;gap:20px;align-items:start}.side{position:sticky;top:84px}.qr svg{width:130px;height:130px}
details.pg{border:1px solid var(--line);border-radius:16px;margin:10px 0;background:#fff}details.pg>summary{cursor:pointer;padding:14px 16px;font-weight:800;list-style:none;display:flex;gap:10px;align-items:center;flex-wrap:wrap;min-height:44px}
details.pg>summary::-webkit-details-marker{display:none}details.pg[open]>summary{border-bottom:1px solid var(--line)}details.pg>*:not(summary){margin-left:16px;margin-right:16px}
.num{background:var(--navy);color:#fff;border-radius:8px;min-width:28px;text-align:center;font-size:.85rem}.chip{background:#FFF1CC;color:#6B4D00;border-radius:10px;padding:1px 8px;font-size:.78rem}.done{color:#0E6B4D;font-weight:800}
.ins{background:#F6F9FE;border-radius:12px;padding:10px 14px}
/* contenido del libro */
.bk table{border-collapse:collapse;width:100%;margin:8px 0}.bk td,.bk th{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}.bk th{background:#EAF1FC}
.bk .psg{background:#F6F9FE;border-left:5px solid var(--blue);border-radius:10px;padding:10px 14px;margin:10px 0}.bk .tipbox{background:#FFF8E1;border-radius:10px;padding:10px 14px;margin:10px 0}
.bk .code{background:#1e2a44;color:#e8eefc;border-radius:12px;padding:10px 14px;margin:10px 0;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9rem;overflow:auto}.bk .code .ct{color:#FFC23D;font-weight:800;margin-bottom:4px;font-family:inherit}
.bk .code .ln{display:flex;gap:10px}.bk .code .ln i{color:#9fb0cf;font-style:normal;min-width:1.5em;text-align:right}.bk .code code{white-space:pre}.bk .code .k{color:#ffb3a1}.bk .code .s{color:#a6e3a1}.bk .code .c{color:#9fb0cf}.bk .gap{display:inline-block;min-width:3em;border-bottom:2px dashed #FFC23D}
.bk .q .t{font-weight:700;margin-top:8px}.bk .opts{display:flex;gap:14px;flex-wrap:wrap}.bk .opts span{border:1px solid var(--line);border-radius:10px;padding:2px 10px}.bk .wa{border-bottom:1px dashed var(--line);height:calc(var(--n,2)*1.2em)}
.bk .cards{display:grid;grid-template-columns:repeat(var(--c,2),1fr);gap:10px}.bk .cards>*{border:1px solid var(--line);border-radius:12px;padding:10px}.bk svg{max-width:100%;height:auto}.bk .row{display:flex;gap:12px;flex-wrap:wrap}.bk .ck div::before{content:"☐ "}
.bk .sec{font-weight:800;color:var(--blue-d)}.bk .score{background:#F6F9FE;padding:10px;border-radius:10px}
/* quiz y ejercicios */
.quiz{border-top:2px dashed var(--line);margin-top:14px;padding:6px 0 14px}.q{border:0;padding:0;margin:12px 0}.q legend{font-weight:800;margin-bottom:4px}.q label{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:10px;min-height:40px;cursor:pointer}.q label:hover{background:#F6F9FE}
.q label.right{background:#E6F6F4}.q label.wrong{background:#FCEAF2}
.exercise{border:1px solid var(--line);border-radius:18px;padding:16px;margin:14px 0}
.editor{width:100%;min-height:300px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92rem;background:#1e2a44;color:#e8eefc;border-radius:14px;padding:14px;border:0;tab-size:4;line-height:1.5}
.out{display:flex;gap:12px}.led{min-width:96px;height:96px;border-radius:14px;background:#111;color:#ff6b6b;display:grid;place-items:center;font-size:1.5rem;font-weight:900;text-align:center;overflow:hidden;padding:4px}
.console{flex:1;background:#f3f6fb;border-radius:12px;padding:10px;margin:0;min-height:96px;white-space:pre-wrap;font-size:.86rem;max-height:240px;overflow:auto}
.alert{padding:12px 16px;border-radius:14px;margin:10px 0;font-weight:600}.alert.ok{background:#E6F6F4;color:#0B4F47}.alert.bad{background:#FCEAF2;color:#7D1D45}.alert.info{background:#EAF1FC;color:#1B3F7A}
.exlabel{background:var(--coral-d);color:#fff;font-weight:800;text-align:center;border-radius:10px;padding:6px 10px}
label{display:block;font-weight:700;margin:12px 0 4px}input,select{display:block;width:100%;padding:10px 12px;border:2px solid #8A97A8;border-radius:12px;font-size:1rem;font-family:inherit;background:#fff;color:var(--navy);min-height:44px}
.chk{display:flex;gap:10px;align-items:flex-start;margin:12px 0}.chk input{width:22px;height:22px;min-height:0;flex:none;margin-top:3px}.chk label{margin:0;font-weight:500}
fieldset{border:1px solid var(--line);border-radius:14px;padding:6px 14px 14px;margin:14px 0}legend{font-weight:800;padding:0 4px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:14px 0 20px}.kpis div{background:#fff;border-radius:18px;padding:16px;box-shadow:0 3px 0 #24365c12}.kpis b{display:block;font-size:1.7rem;color:var(--blue-d)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ejebar{display:grid;grid-template-columns:1fr auto;gap:2px 8px;margin-bottom:8px;font-size:.92rem}.ejebar .bar{grid-column:1/3}.bar{background:#e6ebf2;border-radius:8px;height:12px;overflow:hidden}.bar i{display:block;height:100%;border-radius:8px}
table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{text-align:left;padding:8px;border-bottom:1px solid #e3e8f0}thead th{background:#F6F9FE}.tablewrap{overflow-x:auto}
.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.plan{background:#fff;border-radius:22px;padding:22px;position:relative;box-shadow:0 3px 0 #24365c12}.plan.hl{border:3px solid var(--blue)}
.plan .tag{position:absolute;top:-12px;left:20px;background:var(--coral-d);color:#fff}.price{font-size:2rem;font-weight:900;color:var(--blue-d);margin:.2em 0}.price small{font-size:.9rem}
.code{font-family:ui-monospace,monospace;background:#EAF1FC;padding:2px 8px;border-radius:8px}.codeview{background:#1e2a44;color:#e8eefc;padding:12px;border-radius:12px;overflow:auto}
.danger{border:2px solid #F4C2D6}.tasks li{margin:6px 0}.prose{max-width:760px;margin:auto}
.qrgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.qrcell{margin:0;text-align:center;background:#fff;border:1px dashed var(--line);padding:8px;border-radius:8px}.qrcell svg{width:120px;height:120px}.qrcell figcaption{font-family:monospace;font-size:.75rem}
footer{text-align:center;padding:26px;color:var(--muted);font-size:.9rem}footer p{margin:6px 0}
body.hc{--cream:#fff;--muted:#222;--blue:#0a3d91;--blue-d:#0a3d91;--line:#000;color:#000}body.hc .card,body.hc .panel,body.hc .plan,body.hc .unit,body.hc .kpis div{border:2px solid #000;box-shadow:none}
body.easy{letter-spacing:.04em;word-spacing:.14em;line-height:1.8}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media(max-width:900px){.hero,.ulay,.two,.grid3{grid-template-columns:1fr}.cards4,.plans,.kpis{grid-template-columns:1fr 1fr}.hero{padding:26px}.hero h1{font-size:2rem}.side{position:static}
 nav{display:none;width:100%;flex-direction:column;align-items:stretch}.nav-open nav{display:flex}.burger{display:block}.a11y{width:100%;justify-content:flex-end}}
@media(max-width:520px){.cards4,.plans,.kpis{grid-template-columns:1fr}.out{flex-direction:column}}
@media print{.top,footer,.noprint,.skip{display:none}body{background:#fff}main{padding:0}}
/* escuelas y colegios */
textarea{display:block;width:100%;padding:10px 12px;border:2px solid #8A97A8;border-radius:12px;font-size:1rem;font-family:inherit;background:#fff;color:var(--navy)}
.hpot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.shero{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:center;background:linear-gradient(135deg,#fff 50%,#FFF1D6);border-radius:32px;padding:48px;box-shadow:0 4px 0 #24365c10}
.shero h1{font-size:2.7rem}.shero h1 span{color:var(--blue)}.sheroart{width:100%;height:auto;max-width:520px;justify-self:center}
.facts{display:flex;gap:12px;flex-wrap:wrap;list-style:none;padding:0;margin:18px 0 0}.facts li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px 14px;color:var(--muted)}.facts b{color:var(--blue-d);font-size:1.3rem;margin-right:4px}
.sec{margin:46px 0}.feats .card img,.perk img{display:block;margin-bottom:8px}.feats .card p,.perk p{color:var(--muted);margin:.3em 0}
.soon{margin-top:18px;color:var(--muted)}.soon .tag,.perk .tag{background:#FFF1CC;color:#6B4D00}.perk .tag.on{background:#E6F6F4;color:#0E5E55}
.perks{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.perk{background:#fff;border-radius:22px;padding:20px;box-shadow:0 3px 0 #24365c12;position:relative}.perk .tag{font-size:.78rem;margin-bottom:10px}.perk.hl{outline:3px solid var(--blue)}.perk a{font-weight:800}.perk .capi{height:56px;width:auto}
.split{display:grid;grid-template-columns:1fr 1.2fr;gap:28px;align-items:start;margin:46px 0;scroll-margin-top:90px}.split.rev .splitinfo{order:2}
.checks{list-style:none;padding:0}.checks li{padding:6px 0 6px 32px;position:relative}.checks li::before{content:"✓";position:absolute;left:0;top:5px;width:22px;height:22px;border-radius:50%;background:#E6F6F4;color:#0E5E55;display:grid;place-items:center;font-weight:900;font-size:.8rem}
.capibig{width:170px;height:auto;margin-top:8px}.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.opt{font-weight:500;color:var(--muted)}.sform .btn{margin-top:10px}
details.faq{background:#fff;border-radius:16px;margin:10px 0;box-shadow:0 2px 0 #24365c10}details.faq summary{cursor:pointer;padding:16px 18px;font-weight:800;min-height:44px}details.faq p{margin:0;padding:0 18px 16px;color:var(--muted)}
.cta{background:var(--blue-d);color:#fff;border-radius:28px;padding:36px;text-align:center;margin:40px 0 10px}.cta h2{color:#fff}.cta p{color:#EAF1FC}
.schoolband{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:center;background:#fff;border-radius:28px;padding:26px;margin:26px 0;box-shadow:0 3px 0 #24365c12}.schoolband img{width:100%;height:auto}
.thanks{text-align:center}.thanks img{width:150px;height:auto}
@media(max-width:900px){.shero,.split,.schoolband{grid-template-columns:1fr}.shero{padding:26px}.shero h1{font-size:2rem}.perks{grid-template-columns:1fr 1fr}.split.rev .splitinfo{order:0}.capibig{display:none}}
@media(max-width:560px){.perks,.fgrid{grid-template-columns:1fr}}
.sample .sh{margin:8px 0 0;font-weight:700}.sopt[hidden]{display:none}.sample .chk input[type=radio]{border-radius:50%}
/* validación de solicitudes */
.flag{display:inline-block;font-size:.78rem;line-height:1.3;padding:.1rem .45rem;border-radius:.6rem;background:#eef1f6;color:#2a3550;margin:.1rem 0}
.flag.warn{background:#fff1d6;color:#6b4300;font-weight:600}
.vlink{margin-top:.3rem}.vlink input{width:100%;font-size:.8rem}
.acts{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}
.filters{display:flex;flex-wrap:wrap;gap:.8rem;align-items:flex-end}.filters .fld{margin:0}
.sform input[type=file]{padding:.4rem 0}
/* respaldo de marca Allegra en el pie: 48 px de alto en escritorio, 40 px en móvil, con aire alrededor */
.endorse{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 0 18px;margin:0 auto 10px;border-bottom:1px solid #e3e7ee;max-width:420px}
.endorse span{font-size:.85rem;letter-spacing:.02em;color:#4a5568}
.endorse img{height:48px;width:auto;display:block}
@media (max-width:600px){.endorse img{height:40px}}
