:root{--tx:#0B1B3A;--mut:#42587D;--ln:rgba(11,27,58,.14);--sup:#fff;--acc:#0072C9;--acc2:#6B3FD0;--in:#fff;--cian:#00B5F5;--azul:#0088F0;--lila:#DCBFF8;--noche:#0A1633}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:#fff;color:var(--tx);font:18px/1.7 "Nunito Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Jost,sans-serif;font-weight:500;line-height:1.12;letter-spacing:-.01em}
h1{font-size:clamp(42px,7vw,84px)}h2{font-size:clamp(30px,4.4vw,48px);margin-bottom:18px}h3{font-size:26px}
a{color:var(--acc)}
img{max-width:100%;display:block}
.w{max-width:1120px;margin:0 auto;padding:0 24px}
section{padding:88px 0}
p+p{margin-top:1em}
.mut{color:var(--mut)}
:focus-visible{outline:3px solid var(--acc2);outline-offset:3px}
.lila{background:#F0E4FB}
.oscuro,.banda,footer{--tx:#E9EFFA;--mut:#B3C2DC;--ln:rgba(255,255,255,.14);--sup:#111E42;--acc:#4CCBFF;--acc2:#DCBFF8;--in:#050B1C;background:var(--noche);color:var(--tx)}
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--ln)}
header .w{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--tx);font:500 22px Jost,sans-serif}
.marca img{height:42px}
nav{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
nav a{color:var(--tx);text-decoration:none;font-size:16px;padding:8px 14px;border-radius:99px}
nav a:hover{background:#E4F5FF}
nav a[aria-current]{background:#E4F5FF;box-shadow:inset 0 -2px 0 var(--cian);font-weight:700}
nav a.cta{background:var(--cian);color:#021325;font-weight:700}
.btn{display:inline-block;background:var(--cian);color:#021325;font:700 17px "Nunito Sans",sans-serif;padding:15px 30px;border-radius:99px;text-decoration:none;border:0;cursor:pointer}
.btn:hover{background:#4CCBFF}
.btn.ghost{background:transparent;color:var(--tx);border:1.5px solid currentColor}
.btn.ghost:hover{background:rgba(11,27,58,.07)}
.btn.wa{background:#25D366;color:#042313}
.btn.wa:hover{background:#3BE57B}
.fila{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.hero{padding:70px 0 80px;overflow:hidden;background:linear-gradient(120deg,#E4F5FF 0%,#F0E4FB 100%)}
.hero .w{display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center}
.hero .t{padding-bottom:0}
.hero h1 span{display:block;font-size:.42em;font-weight:400;color:var(--acc2);margin-top:14px;letter-spacing:0}
.hero p.lead{font-size:21px;max-width:30em;margin-top:26px;color:var(--mut)}
.foto{display:grid;place-items:center;min-height:480px}
.marco{position:relative;width:min(100%,440px);aspect-ratio:1}
.marco img{position:relative;z-index:2;width:100%;height:100%;object-fit:cover;border-radius:70% 0 70% 0;box-shadow:0 14px 40px rgba(11,27,58,.25)}
.hoja{position:absolute;aspect-ratio:1;border-radius:70% 0 70% 0;animation:flota 9s ease-in-out infinite alternate}
.h1{width:84%;left:-3%;top:-8%;background:var(--cian);opacity:.9;transform:rotate(90deg)}
.h2{width:68%;right:-13%;bottom:-11%;background:var(--lila);animation-delay:-3s}
@keyframes flota{to{translate:0 -14px}}
@media(prefers-reduced-motion:reduce){.hoja{animation:none}html{scroll-behavior:auto}}
.dos{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
.cita{font:400 clamp(26px,3.4vw,38px)/1.25 Jost,sans-serif;color:var(--acc2);border-left:3px solid var(--cian);padding-left:24px;margin-top:34px}
.banda{padding:54px 0}
.banda .w{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;text-align:center}
.banda b{display:block;font:500 56px Jost,sans-serif;color:var(--cian);line-height:1}
.banda span{color:var(--mut);font-size:16px}
.lista{list-style:none;padding:0}
.lista li{padding:20px 0;border-bottom:1px solid var(--ln);display:flex;gap:16px;align-items:baseline}
.lista li:first-child{border-top:1px solid var(--ln)}
.lista strong{font:500 24px Jost,sans-serif;min-width:150px;color:var(--tx)}
.cred{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.cred span{border:1.5px solid var(--acc2);color:var(--acc2);border-radius:99px;padding:8px 18px;font-size:16px}
.cierre{background:linear-gradient(135deg,#00B5F5,#5AB8FF 60%,#DCBFF8);--tx:#021325;--mut:#0B2A4D;text-align:center}
.cierre p{max-width:34em;margin:0 auto}
.cierre .fila{justify-content:center}
.cierre .btn:not(.wa){background:var(--noche);color:#fff}
.cierre .btn:not(.wa):hover{background:#1B2E5C}
.cab{padding:80px 0 56px;background:linear-gradient(120deg,#E4F5FF,#F0E4FB)}.cab p{max-width:36em;font-size:21px;color:var(--mut)}
.col{column-count:3;column-gap:22px}
.col figure{break-inside:avoid;margin:0 0 22px;background:#fff;border:1px solid var(--ln);border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(11,27,58,.08)}
.col figcaption{padding:12px 16px;font-size:15px;color:var(--mut)}
.col figcaption b{color:var(--tx);font-weight:700}
.vids{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.vid{margin:0}
.vid button{position:relative;display:block;width:100%;aspect-ratio:9/16;border:1px solid var(--ln);border-radius:16px;overflow:hidden;cursor:pointer;padding:0;background:linear-gradient(160deg,#0A2A5E,#2B1B63);box-shadow:0 6px 22px rgba(11,27,58,.15)}
.vid button img{width:100%;height:100%;object-fit:cover}
.vid button::after{content:"";position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:rgba(0,181,245,.95) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23021325' d='M9 6.5v11l9-5.5z'/%3E%3C/svg%3E") center/42px no-repeat;box-shadow:0 6px 24px rgba(0,0,0,.5)}
.vid button:hover::after{background-color:#4CCBFF}
.vid iframe{width:100%;aspect-ratio:9/16;border:0;border-radius:16px;display:block}
.vid figcaption{padding:12px 4px;color:var(--mut);font-size:16px}
.vid figcaption b{color:var(--tx)}
.prog{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding:38px 0 38px 28px;border-bottom:1px solid var(--ln);border-left:6px solid var(--c)}
.prog:first-of-type{border-top:1px solid var(--ln)}
.prog h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:6px}
.prog .sub{color:var(--acc);font-weight:700;margin-bottom:10px}
.aviso{font-size:15px;color:var(--mut);max-width:44em;margin-top:40px}
.pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:10px}
.pasos div{border-top:3px solid var(--cian);padding-top:16px}
.pasos div:nth-child(2){border-color:var(--azul)}.pasos div:nth-child(3){border-color:#B58AF0}
.form{background:#fff;border:1px solid var(--ln);border-radius:18px;padding:34px;max-width:560px;box-shadow:0 8px 28px rgba(11,27,58,.1)}
label{display:block;font-size:15px;color:var(--mut);margin:0 0 6px}
input,textarea{width:100%;background:var(--in);border:1px solid rgba(11,27,58,.25);border-radius:10px;color:var(--tx);font:18px "Nunito Sans",sans-serif;padding:13px 15px;margin-bottom:18px}
footer{padding:56px 0 110px}
footer .w{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
footer img{width:230px}
footer p{font-size:15px;color:var(--mut)}
.burbuja{position:fixed;right:20px;bottom:20px;z-index:50;display:flex;align-items:center;gap:16px;background:#5B2DC7;color:#fff;text-decoration:none;border-radius:99px;padding:8px 8px 8px 28px;box-shadow:0 8px 28px rgba(20,10,60,.4)}
.burbuja .txt{text-align:right;font:800 16px/1.3 "Nunito Sans",sans-serif}
.burbuja .ico{width:58px;height:58px;border-radius:50%;background:#2FA82B;border:4px solid #4A22A8;display:grid;place-items:center;flex:none}
.burbuja svg{width:34px;height:34px;fill:#fff}
.burbuja:hover{background:#6A3DD8}
@media(max-width:860px){
 .hero .w,.dos,footer .w{grid-template-columns:1fr}
 .foto{min-height:380px}.marco{width:min(88%,380px)}
 .banda .w,.pasos{grid-template-columns:1fr}.col{column-count:2}.vids{grid-template-columns:repeat(2,1fr);gap:16px}
 .prog{grid-template-columns:1fr}.lista li{flex-direction:column;gap:2px}section{padding:60px 0}
}
@media(max-width:560px){.col{column-count:1}.burbuja{right:12px;bottom:12px;padding:6px 6px 6px 18px;gap:12px}.burbuja .txt{font-size:14px}.burbuja .ico{width:50px;height:50px}.burbuja svg{width:30px;height:30px}}

.redes{display:flex;gap:12px;margin-top:18px}
.redes a{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--ln);color:var(--tx);transition:background .2s,color .2s}
.redes a:hover{background:var(--cian);color:#021325;border-color:var(--cian)}
.redes svg{width:22px;height:22px}
