/* ALEGROUP — cierre corporativo y documentos de lectura acompañada. */
footer.modern-footer{margin:0;padding:0;background:linear-gradient(#f4f7fb 0 145px,#071e30 145px);color:#bdccd8;position:relative}
.modern-footer .footer-wrap{max-width:1320px;margin:auto;padding:0 40px}
.modern-footer .footer-cta{display:grid;grid-template-columns:1fr 1.04fr;overflow:hidden;padding:0;border-radius:24px;background:#103c58;color:white;box-shadow:0 22px 50px #051c301c;margin:0 0 76px;isolation:isolate}
.footer-cta-copy{padding:48px 48px 46px;background:radial-gradient(ellipse at 0 100%,#14537d 0,transparent 65%),#10334d;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}
.footer-cta-copy .eyebrow{font-size:10px;letter-spacing:2.4px;color:#9fd6ff;margin:0 0 16px}
.footer-cta-copy h2{font-size:clamp(28px,3vw,40px);line-height:1.17;letter-spacing:-1.5px;font-weight:700;max-width:450px;margin:0 0 14px;color:#fff}
.footer-cta-copy p{margin:0 0 25px;font-size:15px;color:#d2e2ec;line-height:1.65;max-width:400px}
.modern-footer .footer-cta .btn{background:#95dcf4;color:#102f44;border-radius:9px;min-height:48px;padding:14px 20px;font-size:13px;gap:18px;text-align:center;white-space:normal}
.modern-footer .footer-cta .btn:hover{background:#c2edfa;box-shadow:0 8px 20px #03132130;transform:translateY(-2px)}
.footer-cta-photo{position:relative;margin:0;min-width:0;background:#12394f}
.footer-cta-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% center}
.footer-cta-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#10334d66,transparent 38%);pointer-events:none}
.footer-cta-photo figcaption{position:absolute;z-index:1;right:18px;bottom:16px;color:#fff;font-size:9px;letter-spacing:.3px;border:1px solid #ffffff4f;border-radius:20px;padding:5px 10px;background:#071e308c}
.footer-columns{display:grid;grid-template-columns:1.13fr .78fr 1fr 1.08fr;gap:44px;align-items:start;padding:0 8px 58px}
.footer-brand-link{display:inline-flex;align-items:center;gap:11px;color:white;margin-bottom:19px}
.footer-logo-badge{background:#fff;border-radius:12px;width:60px;height:60px;padding:4px;display:flex;align-items:center;justify-content:center}
.footer-logo-badge img{width:100%;height:100%;object-fit:contain}
.footer-wordmark{font-family:Manrope,sans-serif;font-size:18px;letter-spacing:.3px;line-height:1.3;font-weight:800}
.footer-wordmark small{display:block;font-size:9px;letter-spacing:3.4px;font-weight:600;color:#91b7ce;margin-top:5px}
.modern-footer .footer-brand-copy{max-width:275px;margin:0;color:#a4bac9;font-size:13px;line-height:1.85}
.modern-footer .footer-column h3{font-size:14px;letter-spacing:-.2px;line-height:1.4;color:#fff;margin:5px 0 21px;padding:0 0 14px;border-bottom:1px solid #ffffff24;font-weight:700}
.footer-nav-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.footer-nav-list a{font-size:13px;line-height:1.6;display:inline-block;transition:color .18s,transform .18s}
.footer-nav-list a:hover{color:white;transform:translateX(3px)}
.footer-contact-line{display:flex;gap:10px;align-items:flex-start;margin:0 0 14px;font-size:12px;line-height:1.75;overflow-wrap:anywhere}
.footer-contact-line svg{width:18px;height:18px;flex-shrink:0;color:#6ec4ff;margin-top:2px}
.footer-contact-line a:hover{color:#fff}
.modern-footer .social-links{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 0}
.modern-footer .social-link{width:35px;height:35px;border-radius:50%;background:#ffffff0c;border:1px solid #ffffff26;color:#c5d8e5;display:inline-flex;align-items:center;justify-content:center;box-shadow:none;padding:9px;transition:background .2s,color .2s,transform .2s}
.modern-footer .social-link:hover{color:#fff;background:#1768bd;transform:translateY(-2px)}
.modern-footer .social-link svg{width:16px;height:16px}
.modern-footer .social-name{display:none}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid #ffffff23;padding:25px 8px 31px;font-size:10px;color:#8da9bc;line-height:1.7}
.footer-legal-links{display:flex;gap:14px;flex-wrap:wrap;align-items:center;color:#dfebf4;font-size:11px}
.footer-legal-links a:hover,.footer-legal-links [aria-current=page]{color:#84caff;text-decoration:underline;text-underline-offset:4px}
.footer-legal-links .legal-divider{height:12px;width:1px;background:#ffffff38}
.footer-to-top{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ffffff40;flex:0 0 34px;width:34px;height:34px;border-radius:50%;color:#d9edfc;transition:background .2s}
.footer-to-top:hover{background:#1768bd}
.footer-to-top svg{width:17px;height:17px}
.has-modern-footer .svc-invitation,.has-modern-footer .final-invitation,.has-modern-footer .decision-section{display:none}
.form-privacy-notice{font-size:11px;line-height:1.7;color:#627785;margin:0 0 17px}
.form-privacy-notice a{color:#125db5;text-decoration:underline;text-underline-offset:3px}
.modern-footer a:focus-visible,.modern-footer button:focus-visible,.legal-page a:focus-visible,.legal-page summary:focus-visible{outline:3px solid #95dcf4;outline-offset:5px;border-radius:5px}

.legal-page{background:#f4f7fb;padding:0;position:relative}
.legal-layout{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:345px minmax(0,1fr);gap:65px;padding:60px 40px 96px;align-items:start}
.legal-sidebar{position:sticky;top:130px;align-self:start;max-height:calc(100vh - 152px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c4d5e6 transparent;padding:0 9px 8px 0}
.legal-back{display:inline-flex;gap:8px;align-items:center;color:#6b8192;font-size:12px;line-height:1.5;margin:0 0 31px}
.legal-back svg{width:17px;height:17px}
.legal-kicker{color:#1768bd;font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin:0 0 12px;display:flex;gap:10px;align-items:center}
.legal-kicker:before{content:"";width:23px;height:2px;background:#1768bd}
.legal-sidebar h1{font-size:clamp(34px,3.3vw,47px);line-height:1.12;letter-spacing:-1.8px;font-weight:700;margin:0 0 21px;color:#102f46;overflow-wrap:break-word}
.legal-badges{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:0 0 20px}
.legal-badges span{font-size:10px;line-height:1.4;padding:7px 10px;border-radius:7px;font-weight:700;background:#e3edf8;color:#1b5a9e;display:inline-flex;gap:6px;align-items:center}
.legal-badges svg{width:14px;height:14px}
.legal-badges .company-chip{color:#577185;background:#e9eff4;font-size:8px;letter-spacing:.4px}
.legal-intro{color:#647b8d;font-size:13px;line-height:1.85;margin:0 0 13px;max-width:330px}
.legal-date{font-size:10px;color:#7d91a1;line-height:1.6;margin:0 0 22px}
.legal-toc{margin:0;padding-top:20px;border-top:1px solid #d7e2ec}
.legal-toc summary{font-size:11px;letter-spacing:.3px;font-weight:700;color:#284d6a;cursor:pointer;line-height:1.5;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}
.legal-toc summary:after{content:"−";font-size:19px;color:#1768bd;line-height:1}
.legal-toc:not([open]) summary:after{content:"+"}
.legal-toc summary::-webkit-details-marker{display:none}
.legal-toc nav{display:grid;gap:3px;margin-top:11px}
.legal-toc a{font-size:10px;line-height:1.5;display:flex;gap:9px;align-items:baseline;color:#6c8396;border-left:2px solid transparent;padding:5px 8px;transition:color .2s,background .2s,border-color .2s;border-radius:0 5px 5px 0}
.legal-toc a span:first-child{color:#9bb0c2;font-size:9px;letter-spacing:.5px;font-variant-numeric:tabular-nums;flex:0 0 15px}
.legal-toc a[aria-current=location]{background:#e6effa;color:#125db5;border-left-color:#1768bd;font-weight:700}
.legal-toc a:hover{color:#125db5;background:#eaf1f9}
.legal-article{background:#fff;border:1px solid #dde7f0;border-radius:22px;padding:0 35px;box-shadow:0 10px 35px #12385204;min-width:0}
.legal-section{padding:35px 0 33px;scroll-margin-top:2px}
.legal-section+.legal-section{border-top:1px solid #e6edf4}
.legal-section-heading{display:flex;align-items:flex-start;gap:15px;margin:0 0 21px}
.legal-section-icon{width:39px;height:39px;border:1px solid #dbe9f8;background:#edf4fc;border-radius:10px;flex:0 0 39px;display:flex;align-items:center;justify-content:center;color:#1768bd}
.legal-section-icon svg{width:21px;height:21px}
.legal-section-number{font-size:9px;color:#8da4b7;letter-spacing:1px;font-weight:700;line-height:1.5;display:block;margin:0 0 3px}
.legal-section h2{font-size:20px;line-height:1.35;letter-spacing:-.5px;color:#15384f;margin:0;font-weight:700}
.legal-section p{font-size:14px;line-height:1.95;color:#5a7183;margin:0 0 15px;overflow-wrap:anywhere}
.legal-section p:last-child{margin-bottom:0}
.legal-section .legal-reference-links{display:flex;flex-wrap:wrap;gap:8px 19px;padding-top:5px}
.legal-reference-links a,.legal-crosslink{color:#1768bd;font-size:11px;line-height:1.6;text-decoration:underline;text-underline-offset:3px}
.legal-help{grid-column:2;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;border:1px solid #cedff0;border-radius:16px;background:#eaf2fb;margin-top:-40px}
.legal-help h2{margin:0 0 7px;font-size:14px;line-height:1.5;color:#153d5a;letter-spacing:-.25px}
.legal-help p{font-size:11px;line-height:1.7;color:#657f94;margin:0}
.legal-help a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:white;border:1px solid #c6dced;border-radius:50%;flex:0 0 40px;color:#1768bd}
.legal-help svg{width:19px;height:19px}
.legal-mobile-context{display:none}
body.legal-document{background:#f4f7fb}
@media(min-width:1500px){.legal-layout{padding-top:78px}}
@media(max-width:1100px){.modern-footer .footer-wrap{padding:0 32px}.footer-cta-copy{padding:38px 32px}.footer-columns{gap:27px;grid-template-columns:1.05fr .8fr .95fr 1.1fr}.legal-layout{grid-template-columns:300px minmax(0,1fr);gap:35px;padding:45px 32px 80px}.legal-sidebar{top:120px}.legal-article{padding:0 27px}.legal-section h2{font-size:18px}}
@media(max-width:900px){.footer-columns{grid-template-columns:1.2fr 1fr;gap:38px 48px}.footer-cta{grid-template-columns:1fr 1fr!important}.footer-cta-copy h2{font-size:30px}.footer-cta-copy p{font-size:13px}.footer-cta-copy{padding:34px 27px}.footer-cta-photo img{object-position:68% center}.footer-brand-copy{max-width:320px!important}.footer-columns .footer-brand{grid-column:1}.legal-layout{grid-template-columns:minmax(0,1fr);gap:30px;max-width:760px;padding:35px 28px 70px}.legal-sidebar{position:static;max-height:none;overflow:visible;padding:0}.legal-sidebar h1{font-size:42px;max-width:590px}.legal-intro{max-width:610px}.legal-back{margin-bottom:24px}.legal-toc{padding-top:17px}.legal-toc nav{grid-template-columns:1fr 1fr;gap:4px 12px}.legal-help{grid-column:1;margin-top:0}.legal-mobile-context{position:fixed;top:104px;left:18px;right:18px;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:45px;padding:9px 15px;border:1px solid #d3e2f0;border-radius:11px;background:#f8fbfffa;box-shadow:0 5px 18px #103b5714;backdrop-filter:blur(12px);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none}.legal-mobile-context.is-visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.legal-mobile-context span{font-size:11px;font-weight:700;line-height:1.4;color:#1a4665}.legal-mobile-context a{font-size:10px;color:#1768bd;flex-shrink:0}.legal-section{scroll-margin-top:45px}.legal-sidebar{scroll-margin-top:5px}}
@media(max-width:680px){.modern-footer{background:linear-gradient(#f4f7fb 0 100px,#071e30 100px)!important}.modern-footer .footer-wrap{padding:0 20px}.modern-footer .footer-cta{grid-template-columns:1fr!important;border-radius:19px;margin-bottom:45px}.footer-cta-copy{padding:32px 27px}.footer-cta-copy h2{font-size:31px;max-width:350px;letter-spacing:-1px}.footer-cta-copy p{font-size:13px}.footer-cta-photo{aspect-ratio:1.7777778;min-height:0}.footer-cta-photo img{height:100%;object-fit:contain}.footer-cta-photo:after{background:linear-gradient(180deg,#10334d44,transparent 35%)}.footer-cta-photo figcaption{font-size:8px;right:13px;bottom:12px}.footer-columns{gap:32px 23px;padding:0 6px 34px;grid-template-columns:1fr 1fr}.footer-columns .footer-brand{grid-column:1/-1}.footer-columns .footer-contact-column{grid-column:1/-1}.modern-footer .footer-brand-copy{font-size:12px;max-width:100%!important}.footer-brand-link{margin-bottom:16px}.footer-logo-badge{width:55px;height:55px}.footer-wordmark{font-size:18px}.modern-footer .footer-column h3{font-size:12px;margin:0 0 15px;padding-bottom:11px}.footer-nav-list{gap:10px}.footer-nav-list a{font-size:11px;line-height:1.7}.footer-contact-line{font-size:12px;margin-bottom:11px}.footer-bottom{padding:22px 6px 27px;display:grid;grid-template-columns:1fr auto;gap:17px 12px;font-size:9px}.footer-legal-links{grid-column:1/-1;font-size:10px;gap:10px}.footer-bottom .footer-copyright{grid-row:2;grid-column:1}.footer-to-top{grid-row:2;grid-column:2}.legal-layout{padding:25px 20px 60px;gap:24px}.legal-sidebar h1{font-size:36px;letter-spacing:-1.3px}.legal-back{font-size:11px;margin-bottom:24px}.legal-intro{font-size:12px;line-height:1.9}.legal-kicker{font-size:8px;letter-spacing:1.7px}.legal-toc nav{grid-template-columns:1fr}.legal-toc a{font-size:11px;padding:7px 9px}.legal-article{border-radius:16px;padding:0 21px}.legal-section{padding:27px 0}.legal-section-heading{gap:11px;margin-bottom:17px}.legal-section-icon{width:33px;height:33px;flex-basis:33px;border-radius:9px}.legal-section-icon svg{width:18px;height:18px}.legal-section h2{font-size:18px;letter-spacing:-.4px}.legal-section p{font-size:14px;line-height:1.9}.legal-section-number{font-size:8px;margin-bottom:3px}.legal-date{font-size:9px}.legal-help{padding:21px;gap:12px;border-radius:13px}.legal-help h2{font-size:13px}.legal-help p{font-size:10px}.legal-mobile-context{top:92px;left:12px;right:12px}.legal-reference-links a,.legal-crosslink{font-size:10px}}
@media(prefers-reduced-motion:reduce){.modern-footer *,.legal-page *{transition:none!important;scroll-behavior:auto!important}}

/* El regreso al inicio se sitúa al lado opuesto del acceso a WhatsApp. */
.modern-footer .footer-to-top{position:fixed;left:10px;bottom:24px;z-index:20;width:36px;height:36px;border:1px solid #d2e1ed;background:#f5faff;color:#1768bd;box-shadow:0 4px 18px #082c4920;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,background .2s}
.modern-footer .footer-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.modern-footer .footer-to-top:hover{background:#dbeeff}
.modern-footer .footer-bottom{padding-right:65px}
@media(max-width:680px){.modern-footer .footer-to-top{left:18px;bottom:20px;width:39px;height:39px}.modern-footer .footer-bottom{padding-right:35px;padding-bottom:80px}}
