:root{font-family:Arial,Helvetica,sans-serif;color:#242424;background:#f5f5f5;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input{font:inherit}button{cursor:pointer}.shell{max-width:1080px;margin:auto;background:white;padding:16px 44px 0;border-radius:8px}.topbar{height:50px;display:flex;align-items:center;justify-content:space-between;background:#002b42;color:white;border-radius:11px;padding:0 16px;position:sticky;top:8px;z-index:20;box-shadow:0 7px 20px #002b4215}.brand,.login-brand{display:flex;align-items:center;gap:7px;text-decoration:none;color:inherit;font-size:8px;line-height:1.05}.brand b,.login-brand b{font-size:1.1em}.crest{color:#ffbc16;font-size:29px}.top-actions{display:flex;align-items:center;gap:13px}.language{font-size:11px}.theme{background:#001c30;color:#f7c950;border:0;border-radius:9px;padding:9px 13px}.access{color:white;background:#008968;border-radius:9px;padding:12px 18px;font-size:12px;font-weight:700;text-decoration:none}.hero{margin-top:14px;height:610px;position:relative;overflow:hidden;border-radius:9px}.slide{position:absolute;inset:0;background-image:var(--slide);background-position:center;background-size:cover;opacity:0;transition:opacity .6s;display:flex;align-items:center;padding:8%}.slide.active{opacity:1;z-index:1}.slide.has-image{background-size:cover;background-position:center}.hero-copy{max-width:425px;padding:32px 40px;background:#242a2c75;color:white;backdrop-filter:blur(8px);border-radius:10px}.hero-copy h1{font-size:35px;line-height:1.12;margin:0 0 20px}.hero-copy p{font-size:14px;line-height:1.5}.hero-button{display:inline-block;background:#002b42;color:white;text-decoration:none;border-radius:8px;padding:15px 20px;font-size:12px;font-weight:bold;margin-top:10px}.slide-nav{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;border-radius:50%;background:#ffffffc9;font-size:26px}.prev{left:10px}.next{right:10px}.dots{position:absolute;z-index:3;top:8px;left:3%;right:3%;display:flex;gap:3px}.dots button{height:3px;border:0;flex:1;background:#ffffff70}.dots button.selected{background:#fff}.section{padding:55px 0}.section h2{font-size:30px;margin:0 0 28px}.course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.course-card{border:1px solid #e4e4e4;border-radius:9px;overflow:hidden;background:#fff}.course-image{height:150px;background:linear-gradient(48deg,#071d2b 15%,#a20020 16%,#ad0024 42%,#1e5962 43%,#102d38 70%,#950022 71%);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:flex-end;padding:12px;color:#fff}.course-image.prevencion{background:linear-gradient(45deg,#ded7cc,#b00026 45%,#0c3645 46%)}.course-art-title{text-align:right;font-size:12px;line-height:1.3;max-width:70%}.course-image.has-image .course-art-title{display:none}.course-content{padding:13px 13px 24px;min-height:175px;position:relative}.course-tag{position:absolute;top:-10px;background:#f3f3f3;border-radius:20px;padding:4px 9px;font-size:10px}.course-content h3{font-size:12px;line-height:1.35;min-height:60px;margin:10px 0 22px}.course-content small{font-size:10px;line-height:1.45}.course-foot{border-top:1px solid #eee;text-align:center;color:#008e80;padding:12px}.intro{max-width:680px;margin:auto}.intro h2{line-height:1.3}.intro p{line-height:1.65}.leaders{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:75px}.leaders>div{display:flex;flex-direction:column;gap:8px}.emblem{font-size:75px;color:#d5a100;text-align:center;height:135px}.leaders b{font-size:13px}.leaders small{font-size:12px;color:#555}.statement{max-width:730px;margin:auto;text-align:center}.statement>p{font-size:23px;line-height:1.5}.partner-row{display:flex;justify-content:space-between;gap:15px;margin:50px 0;font-size:11px;color:#385c45}.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.quotes blockquote{margin:0;font-size:19px;line-height:1.4}.quotes footer{margin-top:25px;display:flex;flex-direction:column;font-size:12px}.quotes small{color:#666}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:center;margin:100px 0 60px}.stats strong{font-size:36px}.stats p{font-size:12px;color:#666;line-height:1.5}.site-footer{padding:45px 0 35px;background:#f5f5f5;margin:0 -44px;padding-left:44px;padding-right:44px}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.footer-grid>div{display:flex;flex-direction:column;gap:12px;font-size:12px;line-height:1.4}.footer-grid b{margin-bottom:8px}.footer-bottom{border-top:1px solid #ddd;margin-top:65px;padding-top:15px;font-size:11px}.up{position:fixed;bottom:20px;right:20px;background:#242424;color:#fff;border:0;border-radius:50%;width:36px;height:36px}.dark{background:#131d25;color:#eee}.dark .shell{background:#17232b}.dark .course-card{background:#1c2c36;border-color:#34444d}.dark .site-footer{background:#17232b}.dark .stats p,.dark .leaders small{color:#bbb}.login-page{background:#789eaf}.login-screen{min-height:100vh;display:grid;place-items:center;padding:30px;background:linear-gradient(#507b9d66,#213c4a44),url('assets/fondo-acceso.jpg') center/cover no-repeat}.login-card{background:white;width:310px;max-width:100%;border-radius:10px;padding:34px 27px;text-align:center;box-shadow:0 10px 40px #002a3b2b}.login-brand{justify-content:center;color:#222;font-size:15px;text-align:left;margin-bottom:28px}.login-brand .crest{font-size:44px}#login-form{display:flex;flex-direction:column;gap:8px}#login-form input{border:1px solid #d9d9d9;border-radius:9px;padding:12px 14px;width:100%;font-size:12px}.forgot{background:none;border:0;text-align:right;font-size:10px;color:#777;padding:0 0 6px}.login-submit{border:0;border-radius:8px;padding:13px;color:white;background:#002e46;font-size:13px;font-weight:bold}.login-notice{margin-top:7px;padding:11px;border-radius:7px;background:#fff2ee;color:#9e2a20;font-size:13px;font-weight:700}.login-divider{height:1px;background:#eee;margin:22px 0}.login-card p{font-size:10px;color:#555}.guest{width:100%;padding:9px;background:#fff;border:1px solid #ddd;border-radius:8px;font-size:11px}.login-card>small{font-size:9px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:800px){.shell{padding:10px 18px 0}.hero{height:520px}.hero-copy{padding:24px}.hero-copy h1{font-size:27px}.course-grid{grid-template-columns:repeat(2,1fr)}.leaders,.stats,.footer-grid{grid-template-columns:repeat(2,1fr)}.site-footer{margin:0 -18px;padding-left:18px;padding-right:18px}.quotes{gap:20px}.quotes blockquote{font-size:15px}.statement>p{font-size:19px}}@media(max-width:500px){.hero{height:500px}.slide{padding:30px}.hero-copy{max-width:100%}.hero-copy h1{font-size:26px}.course-image{height:125px}.course-content h3{font-size:11px}.quotes{grid-template-columns:1fr}.stats{gap:12px}.stats strong{font-size:28px}.section h2{font-size:25px}.language{display:none}.brand{font-size:7px}.access{padding:10px}.statement>p{font-size:17px}}

/* Recursos institucionales originales: mantener estructura del prototipo inicial */
.brand .crest,.login-brand .crest{display:block;flex:0 0 auto;width:34px;height:38px;font-size:0;background:url("assets/logo-principal.png") center/contain no-repeat}
.login-brand .crest{width:70px;height:76px;background-image:url("assets/logo-acceso.png")}
.leaders .emblem{font-size:0;background:url("assets/logo-principal.png") center/contain no-repeat;max-width:125px;margin:0 auto 10px}

/* Escudos de autoridades: mismo diseño de referencia, sin alterar otras secciones. */
.leaders .emblem{width:100%;max-width:none;height:225px;margin:0 0 10px;background:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:9px;text-align:center}
.leaders .emblem img{display:block;width:auto;height:145px;max-width:95%;object-fit:contain}
.leaders .emblem span{display:block;font-size:15px;font-weight:800;line-height:1.02;color:#111;letter-spacing:-.35px}
.dark .leaders .emblem span{color:#eee}
@media(max-width:500px){.leaders .emblem{height:190px}.leaders .emblem img{height:116px}.leaders .emblem span{font-size:12px}}

/* Corrección final: logotipos completos, sin recortes ni desbordamiento. */
.topbar{min-height:60px;height:auto;padding-top:8px;padding-bottom:8px;overflow:visible}
.brand{min-width:0;align-self:center;line-height:1.2;font-size:9px;gap:9px;white-space:normal}
.brand .crest{width:45px;height:44px;min-width:45px;background-size:contain;background-position:center;background-repeat:no-repeat}
.brand span:last-child{display:block;line-height:1.2}
.top-actions{flex-shrink:0}
.leaders .emblem{height:auto;min-height:225px;overflow:visible}
.leaders .emblem img{width:100%;max-width:160px;height:145px;object-fit:contain;object-position:center}
.leaders .emblem span{overflow:visible;white-space:normal}
@media(max-width:500px){.topbar{min-height:58px}.brand .crest{width:38px;height:40px;min-width:38px}.brand{font-size:8px}.leaders .emblem{min-height:190px}.leaders .emblem img{height:116px}}

/* Ajuste definitivo: escudo extraído sin recortar y cabecera sin superposición. */
.topbar{position:relative;top:auto}
.leaders .emblem img{display:block;object-fit:contain;width:auto;max-width:100%;height:145px}
@media(max-width:500px){.leaders .emblem img{height:116px}}
