/* licenciatura — page styles */
body{margin:0;background:#FFFFFF}
a{color:#111111}a:hover{color:#5600E6}
.brand{color:#FFFFFF;transition:color .5s ease}.brand:hover{color:#5600E6}
.tes{opacity:.14;transition:opacity 1.6s ease}
.tes:hover{opacity:1;transition:opacity .6s ease}
.lab{font-size:12px;text-transform:uppercase;letter-spacing:0.08em;font-weight:700}
.big{font-size:clamp(34px,4.4vw,64px);font-weight:700;letter-spacing:-0.04em;line-height:0.9}
.h2{margin:0;font-size:clamp(28px,3.6vw,52px);font-weight:700;letter-spacing:-0.035em;line-height:0.95}
.num-t{padding:clamp(14px,1.6vw,22px);display:flex;flex-direction:column;justify-content:space-between;gap:10px;aspect-ratio:1;box-sizing:border-box;min-width:0}
.waffle{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:3px}
.waffle span{aspect-ratio:1;background:#E4E3DD}
.waffle span.on{background:#5600E6}
.topic{aspect-ratio:1;padding:14px;box-sizing:border-box;display:flex;align-items:flex-end;font-size:clamp(15px,1.5vw,20px);font-weight:700;letter-spacing:-0.02em;line-height:1.05}
/* Plan: scroll mosaic */
.plan{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}
.plan-stick{flex:1 1 520px;min-width:0;position:sticky;top:0;z-index:3;background:#FFFFFF;padding:16px 0 12px;display:flex;flex-direction:column;gap:10px}
.plan-steps{flex:1 1 380px;min-width:0;display:flex;flex-direction:column}
.years{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}
.years span{grid-column:span 3;padding:6px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;transition:opacity .4s ease}
.cols{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;font-size:11px;font-weight:700;color:#55554F;text-align:center}
.cols span{transition:color .3s ease}
.cols span[data-on="true"]{color:#111111}
.pgrid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(4,auto);grid-auto-flow:column;gap:4px}
.pt{aspect-ratio:1;border:0;padding:0;margin:0;cursor:pointer;background:#EEEDE8;position:relative;transition:background-color .5s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.34,1.4,.64,1),box-shadow .2s ease;font-family:inherit;display:flex;align-items:flex-end;justify-content:flex-start;padding:4px;box-sizing:border-box}
.pt span{font-size:clamp(8px,0.8vw,11px);font-weight:700;opacity:0;transition:opacity .3s ease;font-variant-numeric:tabular-nums}
.pt[data-on="true"] span{opacity:.8}
.pt[data-on="true"][data-k="m"][data-y="0"]{background:#FF6B00}
.pt[data-on="true"][data-k="m"][data-y="1"]{background:#5600E6;color:#FFFFFF}
.pt[data-on="true"][data-k="m"][data-y="2"]{background:#00DE7E}
.pt[data-on="true"][data-k="l"]{background:#FFD10A}
.pt[data-on="true"][data-k="i"]{background:#111111;color:#FFFFFF}
.pt[data-cur="true"]{transform:scale(1.06)}
.pt:hover,.pt[data-sel="true"]{box-shadow:0 0 0 2px #FFFFFF,0 0 0 4px #111111;z-index:2}
.pt:focus-visible{outline:2px solid #FF3F7A;outline-offset:2px}
.pdetail{min-height:44px;display:flex;align-items:center;gap:10px;padding:8px 12px;background:#111111;color:#FFFFFF;font-size:14px;line-height:1.25}
.pdetail b{font-variant-numeric:tabular-nums}
.pbar{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}
.pbar span{height:6px;background:#EEEDE8;transition:background-color .4s ease}
.pbar span[data-on="true"]{background:#111111}
.plegend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;font-weight:600}
.plegend-m{display:none}
@media (max-width:940px){
.plan-stick{max-height:33vh;padding:6px 0 6px;gap:4px;box-shadow:0 8px 12px -10px rgba(0,0,0,.25)}
.years span{padding:3px 6px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cols{font-size:9px}
.pgrid{gap:3px}
.pt{aspect-ratio:auto;height:max(16px,calc((33vh - 96px) / 4));padding:2px 3px}
.pt span{font-size:8px}
.pdetail{min-height:0 !important;height:26px;font-size:11px !important;padding:0 8px !important;white-space:nowrap;overflow:hidden}
.pdetail span{overflow:hidden;text-overflow:ellipsis}
.pbar,.plan-stick .plegend{display:none}
.plegend-m{display:flex;margin-top:10px}
.step{min-height:auto !important;padding:28px 0 36px !important;opacity:1 !important;border-bottom:1px solid #E4E3DD}
.step[data-on="true"] .step-n{text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:6px}
}
.plegend i{display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px}
.step{min-height:62vh;padding:24px 0 24px clamp(0px,2vw,28px);box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:14px;opacity:.28;transition:opacity .45s ease}
.step[data-on="true"]{opacity:1}
.step-n{font-size:clamp(56px,7vw,104px);font-weight:800;letter-spacing:-0.05em;line-height:.8;font-variant-numeric:tabular-nums}
.step-q{margin:0;font-size:clamp(22px,2.4vw,34px);font-weight:700;letter-spacing:-0.025em;line-height:1.08}
.chips{display:flex;flex-wrap:wrap;gap:4px}
.chip{font-size:12px;font-weight:600;padding:5px 8px;background:#F1F0EC}
.apt-h{margin:4px 0 0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#55554F}
.apts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:2px solid #111111}
.apts li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px;padding:8px 0;border-bottom:1px solid #E4E3DD}
.apt-p{font-size:clamp(16px,1.6vw,20px);font-weight:700;letter-spacing:-0.01em}
.apt-c{font-size:12px;font-weight:600;color:#6A6A66}
.ex{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;margin:22px 0 4px;padding:clamp(16px,2vw,24px);background:#F1F0EC}
.ex-av{flex:0 0 auto;width:72px;height:72px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}
.ex-av i{display:block}
.ex-b{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:6px}
.ex-t{font-size:clamp(20px,2.4vw,32px);font-weight:700;letter-spacing:-0.025em;line-height:1.05}
.ex-d{font-size:15px;font-weight:500;line-height:1.35;color:#3A3A36}
.apt-e{flex:1 1 100%;font-size:14px;font-weight:500;line-height:1.35;color:#3A3A36}
.prod{display:flex;gap:8px;align-items:baseline;font-size:15px;line-height:1.35}
.prod b{flex:0 0 auto;background:#111111;color:#FFFFFF;padding:2px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
/* Al terminar */
.can{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.cn{aspect-ratio:1;position:relative;border:0;padding:clamp(12px,1.6vw,22px);box-sizing:border-box;cursor:default;text-align:left;font-family:inherit;color:#111111;display:block;overflow:hidden}
.cn .f,.cn .b{position:absolute;inset:clamp(12px,1.6vw,22px);display:flex;flex-direction:column;justify-content:space-between;transition:opacity .35s ease,transform .35s cubic-bezier(.16,1,.3,1)}
.cn .b{opacity:0;transform:translateY(8px);justify-content:flex-end;font-size:clamp(13px,1.3vw,17px);font-weight:500;line-height:1.3}
.cn:hover .f,.cn:focus-visible .f{opacity:0;transform:translateY(-8px)}
.cn:hover .b,.cn:focus-visible .b{opacity:1;transform:none}
.cn .n{font-size:clamp(28px,3.4vw,48px);font-weight:800;letter-spacing:-0.04em;line-height:.85}
.cn .t{font-size:clamp(16px,1.9vw,26px);font-weight:700;letter-spacing:-0.025em;line-height:1.02}
/* Evaluación: flujo */
.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.fl{aspect-ratio:1;padding:clamp(12px,1.6vw,22px);box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;position:relative}
.fl .n{font-size:13px;font-weight:800}
.fl .t{font-size:clamp(18px,2.2vw,30px);font-weight:700;letter-spacing:-0.03em;line-height:1}
.fl .d{font-size:clamp(12px,1.1vw,15px);line-height:1.3;font-weight:500}
.fl .ar{position:absolute;right:-18px;top:50%;width:36px;height:36px;margin-top:-18px;background:#FFFFFF;border:2px solid #111111;border-radius:50%;box-sizing:border-box;z-index:1;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;line-height:1}
.loop{display:flex;align-items:center;gap:10px;padding:10px 14px;border:2px dashed #111111;border-top:0;font-size:13px;font-weight:600}
.lines{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.sk{display:flex;flex-direction:column}
.skr{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,380px);gap:16px;align-items:center;padding:14px 10px;border-top:2px solid #111111;outline:none;transition:background-color .25s ease}
.skh{border-top:0;padding-bottom:6px}
.skr:not(.skh):hover,.skr:not(.skh):focus-visible{background:#F1F0EC}
.skn{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
.skt{font-size:clamp(20px,2.3vw,32px);font-weight:700;letter-spacing:-0.025em;line-height:1.05;display:flex;flex-direction:column}
.skd{display:block;max-height:0;opacity:0;overflow:hidden;font-size:15px;font-weight:500;letter-spacing:0;line-height:1.35;color:#3A3A36;transition:max-height .35s ease,opacity .3s ease,margin .3s ease}
.skr:hover .skd,.skr:focus-visible .skd{max-height:80px;opacity:1;margin-top:6px}
.skc{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}
.skc i{aspect-ratio:1;display:block}
.skc b{font-size:10px;font-weight:700;color:#55554F;text-align:center}
.tlw{background:#111111;color:#FFFFFF;padding:clamp(14px,2vw,26px);overflow-x:auto}
.tl{display:grid;grid-template-columns:minmax(150px,200px) repeat(16,minmax(22px,1fr));gap:4px;min-width:580px}
.tlh{font-size:10px;font-weight:700;color:#9A9A94;text-align:center}
.tll{font-size:13px;font-weight:700;display:flex;align-items:center;gap:8px}
.tll i{width:10px;height:10px;flex:0 0 auto}
.tlc{aspect-ratio:1}
.tlk{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13px;font-weight:600}
.tlk b{display:inline-block;width:12px;height:12px;margin-right:8px;vertical-align:-1px}
.ln{list-style:none;margin:0;padding:0;border-bottom:2px solid #111111}
.lnr{display:grid;grid-template-columns:52px minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:center;padding:18px 10px;border-top:2px solid #111111;outline:none;background:linear-gradient(var(--c),var(--c)) no-repeat 0 0 / 0% 100%;transition:background-size .45s cubic-bezier(.16,1,.3,1),color .25s ease}
.lnr:hover,.lnr:focus-visible{background-size:100% 100%;color:var(--f)}
.lnn{font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px}
.lnn::before{content:"";width:12px;height:12px;background:var(--c);display:inline-block}
.lnr:hover .lnn::before,.lnr:focus-visible .lnn::before{background:var(--f)}
.lnt{font-size:clamp(22px,3vw,44px);font-weight:700;letter-spacing:-0.03em;line-height:1}
.lnq{font-size:clamp(14px,1.3vw,17px);font-weight:500;line-height:1.35}
@media (max-width:760px){
.skr{grid-template-columns:32px minmax(0,1fr);gap:8px 10px}
.skr .skc{grid-column:2}
.skh{display:none}
.lnr{grid-template-columns:36px minmax(0,1fr);gap:6px 10px}
.lnq{grid-column:2}
.tl{grid-template-columns:repeat(16,minmax(0,1fr));min-width:0;gap:3px}
.tll{grid-column:1/-1;font-size:12px;margin-top:6px}
.tll:empty{display:none}
.tlh{font-size:8px}
}
@media (max-width:760px){
.num-t{aspect-ratio:auto;min-height:120px}
.plan-stick{padding:10px 0 8px;gap:6px}
.pdetail{font-size:12px;min-height:38px;padding:6px 10px}
.plegend{font-size:11px}
.step{min-height:56vh;padding:18px 0}
.can{grid-template-columns:repeat(2,minmax(0,1fr))}
.flow{grid-template-columns:repeat(2,minmax(0,1fr))}
.fl:nth-child(2) .ar{display:none}
.lines{grid-template-columns:repeat(2,minmax(0,1fr))}
.waffle{grid-template-columns:repeat(12,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){
.pt,.step,.cn .f,.cn .b{transition:none}
}
.wa{position:fixed;right:16px;bottom:16px;z-index:50;display:flex;align-items:center;flex-direction:row-reverse;gap:0;background:#00DE7E;color:#111111;text-decoration:none;box-shadow:4px 4px 0 #111111;border:2px solid #111111;font-family:'Plus Jakarta Sans',system-ui,sans-serif;transition:transform .2s ease}
.wa-i{display:flex;align-items:center;justify-content:center;width:56px;height:56px;flex:0 0 auto;background:#FFFFFF;border-left:2px solid #111111;box-sizing:border-box}
.wa-i svg{width:32px;height:32px;display:block}
.wa-t{max-width:0;overflow:hidden;white-space:nowrap;display:flex;flex-direction:column;font-size:14px;font-weight:800;line-height:1.15;padding:0;transition:max-width .35s ease,padding .35s ease}
.wa-t b{font-size:11px;font-weight:600}
.wa:hover .wa-t,.wa:focus-visible .wa-t{max-width:220px;padding:0 14px}
.wa:hover{transform:translate(-2px,-2px);color:#111111}
.wa:active{transform:translate(2px,2px);box-shadow:2px 2px 0 #111111}
.scroller{height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;position:relative}
.tstrip{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px}
.tstrip > i{display:block;aspect-ratio:1}
@media (max-width:760px){.tstrip{grid-template-columns:repeat(6,minmax(0,1fr))}.tstrip > i:nth-child(n+7){display:none}}
/* barra única */
:root{--hdrH:calc(26px + (min(100vw,1280px) - 106px) / 12)}
.hdr{position:sticky;top:0;z-index:20;background:#FFFFFF;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:calc((min(100vw,1280px) - 106px) / 12);gap:6px;max-width:1280px;margin:0 auto;padding:20px 20px 6px;box-sizing:border-box}
.hdr .a-brand{grid-area:1/1/2/4}.hdr .a-nav{grid-area:1/4/2/11;background:#FFFFFF}.hdr .a-cta{grid-area:1/11/2/13}
.hdr .a-nav a{text-decoration:none}
.hdr .nav-arr{display:none}
.hdr .a-nav a:hover{color:#5600E6}
.hdr .a-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.hdr .a-cta{transition:background-color .2s ease,color .2s ease}
.hdr .a-cta:hover{background:#111111 !important;color:#FFD10A !important}
@media (min-width:841px) and (max-width:1080px){.hdr .a-nav{font-size:clamp(11.5px,1.26vw,13.5px) !important;gap:clamp(6px,.9vw,12px) !important;padding:0 clamp(8px,1vw,14px) !important}}
@media (max-width:760px){.wrap{padding:0 16px 16px !important}}
@media (max-width:840px){.hdr{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:calc((100vw - 62px) / 6);padding:16px 16px 6px}.hdr .a-brand{grid-area:1/1/2/4}.hdr .a-cta{grid-area:1/4/2/7}
.hdr{grid-template-rows:min(calc((100vw - 62px) / 6), 64px) 46px !important}
.hdr .a-nav{display:flex !important;grid-area:2/1/3/7 !important;position:relative;padding:0 !important;gap:0 !important;justify-content:flex-start !important;overflow-x:auto !important;overflow-y:hidden !important;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;font-size:15px !important;font-weight:600 !important}
.hdr .a-nav::-webkit-scrollbar{display:none}
.hdr .a-nav a{display:flex !important;flex:0 0 auto;align-items:center;height:100%;padding:0 16px;box-sizing:border-box;border-right:2px solid #111111;color:#111111}
.hdr .a-nav a:last-child{border-right:0}
.hdr .a-nav a[aria-current="page"]{background:#111111;color:#FFD10A;text-decoration:none}
.hdr .a-nav::after{content:"";flex:0 0 1px}
.scroller [id]{scroll-margin-top:150px}
.hdr::before{content:"";grid-area:1/1/2/7;background:#FFFFFF;z-index:1;margin:-16px -16px 0}
.hdr .a-brand,.hdr .a-cta{position:relative;z-index:2}
.hdr{clip-path:inset(0 0 0 0);transition:clip-path .5s cubic-bezier(.4,0,.2,1)}
.hdr .a-nav{transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .4s ease}
.hdr .a-nav{margin:0 52px !important}
.hdr .nav-arr{display:flex !important;grid-area:2/1/3/7;align-self:stretch;align-items:center;justify-content:center;width:46px;margin:0;padding:0;border:0;border-radius:0;cursor:pointer;background:#5600E6;color:#FFFFFF;z-index:1;transition:opacity .25s ease,background-color .2s ease,transform .5s cubic-bezier(.4,0,.2,1)}
.hdr .nav-arr svg{width:14px;height:14px;display:block}
.hdr .nav-arr:active{background:#111111}
.hdr .nav-arr[data-d="l"]{justify-self:start}
.hdr .nav-arr[data-d="r"]{justify-self:end}
html[data-nl="0"] .hdr .nav-arr[data-d="l"],html[data-nr="0"] .hdr .nav-arr[data-d="r"]{opacity:.35;pointer-events:none}
:root{--hdrH:calc(74px + min(calc((100vw - 62px) / 6), 64px))}
html[data-nav="off"]{--hdrH:calc(22px + min(calc((100vw - 62px) / 6), 64px))}
html[data-nav="off"] .hdr{clip-path:inset(0 0 52px 0)}
html[data-nav="off"] .hdr .a-nav,html[data-nav="off"] .hdr .nav-arr{transform:translateY(-52px);opacity:0;pointer-events:none}
}
@media (min-width:600px) and (max-width:840px){.hdr .a-nav a{flex:1 0 auto;justify-content:center;padding:0 10px}}
@media (min-width:761px) and (max-width:840px){.hdr{padding:20px 20px 6px !important;grid-template-rows:calc((100vw - 106px) / 12) 46px !important}.hdr::before{margin:-20px -20px 0}:root{--hdrH:calc(78px + (100vw - 106px) / 12)}html[data-nav="off"]{--hdrH:calc(26px + (100vw - 106px) / 12)}}
.wa-t{max-width:240px !important;padding:0 14px !important}
/* mobile-fix start */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
a,button,label,input{-webkit-tap-highlight-color:rgba(0,0,0,0)}
.wa{bottom:calc(16px + env(safe-area-inset-bottom,0px)) !important;right:calc(16px + env(safe-area-inset-right,0px)) !important}
@media (max-width:760px){
.hdr .a-brand svg{height:clamp(16px,5.2vw,30px) !important}
.wa{right:calc(10px + env(safe-area-inset-right,0px)) !important;bottom:calc(10px + env(safe-area-inset-bottom,0px)) !important;box-shadow:3px 3px 0 #111111 !important}
.hdr{grid-auto-rows:min(calc((100vw - 62px) / 6), 64px) !important}
.wa-i{width:46px !important;height:46px !important}
.wa-i svg{width:28px !important;height:28px !important}
.wa-t{font-size:12px !important;padding:0 10px !important}
.wa-t b{font-size:10.5px !important}
footer a{display:inline-block;padding:4px 0}
.wrap,.mg{padding-bottom:76px !important}
section[aria-labelledby="login-t"]{min-height:0 !important}
}

.plan-stick{top:calc(var(--hdrH) - 2px) !important;transition:top .5s cubic-bezier(.4,0,.2,1)}
@media (max-width:760px){
.years span{font-size:10.5px}
.years .yl{display:none}
.cols{font-size:10px}
.pt span{font-size:9px !important}
.skc b,.tlh{font-size:11px}
}

@media (max-width:760px){.hero-tiles{display:none !important}}
/* mobile-fix end */
/* pt start */
.mzl{position:fixed;inset:0;z-index:2147483600;background:#FFFFFF;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:#111111;overflow:auto}
html[data-lock="0"] .mzl,html[data-dc-canvas] .mzl{display:none !important}
.mzl-bg{position:absolute;inset:0;padding:20px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:calc((100vw - 106px) / 12);gap:6px;align-content:start;overflow:hidden}
.mzl-bg > i{display:block;background:var(--c);opacity:.14;transition:opacity 1.6s ease}
.mzl-bg > i:hover{opacity:1;transition:opacity .4s ease}
.mzl-c{position:relative;width:min(100%,440px);background:#FFFFFF;border:2px solid #111111;box-shadow:8px 8px 0 #111111;display:flex;flex-direction:column;gap:14px;padding:0 0 24px;margin:0;box-sizing:border-box}
.mzl-brand{background:#111111;color:#FFFFFF;padding:22px 26px;display:flex}
.mzl-brand svg{height:30px;width:auto;display:block;fill:currentColor}
.mzl-k,.mzl-h,.mzl-p,.mzl-lb,.mzl-row,.mzl-m{margin:0 26px}
.mzl-k{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:8px;margin-top:8px}
.mzl-k i{width:10px;height:10px;background:#5600E6;display:block}
.mzl-h{font-size:clamp(26px,6vw,34px);font-weight:800;letter-spacing:-.04em;line-height:1}
.mzl-p{font-size:15px;line-height:1.4;color:#3A3A37}
.mzl-lb{font-size:13px;font-weight:700;margin-top:4px}
.mzl-row{display:flex;gap:6px}
.mzl-row input{flex:1 1 auto;min-width:0;height:48px;border:2px solid #111111;border-radius:0;padding:0 14px;font:inherit;font-size:16px;background:#FFFFFF;color:#111111;box-sizing:border-box;outline:none;-webkit-appearance:none;appearance:none}
.mzl-row input:focus{border-color:#5600E6;box-shadow:0 0 0 3px rgba(86,0,230,.25)}
.mzl-row button{flex:0 0 auto;height:48px;border:0;border-radius:0;background:#FFD10A;color:#111111;font:inherit;font-size:16px;font-weight:800;padding:0 18px;cursor:pointer;transition:background-color .2s ease,color .2s ease}
.mzl-row button:hover,.mzl-row button:focus-visible{background:#111111;color:#FFD10A}
.mzl-m{min-height:20px;font-size:13px;font-weight:600;line-height:1.35}
.mzl-m span{display:none}
.mzl-m .m-bad,.mzl-m .m-wait,.mzl-m .m-empty{color:#C4002B}
.mzl-m .m-idle,.mzl-m .m-busy{color:#5600E6}
html[data-lockmsg="bad"] .mzl-m .m-bad,html[data-lockmsg="idle"] .mzl-m .m-idle,html[data-lockmsg="wait"] .mzl-m .m-wait,html[data-lockmsg="empty"] .mzl-m .m-empty{display:inline}
html[data-lockbusy] .mzl-m span{display:none}
html[data-lockbusy] .mzl-m .m-busy{display:inline}
html[data-lockmsg="bad"] .mzl-row input,html[data-lockmsg="empty"] .mzl-row input{border-color:#C4002B}
.mzl-x{position:absolute;top:-18px;right:16px;z-index:2;margin:0;background:#FF3F7A;color:#111111;border:2px solid #111111;box-shadow:3px 3px 0 #111111;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:7px 12px;display:flex;align-items:center;gap:8px;opacity:0;transform:translateY(8px) scale(.85);pointer-events:none;transition:opacity .18s ease,transform .3s cubic-bezier(.3,1.7,.5,1)}
.mzl-x svg{width:11px;height:11px;fill:#111111;display:block}
html[data-lockmsg="bad"] .mzl-x,html[data-lockmsg="wait"] .mzl-x{opacity:1;transform:none}
html[data-lockmsg="bad"] .mzl-c,html[data-lockmsg="wait"] .mzl-c{border-color:#C4002B}
html[data-lockshake="1"] .mzl-c{animation:mzlShakeA .7s cubic-bezier(.36,.07,.19,.97)}
html[data-lockshake="2"] .mzl-c{animation:mzlShakeB .7s cubic-bezier(.36,.07,.19,.97)}
html[data-lockshake="1"] .mzl-x{animation:mzlDropA .75s cubic-bezier(.2,1.6,.4,1) backwards}
html[data-lockshake="2"] .mzl-x{animation:mzlDropB .75s cubic-bezier(.2,1.6,.4,1) backwards}
html[data-lockmsg="bad"][data-lockshake="1"] .mzl-m .m-bad,html[data-lockmsg="wait"][data-lockshake="1"] .mzl-m .m-wait{display:inline-block;animation:mzlPopA .5s cubic-bezier(.2,1.8,.4,1) .15s backwards}
html[data-lockmsg="bad"][data-lockshake="2"] .mzl-m .m-bad,html[data-lockmsg="wait"][data-lockshake="2"] .mzl-m .m-wait{display:inline-block;animation:mzlPopB .5s cubic-bezier(.2,1.8,.4,1) .15s backwards}
html[data-lockshake="1"] .mzl-row button{animation:mzlFlashA .8s ease}
html[data-lockshake="2"] .mzl-row button{animation:mzlFlashB .8s ease}
html:not([data-lockmsg="bad"]):not([data-lockmsg="wait"]) .mzl-x{animation:none !important}
@keyframes mzlDropA{0%{opacity:0;transform:translateY(-34px) rotate(-6deg) scale(.7)}55%{opacity:1;transform:translateY(4px) rotate(2deg) scale(1.08)}75%{transform:translateY(-3px) rotate(-1deg) scale(.98)}100%{opacity:1;transform:none}}
@keyframes mzlDropB{0%{opacity:0;transform:translateY(-34px) rotate(-6deg) scale(.7)}55%{opacity:1;transform:translateY(4px) rotate(2deg) scale(1.08)}75%{transform:translateY(-3px) rotate(-1deg) scale(.98)}100%{opacity:1;transform:none}}
@keyframes mzlPopA{0%{transform:scale(.6);opacity:0}100%{transform:none;opacity:1}}
@keyframes mzlPopB{0%{transform:scale(.6);opacity:0}100%{transform:none;opacity:1}}
@keyframes mzlFlashA{0%,45%{background:#FF3F7A;color:#111111}100%{background:#FFD10A;color:#111111}}
@keyframes mzlFlashB{0%,45%{background:#FF3F7A;color:#111111}100%{background:#FFD10A;color:#111111}}
@keyframes mzlShakeA{0%,100%{transform:translateX(0)}10%{transform:translateX(-22px) rotate(-1.2deg)}24%{transform:translateX(20px) rotate(1deg)}38%{transform:translateX(-16px) rotate(-.8deg)}52%{transform:translateX(12px) rotate(.5deg)}66%{transform:translateX(-7px)}80%{transform:translateX(4px)}92%{transform:translateX(-2px)}}
@keyframes mzlShakeB{0%,100%{transform:translateX(0)}10%{transform:translateX(-22px) rotate(-1.2deg)}24%{transform:translateX(20px) rotate(1deg)}38%{transform:translateX(-16px) rotate(-.8deg)}52%{transform:translateX(12px) rotate(.5deg)}66%{transform:translateX(-7px)}80%{transform:translateX(4px)}92%{transform:translateX(-2px)}}
/* correct password: the same transition mosaic falls over the lock, then lifts into the loader */
html[data-lock="out"] .mzt{z-index:2147483700}
html[data-lock="out"] .mzl-c{animation:mzlOut .45s ease .12s both !important}
@keyframes mzlOut{to{opacity:0;transform:scale(.96)}}
@media (max-height:640px){.mzl{align-items:flex-start;padding-top:28px}}
.mzl{padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
@media (max-width:760px){.mzl{padding:16px}.mzl-bg{padding:16px;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:calc((100vw - 62px) / 6)}.mzl-c{box-shadow:5px 5px 0 #111111}.mzl-k,.mzl-h,.mzl-p,.mzl-lb,.mzl-row,.mzl-m{margin:0 20px}.mzl-brand{padding:18px 20px}.mzl-k{margin-top:6px}}
.mzt{position:fixed;inset:0;z-index:2147483000;background:#FFFFFF;display:block;overflow:hidden;animation:mztSafe .4s ease 4.5s both}
html[data-pt] .mzt{animation:none}
html[data-dc-canvas] .mzt,html[data-pt="done"] .mzt{display:none !important}
.mzt-w{position:absolute;inset:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:calc(100vw / 12);align-content:start}
.mzt-w > i{display:block;background:var(--c)}
.mzt-l{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;opacity:0;pointer-events:none;font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:#111111}
.mzt-st{position:relative;width:152px;height:152px;perspective:700px}
.mzt-cube{position:absolute;inset:0;transform-style:preserve-3d;transform:translateZ(-76px)}
.mzt-f{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,22px);grid-auto-rows:22px;gap:4px;backface-visibility:hidden}
.mzt-f > i{display:block}
.mzt-fr{transform:translateZ(76px)}
.mzt-ri{transform:rotateY(90deg) translateZ(76px);opacity:0}
.mzt-bk{transform:rotateY(180deg) translateZ(76px);opacity:0}
.mzt-le{transform:rotateY(-90deg) translateZ(76px);opacity:0}
.mzt-tp{transform:rotateX(90deg) translateZ(76px);opacity:0}
.mzt-fr > i{background:#111111;transform:scale(0)}
.mzt-logo{position:absolute;left:0;top:26px;width:152px;height:100px;fill:#111111;overflow:visible}
.mzt-tx{margin:0;font-size:15px;font-weight:700;letter-spacing:-.01em}
.mzt-dt i{font-style:normal;animation:mztDot 1.2s steps(1) infinite}
.mzt-dt i:nth-child(2){animation-delay:.2s}.mzt-dt i:nth-child(3){animation-delay:.4s}
.mzt-bar{display:grid;grid-template-columns:repeat(10,10px);gap:3px}
.mzt-bar > i{display:block;height:10px;background:#E4E3DE;transition:background-color .25s ease}
html[data-pp="1"] .mzt-bar > i:nth-child(-n+1){background:#5600E6}
html[data-pp="2"] .mzt-bar > i:nth-child(-n+2){background:#FFD10A}
html[data-pp="3"] .mzt-bar > i:nth-child(-n+3){background:#FF6B00}
html[data-pp="4"] .mzt-bar > i:nth-child(-n+4){background:#FF3F7A}
html[data-pp="5"] .mzt-bar > i:nth-child(-n+5){background:#00DE7E}
html[data-pp="6"] .mzt-bar > i:nth-child(-n+6){background:#5600E6}
html[data-pp="7"] .mzt-bar > i:nth-child(-n+7){background:#FFD10A}
html[data-pp="8"] .mzt-bar > i:nth-child(-n+8){background:#FF6B00}
html[data-pp="9"] .mzt-bar > i:nth-child(-n+9){background:#FF3F7A}
html[data-pp="10"] .mzt-bar > i:nth-child(-n+10){background:#00DE7E}
/* load: the cover clears, the cube loader plays */
html[data-pt="load"] .mzt-w > i{animation:mztTileOut .42s cubic-bezier(.5,0,.75,0) var(--d) both}
html[data-pt="load"] .mzt-l{opacity:1;transition:opacity .35s ease .25s}
html[data-pt="load"] .mzt-cube,html[data-pt="fin"] .mzt-cube{animation:mztCube 3.4s linear infinite}
html[data-pt="load"] .mzt-logo,html[data-pt="fin"] .mzt-logo{animation:mztLogo 3.4s linear infinite}
html[data-pt="load"] .mzt-fr > i.m,html[data-pt="fin"] .mzt-fr > i.m{animation:mztM 3.4s linear var(--d) infinite both}
html[data-pt="load"] .mzt-fr > i.n,html[data-pt="fin"] .mzt-fr > i.n{animation:mztN 3.4s linear var(--d) infinite both}
html[data-pt="load"] .mzt-ri,html[data-pt="load"] .mzt-bk,html[data-pt="load"] .mzt-le,html[data-pt="load"] .mzt-tp{animation:mztF 3.4s linear infinite}
/* fin: loader done, whole layer fades away */
html[data-pt="fin"] .mzt-w{display:none}
html[data-pt="fin"] .mzt-l{opacity:1}
html[data-pt="fin"] .mzt{animation:mztFade .55s ease .05s both;pointer-events:none}
/* in: arriving from another page, the mosaic lifts */
html[data-pt="in"] .mzt{animation:mztBg .5s ease .12s both;pointer-events:none}
html[data-pt="in"] .mzt-w > i{animation:mztTileOut .4s cubic-bezier(.5,0,.75,0) var(--d) both}
/* out: leaving, the mosaic drops in */
html[data-pt="out"] .mzt{animation:mztBgIn .3s ease .2s both}
html[data-pt="out"] .mzt-w > i{animation:mztTileIn .34s cubic-bezier(.2,.9,.3,1.15) var(--d) both}
@media (max-width:760px){.mzt-w{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:calc(100vw / 6)}}
@keyframes mztSafe{to{opacity:0;visibility:hidden}}
@keyframes mztFade{to{opacity:0;visibility:hidden}}
@keyframes mztBg{from{background-color:#FFFFFF}to{background-color:rgba(255,255,255,0)}}
@keyframes mztBgIn{from{background-color:rgba(255,255,255,0)}to{background-color:#FFFFFF}}
@keyframes mztTileOut{from{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}
@keyframes mztTileIn{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes mztDot{0%{opacity:0}35%,100%{opacity:1}}
@keyframes mztLogo{0%,10%{opacity:1;transform:scale(1)}17%{opacity:0;transform:scale(.94)}89%{opacity:0;transform:scale(.94)}97%,100%{opacity:1;transform:scale(1)}}
@keyframes mztM{0%,11%{transform:scale(0);opacity:0;background:#111111}17%{transform:scale(1);opacity:1;background:#111111}25%{background:#111111}33%{transform:scale(1);background:var(--c)}71%{background:var(--c)}79%{transform:scale(1);background:#111111}88%{transform:scale(1);opacity:1;background:#111111}93%,100%{transform:scale(.4);opacity:0;background:#111111}}
@keyframes mztN{0%,22%{transform:scale(0);background:var(--c)}31%{transform:scale(1);background:var(--c)}73%{transform:scale(1);background:var(--c)}81%,100%{transform:scale(0);background:var(--c)}}
@keyframes mztF{0%,35%{opacity:0}41%,69%{opacity:1}75%,100%{opacity:0}}
@keyframes mztCube{0%,36%{transform:translateZ(-76px) rotateX(0deg) rotateY(0deg)}46%{transform:translateZ(-76px) rotateX(-26deg) rotateY(-42deg)}64%{transform:translateZ(-76px) rotateX(-26deg) rotateY(-402deg)}75%,100%{transform:translateZ(-76px) rotateX(0deg) rotateY(-360deg)}}
/* pt end */

/* Course colors follow scroll position in both directions. */
.pt,.pt span{transition:none;animation:none}
.pt[data-cur="true"]{transform:none}
