*{box-sizing:border-box;margin:0}body{font-family:var(--f);background:#f3f6ef;color:#26332a;line-height:1.6}
.w{width:90%;max-width:1200px;margin:auto}h1,h2,h3{color:var(--p)}p{margin-bottom:12px}
header{background:linear-gradient(120deg,var(--p),#173f24);position:sticky;top:0;z-index:9;box-shadow:0 4px 14px #0004}
.nav{display:flex;justify-content:space-between;align-items:center;padding:8px 0}
.brand{display:flex;gap:14px;align-items:center;color:#fff}.brand img{height:56px;background:#fff;border-radius:50%;padding:4px}
.brand h1{color:#fff;font-size:1.4rem;margin:0}.brand p{font-size:.85rem;margin:0;opacity:.9}
.menu{display:flex;list-style:none;padding:0;gap:4px}.menu a{color:#fff;text-decoration:none;padding:9px 16px;border-radius:var(--r);transition:.3s;display:block}.menu a:hover{background:var(--a);transform:translateY(-2px)}
.ham{display:none;color:#fff;font-size:1.6rem;cursor:pointer}
.ban{position:relative;height:600px;overflow:hidden}
.sl{position:absolute;inset:0;opacity:0;transition:opacity 1s;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}.sl.on{opacity:1}
.sl>div{max-width:780px;padding:30px;background:#0f2d1acc;border-radius:34px 4px 34px 4px;border:1px solid var(--a)}.sl h2{color:#fff;font-size:2.3rem}
.btn{display:inline-block;position:relative;overflow:hidden;background:var(--p);color:#fff;padding:11px 26px;border:0;border-radius:var(--r);text-decoration:none;cursor:pointer;font:600 1rem var(--f);transition:.35s;z-index:0}
.btn::before{content:"";position:absolute;inset:0;background:var(--a);transform:translateY(101%);border-radius:50% 50% 0 0;transition:.4s;z-index:-1}
.btn:hover::before{transform:none;border-radius:0}.btn:hover{transform:translateY(-3px);box-shadow:0 8px 18px #0004}
section{padding:64px 0}.t{text-align:center;margin-bottom:38px}.t::after{content:"\f4d8";font:900 1.2rem "Font Awesome 6 Free";display:block;color:var(--a);margin-top:6px}
.alt{background:#e6efdc}.g{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:28px}
.card{background:#fff;border-radius:28px 4px 28px 4px;overflow:hidden;box-shadow:0 4px 14px #0002;transition:.35s;border-bottom:4px solid var(--a)}
.card:hover{transform:translateY(-8px) rotate(-.4deg);box-shadow:0 14px 28px #2e7d3255}
.im{overflow:hidden;height:210px}.im img{width:100%;height:100%;object-fit:cover;transition:.5s}.card:hover .im img{transform:scale(1.1)}
.b{padding:20px}.b i{color:var(--a);margin-right:6px}
.org .card{text-align:center;padding:24px 14px}.org img{width:140px;height:140px;object-fit:cover;border-radius:50% 6px 50% 6px;border:4px solid var(--a);transition:.5s}.org .card:hover img{border-radius:6px 50% 6px 50%;transform:rotate(4deg)}
.org small{color:var(--a);font-weight:700}
.about{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.about img{width:100%;border-radius:44px 4px 44px 4px;box-shadow:0 10px 26px #0003}
.cg{display:grid;grid-template-columns:1.2fr 1fr;gap:30px}
.cg form,.info{background:#fff;padding:26px;border-radius:28px 4px 28px 4px;box-shadow:0 4px 14px #0002}
input,textarea,select{width:100%;padding:10px;margin:4px 0 14px;border:1px solid #bcd0b0;border-radius:10px;font:inherit}input:focus,textarea:focus{outline:2px solid var(--a)}
.info p i{color:var(--p);width:22px}
.fl{position:fixed;right:18px;z-index:8;display:flex;flex-direction:column;gap:10px}
.wa{bottom:20px;background:#25d366;color:#fff;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:1.8rem;text-decoration:none;position:fixed;right:18px;z-index:8;animation:p 2s infinite}@keyframes p{50%{transform:scale(1.1)}}
.fl{top:40%}
footer{background:#173f24;color:#dfe9d6;padding:40px 0 16px;text-align:center}footer a{color:#fff;margin:0 8px}
@media(max-width:900px){.ham{display:block}.menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--p);flex-direction:column;padding:10px}.menu.on{display:flex}.about,.cg{grid-template-columns:1fr}.ban{height:480px}}

.sc{width:42px;height:42px;display:grid;place-items:center;border-radius:50% 6px 50% 6px;color:#fff!important;text-decoration:none;transition:.3s;margin:0!important;background:var(--p);font-size:1.15rem}
.sc:hover{transform:translateY(-4px) scale(1.12);filter:brightness(1.12);box-shadow:0 8px 16px #0004}
.sc[data-i*=facebook]{background:#1877f2}.sc[data-i*=instagram]{background:radial-gradient(circle at 30% 107%,#fdf497 0,#fd5949 45%,#d6249f 60%,#285aeb 90%)}
.sc[data-i*=tiktok]{background:#010101;box-shadow:-2px -2px 0 #25f4ee,2px 2px 0 #fe2c55}.sc[data-i*=linkedin]{background:#0a66c2}
.sc[data-i*=youtube]{background:#f00}.sc[data-i*=twitter]{background:#000}.sc[data-i*=whatsapp]{background:#25d366}.sc[data-i*=telegram]{background:#26a5e4}
.fs{display:flex;gap:12px;justify-content:center;margin-bottom:16px}

.menu a i{margin-right:6px;color:var(--a);transition:.3s}.menu a:hover i{color:#fff;transform:scale(1.2) rotate(-8deg)}
.as{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:22px}
.lg2{display:grid;place-items:center;height:120px;padding:18px;background:#fbfcf8;border:1px solid #dbe6cf;border-radius:24px 4px 24px 4px;transition:.35s}
.lg2 img{max-width:100%;max-height:80px;object-fit:contain;filter:grayscale(1) opacity(.7);transition:.35s}
.lg2:hover{transform:translateY(-6px);border-color:var(--a);box-shadow:0 12px 24px #2e7d3238}.lg2:hover img{filter:none;transform:scale(1.08)}
/* Banner responsive: se reduce en móvil sin recortar la imagen */
@media(max-width:900px){
  .ban{height:auto;aspect-ratio:16/9;background:#0f2d1a}
  .sl{background-size:contain;background-repeat:no-repeat}
  .sl>div{max-width:92%;padding:10px 14px;border-radius:18px 3px 18px 3px}
  .sl h2{font-size:1.05rem;margin-bottom:4px}
  .sl p{font-size:.75rem;margin-bottom:6px;line-height:1.3}
  .sl .btn{padding:6px 14px;font-size:.75rem}
}

/* Logo un poco a la derecha */
.brand{padding-left:20px}

/* Botones centrados en cards (servicios, cursos, eventos) */
.b .btn{display:block;width:fit-content;margin:14px auto 0}

/* Botón "Enviar por WhatsApp" centrado */
.cg form .btn{display:block;margin:6px auto 0}

/* Sección Misión / Visión / Valores */
.idn{background:linear-gradient(120deg,var(--p),#173f24)}
.idn .t{color:#fff}
.vl{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 22px}
.vl i{display:grid;place-items:center;width:72px;height:72px;margin:0 0 14px;border-radius:50% 6px 50% 6px;background:var(--p);color:#fff;font-size:1.8rem;border:3px solid var(--a)}
.vl h3{margin-bottom:10px}
.vl p{margin:0}

/* Botón de sesión en el pie */
.lgn{padding:7px 18px;font-size:.85rem;margin:6px 0 0}
.lgn i{margin-right:6px}

/* Imágenes de cursos y eventos: se ajustan completas, sin recortar ni deformar */
.im{position:relative;background:#eef3e8;cursor:pointer}
.im img{object-fit:contain}
.card:hover .im img{transform:none}
.im::after{content:"\f00e";font:900 1rem "Font Awesome 6 Free";position:absolute;right:10px;bottom:10px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#0f2d1acc;color:#fff;opacity:0;transform:translateY(6px);transition:.3s}
.card:hover .im::after,.im:focus-visible::after{opacity:1;transform:none}
@media(hover:none){.im::after{opacity:1;transform:none}}
.im:focus-visible{outline:3px solid var(--a);outline-offset:-3px}

/* Modal de curso / evento */
.mdl{display:none;position:fixed;inset:0;background:#000b;z-index:30;align-items:center;justify-content:center;padding:14px}
.mdl.on{display:flex}
.mdc{position:relative;background:#fff;width:100%;max-width:760px;max-height:92vh;overflow:auto;border-radius:32px 4px 32px 4px;border-top:6px solid var(--a)}
.mdi{background:#eef3e8}
.mdi img{display:block;margin:auto;max-width:100%;max-height:55vh;width:auto;height:auto;object-fit:contain}
.mdb{padding:22px 26px 26px}.mdb p{margin-bottom:8px}.mdb i{color:var(--a);margin-right:8px;width:18px;text-align:center}
.mdb #mo-d{white-space:pre-line;margin:12px 0 18px}
.mdb .btn{display:block;width:fit-content;margin:0 auto}
.mdx{position:absolute;right:12px;top:8px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:#fffd;color:var(--p);font-size:1.8rem;line-height:1;cursor:pointer}
