.module-navigation{display:flex;flex-wrap:wrap;gap:9px;margin:32px 0 12px}.module-navigation a{padding:11px 14px;border:1px solid #ffffff40;border-radius:5px;font-size:12px;color:#eee6fa;text-decoration:none;transition:background .2s}.module-navigation a:hover,.module-navigation a:focus-visible{background:#6336b5;color:#fff}.lesson-catalog{display:grid;gap:0}.lesson-shelf{display:grid;grid-template-columns:.8fr 2fr;gap:45px;align-items:start;padding:45px 0;border-bottom:1px solid #ffffff30;scroll-margin-top:110px}.shelf-heading .kicker{color:#c6acf1;margin:0 0 15px}.shelf-heading h3{font-size:27px;line-height:1.3;letter-spacing:-.04em;margin:0 0 20px}.shelf-heading .module-count{display:inline-block}.shelf-description{font-size:15px;line-height:1.8;color:#d6cbe2;margin:6px 0 18px}.shelf-hint{font-size:12px;line-height:1.7;color:#baaacb;margin:0}.shelf-gallery{min-width:0}.lesson-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#a68ac5 transparent;overscroll-behavior-x:contain;padding:3px 2px 14px}.lesson-card{flex:0 0 calc((100% - 36px)/3);min-width:0;display:flex;flex-direction:column;padding:0;background:#1c122b;color:#fff;border:1px solid #ffffff20;border-radius:7px;overflow:hidden;text-align:left;cursor:pointer;scroll-snap-align:start;transition:transform .25s,border-color .25s}.lesson-card:hover{transform:translateY(-3px);border-color:#d9b4ef}.lesson-card img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;background:#1c122b}.lesson-title{font-size:14px;font-weight:600;line-height:1.55;padding:16px 16px 12px;display:block}.lesson-detail-label{display:block;font-size:11px;color:#d8bced;padding:0 16px 17px;margin-top:auto}.shelf-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:14px}.shelf-controls>span{font-size:11px;color:#baaacb;line-height:1.6}.shelf-controls>div{display:flex;gap:8px}.shelf-controls button{width:42px;height:42px;border-radius:50%;border:1px solid #ffffff55;background:transparent;color:#fff;font-size:22px;cursor:pointer}.shelf-controls button:hover:not(:disabled){background:#6336b5}.shelf-controls button:disabled{opacity:.25;cursor:default}.lesson-dialog{width:min(850px,calc(100% - 32px));max-height:90dvh;padding:0;border:0;border-radius:10px;background:#f7f3ed;color:#281c3d;overflow:auto;box-shadow:0 25px 100px #0008}.lesson-dialog::backdrop{background:#150c23cc;backdrop-filter:blur(6px)}.lesson-dialog[open]{animation:arrive .25s ease both}.lesson-dialog-grid{display:grid;grid-template-columns:.8fr 1.2fr}.dialog-cover{width:100%;height:100%;max-height:640px;object-fit:contain;background:#21162e}.dialog-copy{padding:55px 35px 35px}.dialog-copy .kicker{font-size:10px;margin-bottom:20px}.dialog-copy h2{font-size:29px;line-height:1.25;letter-spacing:-.035em;margin:0 0 24px}.dialog-module{color:#6336b5;font-size:14px;font-weight:700;line-height:1.5}.dialog-description,.dialog-access{font-size:14px;line-height:1.75;color:#655b70}.dialog-access{border-top:1px solid #d9d1df;padding-top:18px;margin-top:22px}.dialog-copy .button{margin-top:12px;font-size:13px;gap:12px}.dialog-close{position:absolute;right:12px;top:12px;width:35px;height:35px;border:1px solid #d9d1df;border-radius:50%;font-size:25px;background:#f7f3ed;color:#281c3d;cursor:pointer}.dialog-open{overflow:hidden}.lesson-card:focus-visible,.lesson-track:focus-visible{outline:3px solid #e9b89d;outline-offset:2px}
@media(max-width:1100px){.lesson-shelf{grid-template-columns:.8fr 2fr;gap:28px}.shelf-heading h3{font-size:23px}.lesson-title{font-size:12px;padding:12px}.lesson-detail-label{padding:0 12px 14px}.lesson-track{gap:12px}.lesson-card{flex-basis:calc((100% - 24px)/3)}}@media(max-width:800px){.lesson-shelf{grid-template-columns:1fr;gap:23px;padding:32px 0}.shelf-heading h3{font-size:26px;max-width:540px}.shelf-description{max-width:600px}.shelf-hint{display:none}.module-navigation{flex-wrap:nowrap;overflow:auto;padding-bottom:12px}.module-navigation a{white-space:nowrap}.lesson-title{font-size:14px}.lesson-dialog-grid{grid-template-columns:1fr}.dialog-cover{height:240px;width:100%;object-fit:contain}.dialog-copy{padding:28px}.dialog-copy h2{font-size:25px}.dialog-close{position:sticky;float:right;top:10px;margin:10px 10px -45px 0;z-index:2}}@media(max-width:540px){.lesson-card{flex-basis:78%}.lesson-track{gap:15px}.lesson-card img{aspect-ratio:2/3}.lesson-title{font-size:15px;padding:16px}.lesson-detail-label{padding:0 16px 18px}.shelf-controls>span{max-width:190px}.shelf-heading h3{font-size:25px}}@media(prefers-reduced-motion:reduce){.lesson-dialog[open]{animation:none}.lesson-card,.module-navigation a{transition:none}}
/* Compact module selector, with one selected shelf. */
#modulos .curriculum-heading{display:block;text-align:center;max-width:850px;margin:0 auto 30px}#modulos .curriculum-heading .copy{max-width:640px;margin:20px auto 0;font-size:17px}#modulos h2{font-size:clamp(35px,4vw,56px)}#modulos .curriculum-update{max-width:1050px;margin:0 auto 30px;padding:15px 20px}.module-navigation{justify-content:center;gap:12px;margin:30px 0 36px}.module-navigation a{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;padding:13px 17px;border-radius:30px;background:#ffffff09;border-color:#ffffff25;min-height:54px}.module-tab-number{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#ffffff12;font-size:11px;color:#c6acf1}.module-navigation a[aria-selected=true]{background:#e6ddf4;color:#281c3d;border-color:#e6ddf4;box-shadow:0 5px 22px #0002}.module-navigation a[aria-selected=true] .module-tab-number{background:#6336b5;color:white}.module-navigation a:focus-visible{outline:3px solid #e9b89d;outline-offset:4px}.modules-tabbed .lesson-shelf[hidden]{display:none!important}.modules-tabbed .lesson-shelf{display:block;border:0;padding:0;opacity:1;transform:none}.modules-tabbed .shelf-heading{text-align:center;max-width:850px;margin:0 auto 28px}.modules-tabbed .shelf-heading .kicker{display:none}.modules-tabbed .shelf-heading h3{font-size:30px;margin:0 0 13px}.modules-tabbed .shelf-description{font-size:15px;margin:0 auto;max-width:740px}.modules-tabbed .shelf-hint{display:none}.modules-tabbed .module-count{margin:0 0 13px}.modules-tabbed .lesson-track{gap:20px}.modules-tabbed .lesson-card{flex-basis:calc((100% - 60px)/4)}.modules-tabbed .lesson-title{font-size:15px}.modules-tabbed .shelf-controls{margin-top:20px}.modules-tabbed .shelf-controls button{width:48px;height:48px}.modules-tabbed .lesson-shelf.is-entering .shelf-gallery{animation:arrive .35s ease both}#modulos .curriculum-note{text-align:center;margin:30px auto 0;max-width:750px;line-height:1.8}
@media(max-width:1100px){.modules-tabbed .lesson-card{flex-basis:calc((100% - 40px)/3)}.module-navigation a{font-size:13px;padding:11px 14px}}@media(max-width:800px){.module-navigation{flex-wrap:wrap;justify-content:center;overflow:visible;gap:8px;margin-bottom:28px}.module-navigation a{font-size:12px;padding:9px 12px;min-height:44px;gap:7px}.module-tab-number{width:21px;height:21px;font-size:10px}.modules-tabbed .lesson-card{flex-basis:calc((100% - 20px)/2)}.modules-tabbed .shelf-heading h3{font-size:26px;max-width:none}.modules-tabbed .shelf-description{font-size:14px}#modulos .curriculum-heading .copy{font-size:15px}}@media(max-width:540px){.modules-tabbed .lesson-card{flex-basis:78%}.modules-tabbed .lesson-track{gap:15px}.module-navigation a{font-size:11px;padding:8px 10px;gap:6px}.modules-tabbed .shelf-heading h3{font-size:24px}}@media(prefers-reduced-motion:reduce){.modules-tabbed .lesson-shelf.is-entering .shelf-gallery{animation:none}}

/* Mobile containment: keep the tab panel inside the viewport and scroll only its lesson track. */
.lesson-catalog{grid-template-columns:minmax(0,1fr);min-width:0}.modules-tabbed .lesson-shelf,.modules-tabbed .shelf-gallery,.modules-tabbed .lesson-track{width:100%;max-width:100%;min-width:0}
@media(max-width:540px){.modules-tabbed .lesson-card{flex:0 0 100%}}
