@font-face{font-family:'Source Sans 3';src:url('./assets/source-sans-3-variable.woff2') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
:root{--blue:#002860;--paper:#f3f0e9;--orange:#f56b00;--ink:#132e50;--muted:#5d6974;--line:#d7d7ce;font-family:'Source Sans 3',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button:disabled{cursor:default}h1,h2,h3,p{margin:0}h1,h2,h3,.wordmark{font-family:'Source Sans 3',Impact,sans-serif;font-weight:500}img{max-width:100%;display:block}[hidden]{display:none!important}.skip{position:fixed;left:16px;top:-100px;z-index:20;padding:14px;background:var(--orange);color:var(--blue)}.skip:focus{top:12px}.eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:14px 20px;background:var(--blue);border:1px solid var(--blue);color:white;font-size:13px}.button.light{background:var(--paper);color:var(--blue);border-color:var(--paper)}.button.secondary{background:transparent;color:var(--blue)}.text-link{display:inline-block;padding:12px 0;border-bottom:1px solid currentColor;font-size:13px}.wordmark{display:block;font-size:40px;letter-spacing:-.02em;line-height:1}.wordmark span{display:block;margin-top:12px;font-family:'Source Sans 3',sans-serif;font-size:10px;font-weight:400;letter-spacing:.07em}.gate{min-height:100dvh;padding:40px max(24px,7vw);background:var(--blue);color:var(--paper)}.gate-card{max-width:740px;margin:12vh auto 8vh;padding:36px 0;border-top:2px solid var(--orange)}.gate h1{font-size:clamp(45px,7vw,76px);line-height:1;margin:24px 0}.gate-card>p:not(.eyebrow){max-width:560px;line-height:1.75;color:#d5dfeb}.gate-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px}.gate .back-link{font-size:13px}.gate .button.secondary{color:var(--paper);border-color:#8194ad}.campus{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;padding:38px 24px 28px;background:var(--blue);color:var(--paper)}.sidebar .wordmark{padding:0 4px 38px}.nav-label{font-size:9px;letter-spacing:.18em;opacity:.6;margin:24px 12px 16px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{min-height:50px;display:flex;align-items:center;gap:14px;padding:12px;font-size:12px}.sidebar nav a>span{font-size:9px;opacity:.6}.sidebar nav i{margin-left:auto;font-style:normal;opacity:0}.sidebar nav a[aria-current=page]{background:var(--paper);color:var(--blue)}.sidebar nav a[aria-current=page] i{opacity:1}.sidebar nav a:hover{background:#ffffff14}.sidebar nav a[aria-current=page]:hover{background:white}.sidebar-bottom{margin-top:auto;padding:34px 12px 0}.sidebar-bottom p{font-family:'Source Sans 3',sans-serif;font-size:35px;line-height:1.07}.sidebar-bottom em{font-style:normal;color:#ff9745}.sidebar-bottom>a{display:block;border-top:1px solid #ffffff30;margin-top:28px;padding-top:22px;font-size:11px}.workspace{min-width:0}.topbar{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 4.5%;border-bottom:1px solid var(--line)}.topbar>p{font-size:10px;letter-spacing:.12em}.topbar>p span{color:var(--muted)}.account{display:flex;align-items:center;gap:20px;font-size:12px}.account-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account button{background:none;border:0;border-left:1px solid var(--line);padding:12px 0 12px 20px;color:var(--ink);font-size:11px}main{padding:36px 4.5% 60px;min-height:calc(100dvh - 159px)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.section-head h1{font-size:40px;letter-spacing:-.02em}.section-head .status{font-size:10px;color:#275a47;background:#e1e8df;padding:10px 13px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 34%;background:var(--blue);color:var(--paper);min-height:355px;position:relative;overflow:hidden}.hero-copy{padding:40px;z-index:1}.hero h2{font-size:clamp(52px,5.1vw,78px);line-height:.97;letter-spacing:-.025em;margin:22px 0}.hero h2 span{color:#ff9745}.hero-copy>p:not(.eyebrow){max-width:450px;font-size:13px;line-height:1.8;color:#d0dae7}.hero .button{margin-top:25px}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;background:repeating-radial-gradient(circle at 50% 50%,transparent 0 49px,#ffffff14 50px 51px,transparent 52px 80px)}.hero-art:before{content:'';position:absolute;width:180px;height:180px;background:var(--orange);border-radius:50%}.hero-art img{position:relative;width:110%;max-width:310px;object-fit:contain;filter:hue-rotate(185deg) saturate(1.4)}.program-strip{display:flex;justify-content:space-between;gap:30px;padding:20px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.6}.program-strip strong{font-weight:400;max-width:520px}.program-strip span{color:var(--muted);white-space:nowrap}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}.panel{border:1px solid var(--line);padding:28px;min-width:0;background:#fbfaf6}.panel .eyebrow{color:var(--muted);font-size:10px}.panel h2{font-size:30px;line-height:1.1;margin:20px 0 12px}.panel p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted);max-width:600px}.panel .text-link{margin-top:14px}.section-intro{max-width:650px;font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:28px}.module-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:20px;min-height:96px;padding:20px 4px;cursor:pointer}summary::-webkit-details-marker{display:none}.module-number{font-family:'Source Sans 3',sans-serif;font-size:33px;color:#71829b}summary h2{font-size:25px;line-height:1.12}summary .module-state{font-size:10px;color:var(--muted)}summary .module-state::after{content:' +';margin-left:18px;color:var(--blue);font-size:20px}details[open] summary .module-state::after{content:' −'}details[open]{background:#e9e8e1}details>p{padding:0 32px 26px 70px;font-size:13px;color:var(--muted);line-height:1.8}.empty-panel{padding:44px;min-height:260px}.empty-panel .empty-mark{font-family:'Source Sans 3',sans-serif;font-size:52px;color:#69809d}.empty-panel h2{font-size:38px;margin:16px 0}.requirements{list-style:none;padding:0;margin:24px 0 0}.requirements li{display:flex;justify-content:space-between;gap:25px;padding:20px 0;border-bottom:1px solid var(--line);font-size:13px}.requirements li span{color:var(--muted);text-align:right}.note{margin-top:24px;padding-left:18px;border-left:3px solid var(--orange);font-size:12px;line-height:1.8;color:var(--muted)}.footer{display:flex;justify-content:space-between;gap:20px;margin:0 4.5%;padding:25px 0;border-top:1px solid var(--line);font-size:9px;letter-spacing:.1em}
@media(min-width:1550px){main{max-width:1330px;margin:auto}.hero h2{font-size:80px}}
@media(max-width:1100px){.campus{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding:30px 16px}.hero-copy{padding:32px}.hero{grid-template-columns:1fr 28%}.hero-art:before{width:140px;height:140px}.hero h2{font-size:58px}.account-name{max-width:115px}.dashboard-grid{gap:16px}.panel{padding:23px}.topbar>p span{display:none}}
@media(max-width:780px){.campus{display:block}.sidebar{position:static;height:auto;padding:24px 20px 0}.sidebar .wordmark{font-size:34px;padding:0 0 24px}.sidebar .wordmark span{font-size:9px;margin-top:8px}.nav-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:5px;margin:0 -20px;padding:0 20px 12px}.sidebar nav a{flex-shrink:0;min-height:46px;font-size:11px;padding:12px}.sidebar nav a span,.sidebar nav i{display:none}.topbar{min-height:70px;padding:14px 20px}.account{gap:10px}.account-name{max-width:110px}.account button{padding-left:12px}.topbar>p{font-size:8px;letter-spacing:.05em}main{padding:26px 20px 42px;min-height:60vh}.section-head{margin-bottom:20px}.section-head h1{font-size:35px}.section-head .status{font-size:9px;padding:8px}.hero-copy{padding:30px}.hero{grid-template-columns:1fr 28%;min-height:330px}.hero h2{font-size:57px}.hero-art img{max-width:210px;width:180%;margin-left:-30px}.hero-art:before{width:130px;height:130px}.hero-copy>p:not(.eyebrow){max-width:330px}.program-strip{display:block;font-size:10px}.program-strip span{display:block;margin-top:10px}.footer{margin:0 20px}summary{grid-template-columns:30px 1fr;gap:14px}summary h2{font-size:23px}summary .module-state{grid-column:2}.module-number{font-size:27px}details>p{padding-left:48px}.empty-panel{padding:28px}.empty-panel h2{font-size:34px}}
@media(max-width:520px){.hero{display:block;min-height:0}.hero-copy{padding:30px 24px}.hero h2{font-size:57px;max-width:300px}.hero-copy>p:not(.eyebrow){max-width:280px}.hero-art{display:none}.dashboard-grid{grid-template-columns:1fr}.account-name{display:none}.section-head{align-items:flex-start}.section-head h1{font-size:32px}.section-head .status{max-width:110px;text-align:center}.requirements li{display:block}.requirements li span{display:block;text-align:left;margin-top:8px}.gate{padding:30px 24px}.gate-card{margin-top:10vh}.gate-actions{display:grid}.section-intro{font-size:13px}}
@media(prefers-reduced-motion:no-preference){main{animation:appear .3s ease-out}@keyframes appear{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}}

/* Identidad de Almalead y tipografía de lectura para el campus. */
/* La máscara usa la transparencia del original, sin redibujar la marca.
   Símbolo y nombre ocupan zonas separadas del original; el corte de color cae en el espacio vacío. */
.brand-logo{display:block;flex:none;width:174px;aspect-ratio:916/542;height:auto;margin:0;
 background:linear-gradient(to bottom,var(--orange) 0 72%,#fff 72% 100%);
 -webkit-mask-image:url('./assets/logo-almalead-original-transparente.png');mask-image:url('./assets/logo-almalead-original-transparente.png');
 -webkit-mask-mode:alpha;mask-mode:alpha;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
 -webkit-mask-size:120.08734% 114.39114%;mask-size:120.08734% 114.39114%;
 -webkit-mask-position:center;mask-position:center}
.wordmark{width:fit-content;font-family:'Source Sans 3',sans-serif;font-weight:400}
.wordmark span{font-size:12px;letter-spacing:.02em;line-height:1.5}
.gate .brand-logo{width:192px}
.sidebar .wordmark{padding-bottom:14px}
.nav-label{font-size:11px;margin-top:22px}
.sidebar nav a{font-size:14px;gap:12px}
.sidebar nav a>span{font-size:10px}
.sidebar-bottom p{font-size:29px;font-weight:400;line-height:1.2}
.sidebar-bottom>a{font-size:13px}
.topbar>p{font-size:12px}
.account{font-size:14px}
.account button{font-size:13px}
.section-head h1{font-size:34px;font-weight:500;letter-spacing:-.025em}
.section-head .status{font-size:12px}
.hero h2{font-size:clamp(46px,4.2vw,64px);font-weight:400;line-height:1.06;letter-spacing:-.035em}
.hero h2 span{font-weight:500}
.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.6}
.hero-copy{padding:40px}
.eyebrow{font-size:12px;letter-spacing:.1em}
.button,.text-link{font-size:15px}
.program-strip{font-size:13px}
.panel .eyebrow{font-size:12px}
.panel h2{font-size:27px;font-weight:500;line-height:1.2;letter-spacing:-.025em}
.panel p:not(.eyebrow){font-size:16px;line-height:1.6}
.section-intro{font-size:16px}
summary h2{font-size:24px;font-weight:500;line-height:1.25}
.module-number{font-size:29px;font-weight:400}
summary .module-state{font-size:12px}
details>p{font-size:15px}
.requirements li{font-size:15px}
.note{font-size:14px}
.footer{font-size:11px;letter-spacing:.06em}
.gate h1{font-size:clamp(38px,5vw,62px);font-weight:400;line-height:1.1}
@media(max-width:1100px){.brand-logo{width:168px}.hero-copy{padding:32px}.sidebar nav a{font-size:13px}}
@media(max-width:780px){.sidebar .wordmark{padding-bottom:22px}.brand-logo{width:168px}.sidebar .wordmark span{font-size:12px;margin-top:10px}.sidebar nav a{font-size:14px}.topbar>p{font-size:10px}.account button{font-size:13px}.hero h2{font-size:49px}.section-head h1{font-size:30px}.section-head .status{font-size:11px}.hero-copy{padding:28px}.footer{font-size:10px}}
@media(max-width:520px){.hero h2{font-size:46px;max-width:100%;letter-spacing:-.04em}.hero-copy{padding:30px 24px}.section-head h1{font-size:28px}.hero-copy>p:not(.eyebrow){font-size:16px}.panel h2{font-size:26px}.section-intro{font-size:16px}.program-strip{font-size:13px}.section-head .status{max-width:none}.account button{padding-left:10px}}

/* Mi inicio: encuentros en vivo, grabaciones y lecciones del portal. */
.home-welcome{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 34px;background:var(--blue);color:var(--paper)}
.home-welcome>div{min-width:0}.home-welcome h2{font-size:34px;line-height:1.2;font-weight:400;letter-spacing:-.025em;margin:10px 0}.home-welcome p:not(.eyebrow){font-size:17px;line-height:1.5;color:#dbe4ef}.home-welcome img{width:140px;height:140px;object-fit:contain;flex-shrink:0;filter:hue-rotate(185deg) saturate(1.4)}
.cohort-label{display:inline-block;margin-top:15px;font-size:12px;color:#dbe4ef}
.home-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:22px;margin-top:26px}
.home-grid .panel{padding:27px 29px;display:flex;flex-direction:column;align-items:flex-start}
.home-grid h2{margin-top:17px;font-size:27px}.home-panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%}.format-tag{font-size:12px;white-space:nowrap;color:#4f5e6d}.format-tag>span{color:#bb5100;font-size:10px;margin-right:4px}
.home-live{border-top:3px solid var(--orange)}.home-lessons{border-top:3px solid var(--blue)}
.class-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;margin:20px 0}.class-facts dt{font-size:12px;color:var(--muted)}.class-facts dd{margin:4px 0 0;font-size:16px}
.unpublished-link{font-size:14px;background:#eaeae3;color:#596572;padding:12px 16px;border:1px dashed #c4c9c8;width:100%}
.home-empty{margin:21px 0 0;padding:17px 0;border-top:1px solid var(--line);width:100%}.home-empty strong{display:block;font-size:15px;font-weight:500}.home-empty span{display:block;color:var(--muted);font-size:14px;line-height:1.55;margin-top:5px}
.home-grid .text-link{margin-top:17px}.home-recordings .home-empty{border-top-color:#ddbc99}.home-recordings{background:#fcf7ef}
.progress-facts{width:100%;margin:4px 0 18px}.progress-facts>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.progress-facts dd{margin:0;color:var(--muted);text-align:right}
@media(max-width:1000px){.home-grid{grid-template-columns:1fr 1fr;gap:16px}.home-grid .panel{padding:23px}.home-welcome{padding:24px}.home-welcome h2{font-size:30px}.home-welcome img{width:105px;height:105px}.home-panel-head{align-items:flex-start;flex-wrap:wrap;gap:8px}.progress-facts>div{display:block}.progress-facts dd{text-align:left;margin-top:4px}}
@media(max-width:600px){.home-grid{grid-template-columns:1fr}.home-welcome{padding:25px 22px}.home-welcome h2{font-size:29px}.home-welcome img{display:none}.home-welcome p:not(.eyebrow){font-size:16px}.home-grid .panel{padding:25px 22px}.home-grid h2{font-size:26px}.home-panel-head{flex-wrap:nowrap}.class-facts{gap:12px}.progress-facts>div{display:flex}.progress-facts dd{text-align:right;margin-top:0}}
@media(max-width:360px){.progress-facts>div{display:block}.progress-facts dd{text-align:left;margin-top:4px}.home-panel-head{flex-wrap:wrap}}

.published-lesson{padding:24px 28px;border-top:1px solid var(--line)}.published-lesson h3{font-size:23px;font-weight:400;margin:0 0 18px}.lesson-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;margin:18px 0}.activity-card{margin-bottom:24px}.activity-card label{display:grid;gap:12px}.activity-card textarea{width:100%;font:inherit;line-height:1.6;padding:16px;border:1px solid var(--line);background:#fff;resize:vertical}.activity-card form button{margin-top:18px}.submission-history{border-top:1px solid var(--line);padding:18px 0}.submission-history summary{cursor:pointer}.student-feedback{padding:20px;background:#e7ece5;margin:18px 0}.academic-status,.submission-status{line-height:1.6;color:#8c4331}
/* Los desplegables de entregas no usan la cuadrícula del temario. */
.submission-history summary{display:block;min-height:0;padding:16px 0;font-weight:500}.submission-history{padding:16px;margin:20px 0}.activity-card>.requirements{margin-bottom:18px}.activity-card form{margin-top:24px}
.skip:not(:focus){top:0;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.calendar-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:16px 0 24px}.calendar-heading h2{font-size:32px;font-weight:400;margin:12px 0}.calendar-heading p{color:var(--muted);line-height:1.6}.calendar-heading label{display:grid;gap:10px;min-width:220px;font-size:14px}.calendar-heading select{font:inherit;padding:12px;background:white;border:1px solid var(--line);color:var(--blue)}.calendar-policy{padding:18px 22px;border-left:3px solid var(--orange);background:#ebe5db;line-height:1.6;margin:20px 0 28px;font-size:15px}.calendar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.calendar-card{background:#fffdfa;padding:28px;border:1px solid var(--line);min-width:0;display:flex;flex-direction:column;align-items:start;gap:16px}.calendar-card.is-async{border-top:4px solid var(--orange);background:#f9efdf}.calendar-card-top{display:flex;gap:12px;justify-content:space-between;width:100%;font-size:12px;color:var(--muted);align-items:center}.calendar-card h2{font-size:25px;line-height:1.25;font-weight:400}.calendar-card>p{line-height:1.65;font-size:15px}.calendar-date{color:var(--blue);font-weight:500}.calendar-instructor{color:var(--muted)}.calendar-recording{border-top:1px solid var(--line);padding-top:20px;margin-top:auto;width:100%;display:grid;gap:12px}.calendar-recording p{line-height:1.5}.calendar-recording small{color:var(--muted);line-height:1.5}.calendar-recording .button{justify-self:start}.calendar-instructions{white-space:pre-wrap;overflow-wrap:anywhere}.calendar-resources{display:grid;gap:12px}.calendar-resources a{font-size:14px;text-decoration:underline;text-underline-offset:4px}.calendar-note{padding:18px;background:#f9efdf;line-height:1.7}.home-recordings>.text-link{margin-top:16px}.home-live .class-facts dd{overflow-wrap:anywhere}
@media(max-width:850px){.calendar-heading{display:block}.calendar-heading label{margin-top:24px}.calendar-grid{grid-template-columns:1fr}.calendar-card{padding:24px}.calendar-heading h2{font-size:28px}}

/* Un solo tratamiento de marca en navegación, acceso y administración. */
.wordmark .brand-logo{margin:0;line-height:0}
.sidebar .wordmark{padding:0 12px 18px}
.sidebar .wordmark>span:not(.brand-logo){margin-top:18px;color:#c4d2e3;font-size:11px;letter-spacing:.06em;line-height:1.6}
.gate .wordmark>span:not(.brand-logo){color:#c4d2e3;letter-spacing:.08em;font-size:12px;margin-top:20px}
@media(max-width:780px){.sidebar .wordmark{padding:0 0 24px}.sidebar .wordmark>span:not(.brand-logo){margin-top:12px;font-size:10px}.sidebar .wordmark .brand-logo{width:146px;margin:0}}
@media(forced-colors:active){.brand-logo{background:CanvasText;forced-color-adjust:none}}

.certification-content>.panel+.panel{margin-top:24px}
/* Video privado integrado en las lecciones del campus. */
.lesson-video{margin:22px 0;max-width:960px}.lesson-video>p{margin:12px 0;font-size:14px;line-height:1.6;color:var(--muted)}.lesson-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#071e3a;border-radius:8px;margin-top:18px}.lesson-video .button{gap:24px}.module-list details:first-child .module-number{color:var(--orange)}
@media(max-width:600px){.published-lesson{padding:18px 14px}.lesson-video{margin:18px 0}.lesson-video .button{width:100%}}
