:root{--navy:#042f66;--navy-deep:#02234d;--gold:#f2ad00;--ink:#1d1d1b;--paper:#f4f1e9;--white:#fff;--muted:#667085;--line:rgba(4,47,102,.12);--shadow:0 18px 60px rgba(2,35,77,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}.icon{width:18px;height:18px;flex:0 0 auto}button,a{font:inherit}a{text-decoration:none;color:inherit}button{cursor:pointer}
.hero{background:var(--navy);color:#fff;min-height:720px;padding:0 max(24px,calc((100vw - 1180px)/2));position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:650px;height:650px;border:1px solid rgba(242,173,0,.16);border-radius:50%;right:-180px;top:110px;box-shadow:0 0 0 95px rgba(242,173,0,.035),0 0 0 190px rgba(242,173,0,.025)}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.12);position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px;font-weight:800;line-height:1.05}.brand small{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-top:5px}.brand-mark{width:42px;height:48px;display:grid;place-items:center;border:2px solid var(--gold);color:var(--gold);font-family:Georgia,serif;font-size:25px;font-weight:800;clip-path:polygon(50% 0,100% 16%,92% 78%,50% 100%,8% 78%,0 16%)}.nav-cta{display:flex;gap:6px;align-items:center;font-size:14px;font-weight:700;color:var(--gold)}.hero-grid{max-width:1180px;margin:auto;min-height:620px;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center;position:relative;z-index:1}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:900;color:var(--gold);margin:0 0 18px}.hero h1{font-family:Georgia,serif;font-size:clamp(48px,7vw,86px);line-height:.98;letter-spacing:-.045em;margin:0;max-width:700px}.hero h1 em{color:var(--gold);font-style:italic}.lead{font-size:19px;line-height:1.7;max-width:630px;color:rgba(255,255,255,.72);margin:28px 0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;padding:15px 22px;font-weight:800;transition:.2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--gold);color:var(--navy-deep)}.button.ghost{border:1px solid rgba(255,255,255,.28);color:#fff}.journey-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:28px;backdrop-filter:blur(12px);box-shadow:var(--shadow)}.journey-top{display:flex;justify-content:space-between;align-items:center}.journey-top span{font-weight:800}.journey-top strong{font-family:Georgia,serif;font-size:38px;color:var(--gold)}.progress{height:10px;background:rgba(255,255,255,.15);border-radius:99px;overflow:hidden;margin:15px 0 10px}.progress span{display:block;height:100%;background:var(--gold);border-radius:inherit;transition:width .3s}.journey-card>p{font-size:13px;color:rgba(255,255,255,.63)}.journey-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.journey-steps span{background:rgba(255,255,255,.07);border-radius:14px;padding:12px;font-size:13px}.journey-steps b{display:block;color:var(--gold);margin-bottom:4px}
.instructions,.modules-section{max-width:1180px;margin:auto;padding:100px 24px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:38px}.instructions h2,.section-heading h2,.delivery h2{font-family:Georgia,serif;font-size:clamp(34px,5vw,56px);line-height:1.05;color:var(--navy);margin:0;max-width:700px}.instruction-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:38px}.instruction-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;min-height:230px}.instruction-grid b{color:var(--gold);font-size:13px;letter-spacing:.1em}.instruction-grid h3{color:var(--navy);font-size:18px;margin:32px 0 10px}.instruction-grid p,.section-heading>p{color:var(--muted);line-height:1.65;margin:0}.notice{margin-top:18px;background:#fff8e5;border-left:5px solid var(--gold);border-radius:14px;padding:18px 22px;display:flex;gap:18px;align-items:center}.notice span{font-weight:900;color:var(--navy)}.notice p{margin:0;color:#5e543b}
.modules-section{padding-top:60px}.section-heading>p{max-width:330px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.filters button{border:1px solid var(--line);background:#fff;color:var(--navy);padding:9px 15px;border-radius:999px;font-weight:800;font-size:13px}.filters button.active{background:var(--navy);color:#fff}.module-list{display:grid;gap:12px}.module{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 6px 25px rgba(2,35,77,.04)}.module.open{box-shadow:var(--shadow);border-color:rgba(242,173,0,.4)}.module-head{width:100%;display:grid;grid-template-columns:68px 1fr auto 28px;gap:18px;align-items:center;text-align:left;background:none;border:0;padding:22px}.module-number{font-family:Georgia,serif;font-size:34px;color:var(--gold)}.module-main{display:grid;gap:4px}.module-main small{text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:var(--muted);font-weight:800}.module-main strong{font-family:Georgia,serif;color:var(--navy);font-size:22px}.module-main>span{font-size:13px;color:var(--muted)}.status{border-radius:99px;padding:7px 11px;font-size:11px;font-weight:900;background:#eaf5ed;color:#27653b}.status.parcial{background:#fff5dc;color:#8a5a00}.status.pendiente{background:#eee;color:#666}.chevron{transform:rotate(90deg);color:var(--navy);transition:.2s}.open .chevron{transform:rotate(-90deg)}.module-body{border-top:1px solid var(--line);padding:26px 30px 30px;margin-left:90px}.module-meta{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:20px;color:var(--muted);font-size:13px}.module-meta span{display:flex;align-items:center;gap:7px}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.video{aspect-ratio:16/9;background:var(--navy);border-radius:16px;overflow:hidden}.video iframe{width:100%;height:100%;border:0}.video-grid .video:only-child{grid-column:1/-1;max-width:720px}.pending-box{background:#f2f4f7;padding:24px;border-radius:16px;color:var(--muted)}.learning-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.learning-grid>div{border:1px solid var(--line);border-radius:16px;padding:20px}.learning-grid h3{color:var(--navy);font-size:16px;margin:0 0 12px}.learning-grid ol{padding-left:20px;margin:0}.learning-grid li,.task p{color:var(--muted);font-size:14px;line-height:1.6;margin:7px 0}.task{background:#fff9e9;border-color:rgba(242,173,0,.3)!important}.done-button{margin-top:18px;border:0;background:#eef2f7;color:var(--navy);border-radius:12px;padding:11px 15px;display:flex;align-items:center;gap:9px;font-weight:800}.done-button span{width:24px;height:24px;border:2px solid #b7c0cc;border-radius:50%;display:grid;place-items:center}.done-button span .icon{width:14px;opacity:0}.done-button.checked{background:#e9f5ed;color:#27653b}.done-button.checked span{background:#2f7a48;border-color:#2f7a48;color:#fff}.done-button.checked span .icon{opacity:1}
.delivery{background:var(--navy);color:#fff;margin:60px auto 0;padding:72px max(24px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center;gap:60px}.delivery h2{color:#fff;max-width:760px}.delivery p:not(.section-kicker){color:rgba(255,255,255,.68);line-height:1.7;max-width:700px}.button.gold{background:var(--gold);color:var(--navy-deep);white-space:nowrap}footer{background:#021b3d;color:#fff;padding:32px max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand small{color:rgba(255,255,255,.5)}footer p{color:var(--gold);font-family:Georgia,serif;font-style:italic}
@media(max-width:850px){.hero{min-height:auto}.hero-grid{grid-template-columns:1fr;padding:70px 0 80px;gap:40px}.instruction-grid{grid-template-columns:1fr 1fr}.section-heading,.delivery{align-items:flex-start;flex-direction:column}.module-body{margin-left:0}.delivery{padding-top:60px;padding-bottom:60px}.video-grid,.learning-grid{grid-template-columns:1fr}}
@media(max-width:560px){.topbar{height:76px}.nav-cta{font-size:0}.hero-grid{padding-top:54px}.hero h1{font-size:48px}.lead{font-size:17px}.hero-actions .button{width:100%}.journey-card{padding:22px}.instructions,.modules-section{padding-left:16px;padding-right:16px}.instructions{padding-top:70px}.instruction-grid{grid-template-columns:1fr}.instruction-grid article{min-height:auto}.notice{align-items:flex-start;flex-direction:column;gap:4px}.module-head{grid-template-columns:48px 1fr 24px;padding:18px 14px;gap:10px}.module-number{font-size:26px}.module-main strong{font-size:18px}.module-main>span,.status{display:none}.module-body{padding:20px 14px}.delivery .button{width:100%}footer{align-items:flex-start;flex-direction:column}footer p{margin:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* DPL 2022 · modules and direct video actions */
.module-number{font-size:31px}
.video-grid{grid-template-columns:1fr}
.video{max-width:800px}
.module-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}
.youtube-link,.module-actions .done-button{min-height:48px;border-radius:12px;padding:11px 15px;display:flex;align-items:center;gap:9px;font-weight:800}
.youtube-link{background:var(--navy);color:#fff}
.youtube-link:hover{background:var(--navy-deep)}
.module-actions .done-button{margin-top:0}

@media(max-width:560px){
  .module-head{grid-template-columns:58px 1fr 24px;gap:8px}
  .module-number{font-size:23px}
  .module-body{padding:16px 14px}
  .module-actions>*{width:100%;justify-content:center}
}

/* Downloadable standalone source */
.footer-actions{display:flex;align-items:flex-end;flex-direction:column;gap:10px}
.footer-actions a{display:flex;align-items:center;gap:7px;color:#fff;font-size:13px;font-weight:800;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:4px}
.footer-actions a:hover{color:var(--gold);border-color:var(--gold)}
.footer-actions p{margin:0}
@media(max-width:560px){.footer-actions{align-items:flex-start}}
