@font-face{font-family:InterLocal;src:url('/assets/inter-latin-wght-normal.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:block}
:root{--blue:#123c8c;--deep:#071e55;--navy:#061633;--yellow:#ffd21f;--yellow-soft:#fff4b8;--ink:#12203a;--muted:#60708e;--line:#dce5f2;--surface:#f5f8fc;--white:#fff;--radius:24px;--shadow:0 20px 70px rgba(7,30,85,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:InterLocal,Inter,sans-serif;background:var(--white);line-height:1.55}a{color:inherit;text-decoration:none}button,select{font:inherit}.skip-link{position:absolute;left:-999px;top:10px;background:var(--yellow);padding:10px 16px;z-index:30}.skip-link:focus{left:10px}.shell{width:min(1160px,calc(100% - 48px));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,229,242,.75)}.nav-shell{height:76px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand img{width:94px;height:45px;object-fit:contain}.brand-divider{width:1px;height:27px;background:var(--line)}.brand-name{font-size:11px;letter-spacing:.2em;font-weight:800;color:var(--deep)}.desktop-nav{display:flex;align-items:center;gap:27px;margin-left:auto;font-size:13px;font-weight:600;color:#52617a}.desktop-nav a:hover,.nav-login:hover{color:var(--blue)}.nav-actions{display:flex;align-items:center;gap:18px}.nav-login{font-size:13px;font-weight:700;color:var(--blue)}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:49px;padding:0 21px;border-radius:12px;background:var(--blue);color:var(--white);font-size:13px;font-weight:800;letter-spacing:.01em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.button:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(18,60,140,.2)}.button-small{min-height:39px;padding:0 16px;font-size:12px;border-radius:10px}.button-yellow{background:var(--yellow);color:var(--deep)}.button-yellow:hover{background:#ffe15f;box-shadow:0 12px 25px rgba(255,210,31,.25)}.button-outline{border:1px solid rgba(255,255,255,.33);background:transparent;color:white}.button-blue{background:var(--blue);color:white}.button-full{width:100%;margin-top:5px}.mobile-menu{display:none;margin-left:auto}.mobile-menu summary{list-style:none;display:grid;gap:4px;padding:10px;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{display:block;width:23px;height:2px;background:var(--deep)}.mobile-menu nav{position:absolute;left:24px;right:24px;top:68px;display:grid;gap:5px;background:white;border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:var(--shadow)}.mobile-menu nav a{padding:11px 8px;font-weight:700;font-size:14px}
.hero{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--deep),#0b2e6e 65%,#123c8c);color:white;min-height:650px;display:flex;align-items:center}.hero:after{content:"";position:absolute;inset:auto -10% -40% 40%;height:620px;border:1px solid rgba(255,255,255,.1);border-radius:50%;transform:rotate(-12deg)}.hero-glow{position:absolute;border-radius:50%;filter:blur(3px);pointer-events:none}.hero-glow-one{width:430px;height:430px;left:-240px;top:-170px;background:radial-gradient(circle,rgba(255,210,31,.2),transparent 68%)}.hero-glow-two{width:520px;height:520px;right:-250px;bottom:-270px;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 68%)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.03fr .97fr;gap:72px;align-items:center;padding:87px 0}.hero-copy{max-width:610px}.eyebrow{margin:0 0 16px;color:var(--blue);font-size:11px;letter-spacing:.2em;font-weight:800}.eyebrow-light{color:var(--yellow)}.hero h1{font-size:clamp(42px,5.1vw,72px);line-height:1.06;letter-spacing:-.06em;margin:0 0 24px;font-weight:800}.hero h1 span,.section-intro h2 span,.feature-copy h2 span,.academy-section h2 span{color:var(--yellow)}.hero-lead{font-size:17px;line-height:1.7;color:#d9e7ff;max-width:590px;margin:0 0 30px}.hero-lead strong{color:white}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-proof{margin-top:25px;color:#b4c9ee;font-size:11px;letter-spacing:.02em}.hero-proof span{color:var(--yellow);font-weight:900}.hero-product{position:relative;min-height:410px;display:flex;align-items:center;justify-content:center}.product-window{width:min(100%,470px);background:#f7faff;border:1px solid rgba(255,255,255,.48);border-radius:19px;box-shadow:0 28px 70px rgba(0,0,0,.24);overflow:hidden;transform:rotate(2.2deg)}.window-top{height:39px;padding:0 14px;display:flex;align-items:center;gap:6px;background:#e8eef7;border-bottom:1px solid #d5dfef}.window-dot{width:7px;height:7px;border-radius:50%;display:block}.window-dot.red{background:#f17575}.window-dot.yellow{background:#efbe3c}.window-dot.green{background:#55c78a}.window-label{margin-left:10px;color:#75849e;font-size:9px;letter-spacing:.18em;font-weight:800}.window-avatar{margin-left:auto;color:var(--blue);background:#dce8ff;border-radius:7px;padding:4px 7px;font-size:9px;font-weight:800}.window-body{padding:26px}.window-greeting{display:flex;align-items:center;justify-content:space-between}.tiny-label{font-size:9px;letter-spacing:.18em;font-weight:800;color:#7183a0}.window-greeting h3{color:var(--deep);font-size:20px;line-height:1.2;margin:8px 0 2px}.window-greeting p{font-size:11px;color:#74849e;margin:0}.score-ring{width:62px;height:62px;border:6px solid var(--yellow);border-left-color:#dce6f4;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-ring strong{font-size:13px;color:var(--deep)}.score-ring span{font-size:8px;color:#8492a7}.window-progress{margin-top:28px}.window-progress>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:#627390;font-weight:700;margin-bottom:8px}.window-progress strong{color:var(--blue)}.progress-track{height:8px;border-radius:20px;background:#e2eaf5;overflow:hidden}.progress-track i{display:block;height:100%;border-radius:20px;background:linear-gradient(90deg,var(--blue),#2f68c6)}.window-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.window-card{border:1px solid #e1e8f2;border-radius:13px;padding:14px;background:white;display:grid;gap:4px}.card-icon{display:grid;place-items:center;width:24px;height:24px;background:#e5ecfa;border-radius:7px;color:var(--blue);font-size:12px}.yellow-icon{background:#fff1a4;color:#a87900}.window-card small,.copilot-note small{font-size:8px;letter-spacing:.13em;font-weight:800;color:#8190a5;margin-top:7px}.window-card strong{font-size:12px;color:var(--deep)}.window-card em{font-size:10px;color:var(--blue);font-style:normal;font-weight:700}.copilot-note{display:flex;gap:11px;align-items:flex-start;padding:14px;margin-top:14px;background:#edf3ff;border-radius:12px}.copilot-mark{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:var(--blue);color:var(--yellow);font-size:13px;flex-shrink:0}.copilot-note p{font-size:10px;line-height:1.5;color:#526788;margin:6px 0 0}.float-chip{position:absolute;background:white;color:var(--deep);padding:10px 14px;border-radius:10px;box-shadow:0 15px 35px rgba(0,0,0,.16);font-size:10px;font-weight:800}.float-chip span{color:var(--blue);margin-right:5px}.chip-top{right:-16px;top:49px}.chip-bottom{left:-20px;bottom:50px}.chip-bottom span{color:#25a36b}
.audience-section{padding:120px 0 110px}.section-intro{max-width:700px}.section-intro.centered{text-align:center;margin:0 auto 53px}.section-intro h2,.feature-copy h2,.academy-section h2{font-size:clamp(32px,4vw,54px);line-height:1.12;letter-spacing:-.05em;color:var(--deep);margin:0 0 18px}.section-intro p:not(.eyebrow),.feature-copy>p:not(.eyebrow),.academy-section>div:last-child>p:not(.eyebrow){color:var(--muted);font-size:16px;max-width:590px}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:45px}.audience-card{border-radius:var(--radius);padding:36px 36px 39px;min-height:270px;position:relative;overflow:hidden}.audience-card:after{content:"";position:absolute;width:190px;height:190px;border:1px solid currentColor;border-radius:50%;right:-80px;bottom:-100px;opacity:.18}.student-card{background:#edf4ff;color:var(--blue)}.school-card{background:var(--deep);color:white}.audience-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:22px;background:rgba(255,255,255,.75);color:var(--blue);margin-bottom:25px}.school-card .audience-icon{background:rgba(255,255,255,.1);color:var(--yellow)}.card-kicker{font-size:10px;letter-spacing:.18em;font-weight:800;margin:0 0 8px;opacity:.72}.audience-card h3{font-size:25px;letter-spacing:-.03em;margin:0 0 10px;color:inherit}.audience-card p:not(.card-kicker){max-width:455px;color:inherit;opacity:.77;font-size:14px;margin:0 0 24px}.text-link{font-size:13px;font-weight:800;color:inherit}.text-link span{margin-left:5px}
.how-section{background:var(--surface);padding:110px 0 116px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.step{border-top:2px solid #cfdbea;padding-top:20px}.step-number{font-size:12px;color:var(--blue);font-weight:800;letter-spacing:.18em;margin-bottom:28px}.step h3{color:var(--deep);font-size:19px;letter-spacing:-.02em;margin:0 0 10px}.step p{color:var(--muted);font-size:14px;max-width:280px;margin:0}
.pricing-section{padding:120px 0 124px}.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:45px;align-items:stretch}.price-card{border:1px solid var(--line);border-radius:19px;padding:25px 20px 22px;display:flex;flex-direction:column;position:relative;background:white}.price-card:hover{box-shadow:var(--shadow);border-color:#b9cae7;transform:translateY(-4px);transition:.2s ease}.premium-card{background:var(--deep);border-color:var(--deep);color:white;box-shadow:0 18px 50px rgba(7,30,85,.18)}.premium-card:hover{border-color:var(--deep)}.premium-ribbon{position:absolute;top:-13px;right:17px;background:var(--yellow);color:var(--deep);border-radius:20px;padding:5px 9px;font-size:8px;letter-spacing:.15em;font-weight:900}.price-head{display:flex;justify-content:space-between;align-items:flex-start;gap:7px}.price-route{font-size:10px;font-weight:900;letter-spacing:.18em;color:var(--blue)}.premium-card .price-route{color:var(--yellow)}.price-head h3{font-size:20px;letter-spacing:-.04em;margin:6px 0 0;color:var(--deep)}.premium-card h3{color:white}.price-duration{white-space:nowrap;font-size:8px;font-weight:900;letter-spacing:.12em;color:#8492a7;border:1px solid #e0e7f0;border-radius:20px;padding:5px 7px}.premium-card .price-duration{color:#dce7ff;border-color:rgba(255,255,255,.2)}.price-card>p{font-size:12px;color:var(--muted);min-height:42px;margin:20px 0 10px}.premium-card>p{color:#bdcceb}.price{display:flex;align-items:baseline;gap:5px;padding:5px 0 15px;border-bottom:1px solid var(--line)}.premium-card .price{border-color:rgba(255,255,255,.16)}.price strong{font-size:36px;letter-spacing:-.06em;color:var(--deep)}.premium-card .price strong{color:var(--yellow)}.price span{font-size:11px;font-weight:800;color:var(--muted)}.premium-card .price span{color:#dce7ff}.price small{font-size:12px;color:#8290a5;margin-left:auto}.premium-card .price small{color:#cedbfd}.price-card ul{list-style:none;padding:9px 0 10px;margin:0;display:grid;gap:9px;min-height:100px}.price-card li{font-size:11px;color:#536683;display:flex;gap:6px}.price-card li:before{content:"✓";color:var(--blue);font-weight:900}.premium-card li{color:#dbe5fa}.premium-card li:before{color:var(--yellow)}.price-card .button{font-size:11px;min-height:43px;padding:0 10px;margin-top:auto}.pricing-note{text-align:center;color:#8795a9;font-size:11px;margin:24px 0 0}
.feature-section{background:var(--deep);color:white;padding:116px 0}.feature-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:center}.feature-copy h2{color:white}.feature-copy>p:not(.eyebrow){color:#c3d4f0;line-height:1.7;margin-bottom:28px}.feature-bento{display:grid;grid-template-columns:1.15fr .85fr;gap:13px}.bento-card{min-height:165px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.07);padding:22px}.bento-large{grid-row:span 2;min-height:344px;background:linear-gradient(150deg,rgba(255,210,31,.14),rgba(255,255,255,.05))}.bento-symbol{font-size:23px;color:var(--yellow);display:block;margin-bottom:31px}.bento-card h3{font-size:16px;margin:0 0 7px}.bento-card p{font-size:12px;color:#bdcdec;margin:0;line-height:1.55}.mini-bars{margin-top:42px;display:grid;gap:11px}.mini-bars i{height:7px;background:var(--yellow);border-radius:10px;display:block}.mini-bars i:nth-child(2){background:#6384c3}.mini-bars i:nth-child(3){background:#355b9d}
.academy-section{margin:112px auto;padding:56px 62px;display:grid;grid-template-columns:.45fr 1.55fr;gap:55px;align-items:center;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#f5f8ff,#fff)}.academy-mark{font-size:16px;letter-spacing:.18em;font-weight:900;color:var(--blue);line-height:1.3}.academy-section h2{font-size:clamp(28px,3.2vw,42px)}.academy-section>div:last-child>p:not(.eyebrow){margin-bottom:24px}.faq-section{padding:0 0 120px}.faq-grid{max-width:820px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}.faq-grid details{border:1px solid var(--line);border-radius:13px;padding:18px 20px;background:white}.faq-grid summary{font-size:13px;font-weight:800;color:var(--deep);cursor:pointer}.faq-grid p{font-size:12px;color:var(--muted);margin:14px 0 0}.faq-grid a{color:var(--blue);font-weight:700}
.site-footer{background:var(--navy);color:#c5d4ef;padding:70px 0 22px}.footer-grid{display:grid;grid-template-columns:1.5fr .75fr .75fr 1fr;gap:40px}.footer-brand img{width:120px;height:57px;object-fit:contain;object-position:left}.footer-brand p{font-size:12px;margin:15px 0 20px;color:#aebfdf}.social-links{display:flex;gap:11px;flex-wrap:wrap}.social-links a{font-size:10px;color:#dce6fa;padding:7px 9px;border:1px solid rgba(255,255,255,.16);border-radius:20px}.social-links a:hover{border-color:var(--yellow);color:var(--yellow)}.footer-grid h3{color:white;font-size:10px;letter-spacing:.18em;margin:8px 0 19px}.footer-grid>div:not(.footer-brand)>a{display:block;color:#aebfdf;font-size:12px;margin:0 0 11px}.footer-grid>div:not(.footer-brand)>a:hover{color:var(--yellow)}.footer-ref{font-size:12px;color:#aebfdf;line-height:1.5;margin:0 0 12px}.academy-footer-link{color:var(--yellow)!important;font-weight:800}.presence-label{font-size:9px;letter-spacing:.16em;font-weight:800;color:#788caf;display:block;margin-top:25px}.presence-countries{font-size:11px;color:#aebfdf;line-height:1.7;display:block;margin-top:7px}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:52px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:#788caf;font-size:10px}.footer-bottom a:hover{color:var(--yellow)}
.checkout-dialog{border:0;border-radius:22px;padding:0;background:transparent;max-width:460px;width:calc(100% - 32px)}.checkout-dialog::backdrop{background:rgba(3,13,34,.74);backdrop-filter:blur(5px)}.checkout-card{position:relative;background:white;border-radius:22px;padding:32px;box-shadow:0 30px 80px rgba(0,0,0,.3)}.dialog-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:26px;color:#8593a9;cursor:pointer}.checkout-card h2{font-size:28px;color:var(--deep);letter-spacing:-.04em;margin:0 0 17px}.checkout-summary{display:flex;justify-content:space-between;background:#f1f5fb;padding:14px 16px;border-radius:12px;margin-bottom:22px}.checkout-summary span{font-size:12px;color:#657593;font-weight:700}.checkout-summary strong{color:var(--blue);font-size:14px}.checkout-card label{display:block;font-size:12px;color:var(--deep);font-weight:800;margin-bottom:8px}.checkout-card select{width:100%;height:45px;border:1px solid var(--line);border-radius:10px;padding:0 12px;color:var(--ink);background:white}.payment-methods{margin:20px 0}.payment-methods>span{font-size:10px;color:#8491a7;letter-spacing:.08em;font-weight:800;text-transform:uppercase}.payment-methods div{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.payment-methods b{font-size:10px;color:var(--blue);background:#edf3ff;padding:7px 9px;border-radius:7px}.payment-note{font-size:10px;color:#8290a4;text-align:center;margin:14px 0 0;line-height:1.5}
@media(max-width:1000px){.desktop-nav{gap:15px}.nav-shell{gap:18px}.pricing-grid{grid-template-columns:repeat(2,1fr)}.feature-grid{gap:45px}.hero-grid{gap:40px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.shell{width:min(100% - 32px,580px)}.site-header{position:relative}.nav-shell{height:68px}.desktop-nav,.nav-actions{display:none}.mobile-menu{display:block}.hero{min-height:auto}.hero-grid{grid-template-columns:1fr;padding:65px 0 85px;gap:48px}.hero h1{font-size:44px}.hero-lead{font-size:15px}.hero-product{min-height:340px}.product-window{transform:rotate(0)}.chip-top{right:-4px;top:15px}.chip-bottom{left:-5px;bottom:5px}.audience-section,.pricing-section{padding:78px 0}.audience-grid,.steps-grid,.feature-grid,.faq-grid{grid-template-columns:1fr}.audience-card{min-height:250px}.steps-grid{gap:28px}.step p{max-width:none}.pricing-grid{grid-template-columns:1fr;gap:18px}.price-card{padding:27px}.premium-card{order:-1}.feature-section{padding:78px 0}.feature-bento{margin-top:15px}.academy-section{margin:75px auto;padding:32px 25px;grid-template-columns:1fr;gap:22px}.faq-section{padding-bottom:78px}.footer-grid{grid-template-columns:1fr 1fr;gap:34px 22px}.footer-brand{grid-column:1/-1}.footer-bottom{display:grid;gap:9px;margin-top:37px}.window-body{padding:19px}.window-cards{gap:8px}.window-card{padding:10px}.window-card strong{font-size:11px}}
@media(max-width:430px){.hero h1{font-size:38px}.hero-actions .button{width:100%}.hero-proof{font-size:10px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}}
.footer-logo{filter:grayscale(1) brightness(0) invert(1);object-fit:contain;object-position:left}
.diagnostic-cta-section{margin:88px auto 112px;border-radius:24px;padding:49px 58px;display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:center;background:linear-gradient(120deg,#edf4ff,#f9fbff);border:1px solid #d6e3f6}.diagnostic-cta-copy h2{font-size:clamp(30px,3.8vw,48px);line-height:1.1;letter-spacing:-.05em;color:var(--deep);margin:0 0 17px}.diagnostic-cta-copy h2 span{color:var(--blue)}.diagnostic-cta-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.7;max-width:620px;margin:0}.diagnostic-cta-actions{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin-top:26px}.diagnostic-cta-actions>span{font-size:10px;color:#8290a5;font-weight:700}.diagnostic-score-card{border-radius:17px;background:var(--deep);color:white;padding:27px 25px;box-shadow:0 17px 40px rgba(7,30,85,.17)}.diagnostic-score-card .tiny-label{color:var(--yellow);display:block}.diagnostic-score-card>strong{display:block;font-size:21px;letter-spacing:-.03em;margin:7px 0 22px}.score-line{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.15);padding:13px 0;font-size:12px;color:#c7d5ef}.score-line b{color:var(--yellow);font-size:12px}
.app-parts-section{padding:25px 0 120px}.app-parts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:45px}.app-part{border:1px solid var(--line);border-radius:18px;padding:25px;background:white;min-height:215px}.app-part:hover{box-shadow:var(--shadow);border-color:#b9cae7;transform:translateY(-3px);transition:.2s ease}.app-part-featured{grid-column:span 2;display:flex;gap:22px;align-items:flex-start;background:#edf4ff;border-color:#d5e2f7}.app-part-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:#e1ebfc;color:var(--blue);font-size:20px;font-weight:800}.app-part-featured .app-part-icon{background:var(--blue);color:var(--yellow)}.app-part-kicker{font-size:9px;letter-spacing:.17em;font-weight:800;color:var(--blue);margin:0 0 8px}.app-part h3{font-size:18px;letter-spacing:-.03em;color:var(--deep);margin:0 0 9px}.app-part p:not(.app-part-kicker){font-size:12px;color:var(--muted);line-height:1.6;margin:0}.app-part .text-link{display:inline-block;color:var(--blue);margin-top:18px}.school-program-section{background:var(--surface);padding:115px 0 105px}.school-offers{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:44px}.school-offer{position:relative;border-radius:22px;padding:33px;background:white;border:1px solid var(--line);overflow:hidden}.school-offer:after{content:"";position:absolute;width:230px;height:230px;border:1px solid #c7d8f2;border-radius:50%;right:-115px;bottom:-130px}.school-offer-dark{background:var(--deep);border-color:var(--deep);color:white}.school-offer-dark:after{border-color:rgba(255,255,255,.14)}.offer-number{font-size:11px;letter-spacing:.16em;font-weight:900;color:var(--blue);margin-bottom:28px}.school-offer-dark .offer-number{color:var(--yellow)}.school-offer .card-kicker{color:var(--blue)}.school-offer-dark .card-kicker{color:#bcd0f0}.school-offer h3{font-size:24px;line-height:1.2;letter-spacing:-.04em;color:var(--deep);max-width:455px;margin:0 0 18px}.school-offer-dark h3{color:white}.school-offer ul{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px;max-width:490px}.school-offer li{font-size:13px;color:var(--muted);display:flex;gap:8px}.school-offer li:before{content:"✓";color:var(--blue);font-weight:900}.school-offer-dark li{color:#c8d6ed}.school-offer-dark li:before{color:var(--yellow)}.school-proof-row{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:center;margin-top:26px;color:#7889a5;font-size:11px;font-weight:700}.school-contact-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:115px 0}.school-contact-copy h2{font-size:clamp(31px,4vw,51px);line-height:1.1;letter-spacing:-.05em;color:var(--deep);margin:0 0 18px}.school-contact-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.7;max-width:440px}.contact-direct{border-left:3px solid var(--yellow);padding-left:15px;margin-top:28px;display:grid;gap:5px}.contact-direct span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8492a8;font-weight:800}.contact-direct a{color:var(--blue);font-weight:800;font-size:14px}.school-form{border:1px solid var(--line);border-radius:20px;padding:30px;background:white;box-shadow:var(--shadow)}.school-form label{display:grid;gap:7px;font-size:11px;font-weight:800;color:var(--deep);margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.school-form input,.school-form select,.school-form textarea{width:100%;font:inherit;border:1px solid var(--line);border-radius:9px;padding:11px 12px;color:var(--ink);background:#fbfdff;font-size:12px;outline:none;transition:border .2s,box-shadow .2s;resize:vertical}.school-form input:focus,.school-form select:focus,.school-form textarea:focus{border-color:#7d9ed4;box-shadow:0 0 0 3px rgba(18,60,140,.09)}.form-status{min-height:18px;text-align:center;color:var(--blue);font-size:11px;margin:11px 0 0}.form-status.error{color:#b3413d}
@media(max-width:720px){.diagnostic-cta-section{grid-template-columns:1fr;margin:60px auto 78px;padding:30px 24px;gap:30px}.app-parts-section{padding:0 0 78px}.app-parts-grid{grid-template-columns:1fr;margin-top:32px}.app-part-featured{grid-column:auto;display:block}.app-part-featured .app-part-icon{margin-bottom:18px}.school-program-section{padding:78px 0}.school-offers,.school-contact-section{grid-template-columns:1fr}.school-offers{gap:14px;margin-top:32px}.school-offer{padding:27px}.school-contact-section{gap:36px;padding:78px 0}.form-row{grid-template-columns:1fr;gap:0}.school-form{padding:22px}}

/* E-Fly Academy typography alignment: Inter, editorial scale and legibility. */
body{font-family:InterLocal,Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1,h2,h3{letter-spacing:-.035em;line-height:1.08}
.nav-shell{height:72px}
.brand img{width:122px;height:60px}
.button{min-height:52px;padding:.85rem 1.25rem;font-size:.92rem;font-weight:750;-webkit-font-smoothing:antialiased}
.eyebrow{margin-bottom:.9rem;font-size:.74rem;letter-spacing:.18em}
.hero h1{font-size:clamp(2.45rem,6.2vw,4.65rem);line-height:1.08;letter-spacing:-.035em;margin-bottom:1.5rem}
.hero-lead{font-size:clamp(1.04rem,2.3vw,1.24rem);line-height:1.6}
.site-footer{padding:64px 0 42px}
@media(max-width:720px){.nav-shell{height:68px}.brand img{width:104px;height:52px}.hero h1{font-size:clamp(2.35rem,11vw,3.25rem)}.hero-lead{font-size:1.04rem}.button{min-height:52px}}

/* =========================================================
   E-FLY MENTOR — TYPOGRAPHY MATCH E-FLY ACADEMY
   ========================================================= */

html,
body,
button,
input,
select,
textarea {
  font-family:
    InterLocal,
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;
}

body {
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* TITULARES — mismo carácter limpio de Academy */

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family:
    InterLocal,
    Inter,
    ui-sans-serif,
    system-ui,
    sans-serif !important;

  font-weight: 700 !important;
  letter-spacing: -0.035em !important;
}

/* HERO */

.hero h1 {
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
}

.hero-lead {
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

/* TITULARES DE SECCIONES */

.section-intro h2,
.feature-copy h2,
.academy-section h2,
.school-contact-copy h2,
.diagnostic-cta-copy h2 {
  font-weight: 700 !important;
  letter-spacing: -0.035em !important;
}

/* TEXTOS GENERALES */

.section-intro p,
.hero-lead,
.audience-card p,
.app-part p,
.step p,
.price-card p,
.feature-copy p,
.academy-section p,
.school-offer p,
.school-offer li,
.school-contact-copy p,
.faq-grid p,
.footer-grid p {
  font-weight: 400 !important;
}

/* NAVEGACIÓN */

.desktop-nav,
.desktop-nav a,
.nav-login,
.mobile-menu nav a {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

/* BOTONES */

.button {
  font-family:
    InterLocal,
    Inter,
    ui-sans-serif,
    system-ui,
    sans-serif !important;

  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}

/* EYEBROWS / ETIQUETAS */

.eyebrow,
.card-kicker,
.app-part-kicker,
.price-route,
.tiny-label,
.presence-label,
.offer-number {
  font-weight: 700 !important;
  letter-spacing: .16em !important;
}

/* TARJETAS */

.audience-card h3,
.app-part h3,
.step h3,
.price-head h3,
.bento-card h3,
.school-offer h3 {
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
}

/* PRODUCT MOCKUP */

.window-greeting h3,
.window-card strong,
.copilot-note p,
.score-ring strong {
  font-family:
    InterLocal,
    Inter,
    ui-sans-serif,
    system-ui,
    sans-serif !important;
}

/* FOOTER */

.footer-grid h3 {
  font-weight: 700 !important;
}

.footer-grid a,
.footer-bottom {
  font-weight: 400;
}

/* MÓVIL */

@media (max-width: 720px) {
  .hero h1 {
    font-weight: 700 !important;
    letter-spacing: -0.035em !important;
  }

  .hero-lead {
    font-weight: 400 !important;
  }

  .mobile-menu nav a {
    font-weight: 600 !important;
  }
}


/* =========================================================
   E-FLY MENTOR — PALETA VISUAL E-FLY ACADEMY
   ========================================================= */

:root {
  --blue: #123C8C !important;
  --deep: #071E55 !important;
  --navy: #061633 !important;
  --yellow: #FFD21F !important;

  --white: #FFFFFF !important;

  --ink: #12203A !important;
  --muted: #60708E !important;

  --surface: #F5F8FC !important;
  --line: #DCE5F2 !important;

  --yellow-soft: #FFF4B8 !important;

  --shadow:
    0 20px 60px rgba(7, 30, 85, .10) !important;
}


/* =========================================================
   HEADER
   ========================================================= */

.site-header {
  background: rgba(255,255,255,.95) !important;
  border-bottom: 1px solid rgba(220,229,242,.85) !important;
}

.brand-name {
  color: #071E55 !important;
}

.desktop-nav {
  color: #4B5563 !important;
}

.desktop-nav a:hover,
.nav-login:hover {
  color: #123C8C !important;
}

.nav-login {
  color: #123C8C !important;
}


/* =========================================================
   HERO
   ========================================================= */

.hero {
  background:
    linear-gradient(
      120deg,
      #071E55 0%,
      #0A2862 55%,
      #123C8C 100%
    ) !important;
}

.hero h1 {
  color: #FFFFFF !important;
}

.hero h1 span {
  color: #FFD21F !important;
}

.hero-lead {
  color: #D9E7FF !important;
}

.hero-lead strong {
  color: #FFFFFF !important;
}

.hero-proof {
  color: #B9CAEA !important;
}

.hero-proof span {
  color: #FFD21F !important;
}


/* =========================================================
   BOTONES
   ========================================================= */

.button,
.button-blue {
  background: #123C8C !important;
  color: #FFFFFF !important;
}

.button:hover,
.button-blue:hover {
  background: #0E3277 !important;
  box-shadow: 0 12px 28px rgba(18,60,140,.22) !important;
}

.button-yellow {
  background: #FFD21F !important;
  color: #071E55 !important;
}

.button-yellow:hover {
  background: #FFDD55 !important;
  color: #071E55 !important;
  box-shadow: 0 12px 28px rgba(255,210,31,.25) !important;
}

.button-outline {
  background: transparent !important;
  border-color: rgba(255,255,255,.38) !important;
  color: #FFFFFF !important;
}

.button-outline:hover {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.70) !important;
}


/* =========================================================
   TÍTULOS / EYEBROWS
   ========================================================= */

.section-intro h2,
.feature-copy h2,
.academy-section h2,
.school-contact-copy h2,
.diagnostic-cta-copy h2 {
  color: #071E55 !important;
}

.section-intro h2 span,
.academy-section h2 span {
  color: #FFD21F !important;
}

.eyebrow {
  color: #123C8C !important;
}

.eyebrow-light {
  color: #FFD21F !important;
}


/* =========================================================
   TEXTOS
   ========================================================= */

.section-intro p:not(.eyebrow),
.audience-card p,
.app-part p,
.step p,
.price-card p,
.academy-section p,
.school-contact-copy p {
  color: #60708E;
}


/* =========================================================
   CARDS / SUPERFICIES
   ========================================================= */

.audience-section,
.pricing-section,
.app-parts-section,
.school-contact-section,
.faq-section {
  background: #FFFFFF;
}

.how-section,
.school-program-section {
  background: #F5F8FC !important;
}

.audience-card,
.app-part,
.price-card,
.school-offer,
.school-form,
.faq-grid details {
  border-color: #DCE5F2 !important;
}

.student-card {
  background: #EDF4FF !important;
  color: #123C8C !important;
}

.school-card,
.school-offer-dark {
  background: #071E55 !important;
}


/* =========================================================
   PRECIOS
   ========================================================= */

.price-route {
  color: #123C8C !important;
}

.price strong {
  color: #071E55 !important;
}

.price-card li:before {
  color: #123C8C !important;
}

.premium-card {
  background: #071E55 !important;
  border-color: #071E55 !important;
}

.premium-card .price-route,
.premium-card .price strong,
.premium-card li:before {
  color: #FFD21F !important;
}

.premium-ribbon {
  background: #FFD21F !important;
  color: #071E55 !important;
}


/* =========================================================
   COPILOTO / BLOQUE OSCURO
   ========================================================= */

.feature-section {
  background: #071E55 !important;
}

.feature-copy h2 {
  color: #FFFFFF !important;
}

.feature-copy h2 span {
  color: #FFD21F !important;
}

.feature-copy > p:not(.eyebrow) {
  color: #C8D6EE !important;
}

.bento-symbol {
  color: #FFD21F !important;
}


/* =========================================================
   DIAGNÓSTICO
   ========================================================= */

.diagnostic-cta-section {
  background:
    linear-gradient(
      120deg,
      #EDF4FF,
      #F9FBFF
    ) !important;

  border-color: #D6E3F6 !important;
}

.diagnostic-score-card {
  background: #071E55 !important;
}

.diagnostic-score-card .tiny-label,
.score-line b {
  color: #FFD21F !important;
}


/* =========================================================
   MOCKUP DEL PRODUCTO
   ========================================================= */

.product-window {
  background: #F7FAFF !important;
}

.window-top {
  background: #E8EEF7 !important;
  border-color: #D5DFEF !important;
}

.window-avatar {
  color: #123C8C !important;
  background: #DCE8FF !important;
}

.score-ring {
  border-color: #FFD21F !important;
  border-left-color: #DCE6F4 !important;
}

.progress-track i {
  background:
    linear-gradient(
      90deg,
      #123C8C,
      #2F68C6
    ) !important;
}

.copilot-mark {
  background: #123C8C !important;
  color: #FFD21F !important;
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
  background: #061633 !important;
  color: #C5D4EF !important;
}

.footer-grid h3 {
  color: #FFFFFF !important;
}

.footer-grid > div:not(.footer-brand) > a {
  color: #AEBFDF !important;
}

.footer-grid > div:not(.footer-brand) > a:hover,
.social-links a:hover,
.footer-bottom a:hover {
  color: #FFD21F !important;
}

.academy-footer-link {
  color: #FFD21F !important;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 720px) {

  .mobile-menu nav {
    background: #FFFFFF !important;
    border-color: #DCE5F2 !important;
  }

  .mobile-menu nav a {
    color: #071E55;
  }

  .mobile-menu summary span {
    background: #071E55 !important;
  }

}


/* =========================================================
   E-FLY MENTOR
   VISUAL SYSTEM — MATCH E-FLY ACADEMY
   24/08/2026
   ========================================================= */


/* ---------------------------------------------------------
   TOKENS EXACTOS DE ACADEMY
   --------------------------------------------------------- */

:root {
  --blue: #123c8c !important;
  --deep: #071e55 !important;
  --yellow: #ffd21f !important;
  --white: #ffffff !important;

  --gray: #4b5563 !important;

  --soft:
    color-mix(in srgb, var(--blue) 5%, var(--white)) !important;

  --soft-strong:
    color-mix(in srgb, var(--blue) 9%, var(--white)) !important;

  --border:
    color-mix(in srgb, var(--blue) 15%, var(--white)) !important;

  --deep-muted:
    color-mix(in srgb, var(--deep) 76%, var(--white)) !important;

  --container: 1180px !important;
  --radius: 18px !important;

  --shadow:
    0 20px 60px
    color-mix(in srgb, var(--deep) 12%, transparent) !important;

  /* Alias antiguos de Mentor */
  --ink: var(--deep) !important;
  --muted: var(--gray) !important;
  --line: var(--border) !important;
  --surface: var(--soft) !important;
}


/* ---------------------------------------------------------
   BASE
   --------------------------------------------------------- */

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;

  color: var(--deep) !important;
  background: var(--white) !important;

  font-family:
    InterLocal,
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  font-weight: 400;
  line-height: 1.6 !important;

  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* ---------------------------------------------------------
   CONTAINER — MISMA MEDIDA ACADEMY
   --------------------------------------------------------- */

.shell {
  width: min(
    calc(100% - 2rem),
    var(--container)
  ) !important;

  margin-inline: auto !important;
}


/* ---------------------------------------------------------
   TIPOGRAFÍA
   --------------------------------------------------------- */

h1,
h2,
h3 {
  color: var(--deep);
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
}


/* HERO TITLE — escala Academy */

.hero h1 {
  margin: 0 0 1.5rem !important;

  font-size:
    clamp(2.45rem, 6.2vw, 4.65rem) !important;

  font-weight: 750 !important;

  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;

  color: var(--white) !important;
}

.hero h1 span {
  color: var(--yellow) !important;
}


/* TÍTULOS GRANDES DE SECCIÓN */

.section-intro h2,
.feature-copy h2,
.academy-section h2,
.school-contact-copy h2,
.diagnostic-cta-copy h2 {
  font-size:
    clamp(2.15rem, 4.6vw, 3.7rem) !important;

  font-weight: 750 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;

  color: var(--deep) !important;
}


/* H3 */

.audience-card h3,
.app-part h3,
.step h3,
.price-head h3,
.bento-card h3,
.school-offer h3 {
  font-weight: 750 !important;
  letter-spacing: -0.035em !important;
}


/* PÁRRAFOS */

.hero-lead {
  max-width: 590px !important;

  font-size:
    clamp(1.04rem, 2.3vw, 1.24rem) !important;

  font-weight: 400 !important;
  line-height: 1.6 !important;

  color: #d9e7ff !important;
}

.section-intro p:not(.eyebrow),
.audience-card p:not(.card-kicker),
.app-part p:not(.app-part-kicker),
.step p,
.price-card > p,
.academy-section p,
.school-contact-copy p,
.faq-grid p {
  color: var(--gray) !important;
  line-height: 1.6 !important;
}


/* ---------------------------------------------------------
   EYEBROWS — ACADEMY
   --------------------------------------------------------- */

.eyebrow {
  margin-bottom: .9rem !important;

  color: var(--blue) !important;

  font-size: .74rem !important;
  font-weight: 800 !important;

  letter-spacing: .18em !important;
}

.eyebrow-light {
  color: var(--yellow) !important;
}


/* ---------------------------------------------------------
   HEADER — ACADEMY
   --------------------------------------------------------- */

.site-header {
  position: sticky !important;
  top: 0 !important;

  z-index: 1000 !important;

  background:
    color-mix(
      in srgb,
      var(--white) 92%,
      transparent
    ) !important;

  border-bottom:
    1px solid
    color-mix(
      in srgb,
      var(--blue) 11%,
      transparent
    ) !important;

  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

.nav-shell {
  width: min(
    calc(100% - 2rem),
    var(--container)
  ) !important;

  min-height: 72px !important;
  height: auto !important;

  margin-inline: auto !important;
}


/* NAV */

.desktop-nav {
  color: var(--gray) !important;

  font-size: .84rem !important;
  font-weight: 650 !important;
}

.desktop-nav a,
.nav-login {
  transition: color 180ms ease !important;
}

.desktop-nav a:hover,
.nav-login:hover {
  color: var(--blue) !important;
}


/* ---------------------------------------------------------
   BOTONES — COMPORTAMIENTO EXACTO ACADEMY
   --------------------------------------------------------- */

.button {
  display: inline-flex !important;

  min-height: 52px !important;

  align-items: center !important;
  justify-content: center !important;

  gap: 10px !important;

  padding: .85rem 1.25rem !important;

  border:
    1px solid var(--blue) !important;

  border-radius:
    12px !important;

  background:
    var(--blue) !important;

  color:
    var(--white) !important;

  font-size:
    .92rem !important;

  font-weight:
    750 !important;

  line-height:
    1.2 !important;

  text-align:
    center !important;

  box-shadow:
    none !important;

  transition:
    transform 180ms ease,
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease !important;
}


/* Azul → amarillo como Academy */

.button:hover {
  background:
    var(--yellow) !important;

  border-color:
    var(--yellow) !important;

  color:
    var(--deep) !important;

  transform:
    translateY(-2px) !important;

  box-shadow:
    none !important;
}


/* BOTÓN HEADER */

.button-small {
  min-height: 40px !important;
  padding: .66rem 1rem !important;
  font-size: .84rem !important;
}


/* AMARILLO */

.button-yellow {
  background:
    var(--yellow) !important;

  border:
    0 !important;

  color:
    var(--deep) !important;
}

.button-yellow:hover {
  background:
    color-mix(
      in srgb,
      var(--yellow) 82%,
      var(--deep)
    ) !important;

  border-color:
    color-mix(
      in srgb,
      var(--yellow) 82%,
      var(--deep)
    ) !important;

  color:
    var(--deep) !important;

  box-shadow:
    none !important;
}


/* BOTÓN OUTLINE SOBRE HERO */

.button-outline {
  color:
    var(--white) !important;

  background:
    transparent !important;

  border-color:
    color-mix(
      in srgb,
      var(--white) 38%,
      transparent
    ) !important;
}

.button-outline:hover {
  color:
    var(--deep) !important;

  background:
    var(--white) !important;

  border-color:
    var(--white) !important;
}


/* ---------------------------------------------------------
   HERO — MISMA FAMILIA VISUAL
   --------------------------------------------------------- */

.hero {
  background:
    linear-gradient(
      122deg,
      var(--deep),
      #0b2e6e 62%,
      var(--blue)
    ) !important;

  color:
    var(--white) !important;
}

.hero-copy {
  max-width: 700px !important;
}

.hero-proof {
  color: #bfd1ef !important;
  font-weight: 650 !important;
}

.hero-proof span {
  color: var(--yellow) !important;
}


/* ---------------------------------------------------------
   CARDS — RADIOS / BORDES / SOMBRAS ACADEMY
   --------------------------------------------------------- */

.audience-card,
.app-part,
.price-card,
.school-offer,
.school-form,
.faq-grid details,
.diagnostic-cta-section,
.academy-section {
  border:
    1px solid var(--border) !important;

  border-radius:
    var(--radius) !important;

  box-shadow:
    none;
}


/* Cards blancas principales */

.app-part,
.price-card,
.school-offer:not(.school-offer-dark),
.school-form,
.faq-grid details {
  background:
    var(--white) !important;
}


/* HOVER COMO ACADEMY */

.app-part,
.price-card,
.school-offer,
.faq-grid details {
  transition:
    transform 220ms ease,
    box-shadow 220ms ease,
    border-color 220ms ease !important;
}

.app-part:hover,
.price-card:hover {
  transform:
    translateY(-4px) !important;

  border-color:
    color-mix(
      in srgb,
      var(--blue) 28%,
      var(--white)
    ) !important;

  box-shadow:
    0 20px 45px
    color-mix(
      in srgb,
      var(--deep) 13%,
      transparent
    ) !important;
}


/* ---------------------------------------------------------
   FONDOS CLAROS — ACADEMY
   --------------------------------------------------------- */

.how-section,
.school-program-section {
  background:
    var(--soft) !important;
}

.student-card {
  background:
    var(--soft-strong) !important;

  color:
    var(--blue) !important;
}


/* ---------------------------------------------------------
   AZUL PROFUNDO
   --------------------------------------------------------- */

.school-card,
.school-offer-dark,
.premium-card,
.feature-section,
.diagnostic-score-card {
  background:
    var(--deep) !important;
}


/* ---------------------------------------------------------
   PREMIUM
   --------------------------------------------------------- */

.premium-card {
  border-color:
    var(--deep) !important;

  box-shadow:
    0 20px 60px
    color-mix(
      in srgb,
      var(--deep) 18%,
      transparent
    ) !important;
}

.premium-ribbon {
  background:
    var(--yellow) !important;

  color:
    var(--deep) !important;
}


/* ---------------------------------------------------------
   PRODUCT WINDOW
   --------------------------------------------------------- */

.product-window {
  border-radius:
    22px !important;

  background:
    var(--white) !important;

  border:
    1px solid var(--border) !important;

  box-shadow:
    0 30px 80px
    rgb(18 60 140 / 18%) !important;
}

.window-card {
  border:
    1px solid var(--border) !important;

  border-radius:
    12px !important;

  background:
    var(--white) !important;
}

.copilot-note {
  background:
    var(--soft-strong) !important;
}


/* ---------------------------------------------------------
   FOOTER
   --------------------------------------------------------- */

.site-footer {
  background:
    #061b3a !important;

  color:
    rgba(255,255,255,.72) !important;
}

.footer-grid h3 {
  color:
    var(--white) !important;
}

.footer-grid > div:not(.footer-brand) > a,
.footer-brand p,
.footer-ref,
.presence-countries {
  color:
    rgba(255,255,255,.72) !important;
}

.footer-grid > div:not(.footer-brand) > a:hover,
.social-links a:hover,
.footer-bottom a:hover,
.academy-footer-link {
  color:
    var(--yellow) !important;
}


/* ---------------------------------------------------------
   MÓVIL
   --------------------------------------------------------- */

@media (max-width: 720px) {

  .shell {
    width:
      min(calc(100% - 2rem), var(--container))
      !important;
  }

  .site-header {
    position:
      sticky !important;
  }

  .nav-shell {
    min-height:
      68px !important;
  }

  .hero h1 {
    font-size:
      clamp(2.35rem, 11vw, 3.25rem)
      !important;
  }

  .hero-lead {
    font-size:
      1.04rem !important;
  }

  .mobile-menu nav {
    background:
      var(--white) !important;

    border:
      1px solid var(--border) !important;

    border-radius:
      11px !important;

    box-shadow:
      var(--shadow) !important;
  }

  .mobile-menu nav > a:not(.button) {
    padding:
      .9rem 0 !important;

    border-bottom:
      1px solid var(--border) !important;

    color:
      var(--deep) !important;

    font-weight:
      700 !important;
  }

  .mobile-menu summary span {
    background:
      var(--deep) !important;
  }

}


/* =========================================================
   FIN MATCH ACADEMY
   ========================================================= */


/* =========================================================
   E-FLY MENTOR — FONT STABILITY
   Evita FOUT / cambio visible de tipografía
   ========================================================= */

html,
body,
button,
input,
select,
textarea,
a,
p,
span,
strong,
small,
label,
summary,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family:
    InterLocal,
    Inter,
    ui-sans-serif,
    system-ui,
    sans-serif !important;
}



/* =========================================================
   E-FLY MENTOR — HEADER MATCH E-FLY ACADEMY
   ========================================================= */

.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;

  width: 100% !important;

  background:
    rgba(255,255,255,.97) !important;

  border-bottom:
    1px solid rgba(18,60,140,.09) !important;

  backdrop-filter:
    blur(18px) !important;

  -webkit-backdrop-filter:
    blur(18px) !important;
}


/* MISMO ANCHO Y ALTURA DE ACADEMY */

.nav-shell {
  width:
    min(calc(100% - 2rem), 1180px) !important;

  min-height:
    72px !important;

  height:
    72px !important;

  margin:
    0 auto !important;

  padding:
    0 !important;

  display:
    flex !important;

  align-items:
    center !important;

  justify-content:
    space-between !important;

  gap:
    28px !important;
}


/* =========================================================
   LOGO
   ========================================================= */

.brand {
  display:
    inline-flex !important;

  align-items:
    center !important;

  justify-content:
    flex-start !important;

  flex:
    0 0 auto !important;

  width:
    auto !important;

  gap:
    0 !important;
}


/* Logo visual equivalente al de Academy */

.brand img {
  display:
    block !important;

  width:
    105px !important;

  height:
    52px !important;

  object-fit:
    contain !important;

  object-position:
    left center !important;

  margin:
    0 !important;
}


/* Academy muestra solo la marca E-Fly */

.brand-divider,
.brand-name {
  display:
    none !important;
}


/* =========================================================
   NAVEGACIÓN CENTRAL
   ========================================================= */

.desktop-nav {
  display:
    flex !important;

  align-items:
    center !important;

  justify-content:
    center !important;

  gap:
    28px !important;

  margin-left:
    auto !important;

  color:
    #4b5563 !important;

  font-size:
    .84rem !important;

  font-weight:
    650 !important;

  line-height:
    1.2 !important;
}

.desktop-nav a {
  display:
    inline-flex !important;

  align-items:
    center !important;

  min-height:
    40px !important;

  padding:
    0 !important;

  color:
    #4b5563 !important;

  white-space:
    nowrap !important;

  transition:
    color 180ms ease !important;
}

.desktop-nav a:hover {
  color:
    #123c8c !important;
}


/* =========================================================
   ACCIONES DERECHA
   ========================================================= */

.nav-actions {
  display:
    flex !important;

  align-items:
    center !important;

  justify-content:
    flex-end !important;

  gap:
    18px !important;

  flex:
    0 0 auto !important;
}


.nav-login {
  display:
    inline-flex !important;

  align-items:
    center !important;

  min-height:
    40px !important;

  color:
    #123c8c !important;

  font-size:
    .84rem !important;

  font-weight:
    700 !important;

  white-space:
    nowrap !important;
}


.nav-login:hover {
  color:
    #071e55 !important;
}


/* CTA MISMO ESTILO ACADEMY */

.nav-actions .button,
.nav-actions .button-small {
  display:
    inline-flex !important;

  align-items:
    center !important;

  justify-content:
    center !important;

  min-height:
    40px !important;

  height:
    40px !important;

  padding:
    .66rem 1rem !important;

  border:
    1px solid #123c8c !important;

  border-radius:
    10px !important;

  background:
    #123c8c !important;

  color:
    #ffffff !important;

  font-size:
    .84rem !important;

  font-weight:
    750 !important;

  line-height:
    1 !important;

  white-space:
    nowrap !important;

  box-shadow:
    none !important;
}


.nav-actions .button:hover,
.nav-actions .button-small:hover {
  background:
    #ffd21f !important;

  border-color:
    #ffd21f !important;

  color:
    #071e55 !important;

  transform:
    translateY(-2px) !important;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 720px) {

  .nav-shell {
    width:
      min(calc(100% - 2rem), 1180px) !important;

    min-height:
      68px !important;

    height:
      68px !important;
  }

  .brand img {
    width:
      94px !important;

    height:
      48px !important;
  }

  .desktop-nav,
  .nav-actions {
    display:
      none !important;
  }

  .mobile-menu {
    display:
      block !important;

    margin-left:
      auto !important;
  }

}


/* =========================================================
   FIN HEADER ACADEMY MATCH
   ========================================================= */


/* =========================================================
   E-FLY MENTOR — HEADER ACADEMY FINAL
   ========================================================= */

.site-header {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(18,60,140,.10) !important;
}

.nav-shell {
  width: min(calc(100% - 2rem), 1180px) !important;
  height: 72px !important;
  min-height: 72px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}


/* LOGO EXACTO ACADEMY */

.brand {
  width: 122px !important;
  height: 60px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  flex: 0 0 122px !important;

  overflow: visible !important;
}

.brand img {
  width: 122px !important;
  height: 60px !important;

  max-width: none !important;

  object-fit: contain !important;
  object-position: left center !important;

  transform: none !important;

  margin: 0 !important;
  padding: 0 !important;
}

.brand-divider,
.brand-name {
  display: none !important;
}


/* MENÚ */

.desktop-nav {
  margin-left: auto !important;

  display: flex !important;
  align-items: center !important;

  gap: 30px !important;

  font-size: .84rem !important;
  font-weight: 650 !important;

  color: #4b5563 !important;
}


/* ACCIONES DERECHA */

.nav-actions {
  display: flex !important;
  align-items: center !important;

  gap: 18px !important;

  margin-left: 34px !important;
}

.nav-login {
  color: #4b5563 !important;
  font-size: .84rem !important;
  font-weight: 650 !important;
}

.nav-actions .button-small {
  min-height: 40px !important;
  height: 40px !important;

  padding: .66rem 1rem !important;

  border-radius: 10px !important;

  font-size: .84rem !important;
  font-weight: 750 !important;
}


/* MÓVIL */

@media (max-width: 720px) {

  .nav-shell {
    height: 68px !important;
    min-height: 68px !important;
  }

  .brand {
    width: 104px !important;
    height: 52px !important;
    flex-basis: 104px !important;
  }

  .brand img {
    width: 104px !important;
    height: 52px !important;
  }

}



/* =========================================================
   E-FLY MENTOR
   HEADER FINAL — MATCH VISUAL E-FLY ACADEMY
   ========================================================= */


/* HEADER */

.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 2147483000 !important;

  width: 100% !important;

  background: rgba(255,255,255,.98) !important;

  border: 0 !important;
  border-bottom:
    1px solid rgba(18,60,140,.09) !important;

  box-shadow: none !important;

  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;

  overflow: visible !important;
}


/* =========================================================
   CONTENEDOR
   ACADEMY = 1180px / 72px
   ========================================================= */

.nav-shell {
  width:
    min(calc(100% - 2rem), 1180px) !important;

  max-width:
    1180px !important;

  min-height:
    72px !important;

  height:
    72px !important;

  margin:
    0 auto !important;

  padding:
    0 !important;

  display:
    grid !important;

  grid-template-columns:
    150px minmax(0,1fr) auto !important;

  align-items:
    center !important;

  column-gap:
    32px !important;
}


/* =========================================================
   LOGO
   ========================================================= */

/*
   El archivo real de Academy es cuadrado y contiene
   transparencia alrededor.

   Por eso NO debemos limitarlo a 60px de alto.
   Le damos el mismo espacio visual que tiene en Academy.
*/

.brand {
  position: relative !important;

  display: flex !important;

  width: 126px !important;
  height: 72px !important;

  align-items: center !important;
  justify-content: flex-start !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;

  flex-shrink: 0 !important;
}


/* Imagen cuadrada dentro del header, recortando transparencia */

.brand img {
  position: absolute !important;

  left: 0 !important;
  top: 50% !important;

  width: 126px !important;
  height: 126px !important;

  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: contain !important;

  transform:
    translateY(-50%) !important;
}


/* Mentor no lleva texto adicional junto al logo */

.brand-divider,
.brand-name {
  display: none !important;
}


/* =========================================================
   NAVEGACIÓN
   ========================================================= */

.desktop-nav {
  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  justify-self: center !important;

  gap:
    30px !important;

  width:
    auto !important;

  margin:
    0 !important;

  padding:
    0 !important;

  color:
    #4b5563 !important;

  font-size:
    .84rem !important;

  font-weight:
    650 !important;

  line-height:
    1.2 !important;

  letter-spacing:
    0 !important;
}


.desktop-nav a {
  display:
    inline-flex !important;

  align-items:
    center !important;

  justify-content:
    center !important;

  min-height:
    40px !important;

  margin:
    0 !important;

  padding:
    0 !important;

  color:
    #4b5563 !important;

  font-size:
    .84rem !important;

  font-weight:
    650 !important;

  line-height:
    1.2 !important;

  letter-spacing:
    0 !important;

  white-space:
    nowrap !important;

  transition:
    color 180ms ease !important;
}


.desktop-nav a:hover {
  color:
    #123c8c !important;
}


/* =========================================================
   ACCIONES DERECHA
   ========================================================= */

.nav-actions {
  display:
    flex !important;

  justify-self:
    end !important;

  align-items:
    center !important;

  justify-content:
    flex-end !important;

  gap:
    18px !important;

  width:
    auto !important;

  margin:
    0 !important;

  padding:
    0 !important;
}


.nav-login {
  display:
    inline-flex !important;

  align-items:
    center !important;

  justify-content:
    center !important;

  min-height:
    40px !important;

  margin:
    0 !important;

  padding:
    0 !important;

  color:
    #4b5563 !important;

  font-size:
    .84rem !important;

  font-weight:
    650 !important;

  line-height:
    1.2 !important;

  white-space:
    nowrap !important;
}


.nav-login:hover {
  color:
    #123c8c !important;
}


/* =========================================================
   CTA — MISMA PROPORCIÓN ACADEMY
   ========================================================= */

.nav-actions .button,
.nav-actions .button-small {
  display:
    inline-flex !important;

  align-items:
    center !important;

  justify-content:
    center !important;

  min-height:
    40px !important;

  height:
    40px !important;

  margin:
    0 !important;

  padding:
    .66rem 1rem !important;

  border:
    1px solid #123c8c !important;

  border-radius:
    10px !important;

  background:
    #123c8c !important;

  color:
    #ffffff !important;

  font-size:
    .84rem !important;

  font-weight:
    750 !important;

  line-height:
    1 !important;

  letter-spacing:
    0 !important;

  white-space:
    nowrap !important;

  box-shadow:
    none !important;

  transform:
    none !important;

  transition:
    background 180ms ease,
    border-color 180ms ease,
    color 180ms ease,
    transform 180ms ease !important;
}


.nav-actions .button:hover,
.nav-actions .button-small:hover {
  background:
    #ffd21f !important;

  border-color:
    #ffd21f !important;

  color:
    #071e55 !important;

  transform:
    translateY(-2px) !important;

  box-shadow:
    none !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

  .nav-shell {
    grid-template-columns:
      120px 1fr auto !important;

    column-gap:
      18px !important;
  }

  .desktop-nav {
    gap:
      18px !important;
  }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 720px) {

  .nav-shell {
    width:
      min(calc(100% - 2rem), 1180px) !important;

    min-height:
      68px !important;

    height:
      68px !important;

    display:
      flex !important;

    align-items:
      center !important;

    justify-content:
      space-between !important;
  }


  .brand {
    width:
      110px !important;

    height:
      68px !important;
  }


  .brand img {
    width:
      110px !important;

    height:
      110px !important;
  }


  .desktop-nav,
  .nav-actions {
    display:
      none !important;
  }


  .mobile-menu {
    display:
      block !important;

    margin-left:
      auto !important;
  }

}


/* =========================================================
   FIN HEADER FINAL
   ========================================================= */


/* =========================================================
   E-FLY MENTOR — HEADER TYPOGRAPHY MATCH
   ========================================================= */

/* MENÚ PRINCIPAL */

.desktop-nav,
.desktop-nav a {
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
  color: #4b5563 !important;
}

.desktop-nav a:hover {
  color: #123c8c !important;
}


/* ENTRAR A LA APP */

.nav-login {
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
  color: #4b5563 !important;
}

.nav-login:hover {
  color: #123c8c !important;
}


/* DIAGNÓSTICO GRATIS */

.nav-actions .button,
.nav-actions .button-small {
  min-height: 40px !important;
  padding: 0.66rem 1.05rem !important;

  font-size: 0.88rem !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;

  border-radius: 10px !important;
}


/* SEPARACIÓN DEL MENÚ */

.desktop-nav {
  gap: 30px !important;
}

.nav-actions {
  gap: 18px !important;
  margin-left: 32px !important;
}


/* MÓVIL */

@media (max-width: 720px) {
  .mobile-menu nav a {
    font-size: 0.92rem !important;
    font-weight: 700 !important;
  }
}



/* =========================================================
   E-FLY MENTOR — REVEAL ANIMATIONS
   ========================================================= */

/*
  Solo ocultamos elementos cuando JS confirma
  que las animaciones están disponibles.
*/

html.reveal-enabled [data-reveal] {
  opacity: 0;
  transform: translate3d(0, 28px, 0);

  transition:
    opacity 700ms cubic-bezier(.22,.61,.36,1),
    transform 700ms cubic-bezier(.22,.61,.36,1);

  transition-delay:
    var(--reveal-delay, 0ms);

  will-change:
    opacity,
    transform;
}


/* Elementos que entran ligeramente desde izquierda */

html.reveal-enabled [data-reveal="left"] {
  transform:
    translate3d(-32px, 0, 0);
}


/* Elementos que entran desde derecha */

html.reveal-enabled [data-reveal="right"] {
  transform:
    translate3d(32px, 0, 0);
}


/* Tarjetas */

html.reveal-enabled [data-reveal="card"] {
  transform:
    translate3d(0, 24px, 0)
    scale(.985);
}


/* Estado visible */

html.reveal-enabled [data-reveal].is-visible {
  opacity: 1;

  transform:
    translate3d(0, 0, 0)
    scale(1);
}


/* =========================================================
   HERO — ENTRADA INICIAL
   ========================================================= */

html.reveal-enabled .hero .hero-copy[data-reveal] {
  transition-duration:
    800ms;
}

html.reveal-enabled .hero .hero-product[data-reveal] {
  transition-duration:
    900ms;
}


/* =========================================================
   MICRO ANIMACIÓN PARA CARDS EN HOVER
   ========================================================= */

@media (hover: hover) and (pointer: fine) {

  .audience-card,
  .app-part,
  .price-card,
  .school-offer,
  .faq-grid details,
  .diagnostic-score-card {
    transition:
      transform 220ms ease,
      box-shadow 220ms ease,
      border-color 220ms ease !important;
  }

  .audience-card:hover,
  .app-part:hover,
  .price-card:hover,
  .school-offer:hover {
    transform:
      translateY(-5px) !important;
  }

}


/* =========================================================
   ACCESIBILIDAD
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  html.reveal-enabled [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

}



/* =========================================================
   E-FLY MENTOR — HERO PRODUCT WOW ANIMATION
   ========================================================= */


/* Contenedor con perspectiva */
.hero-product {
  perspective: 1200px !important;
  transform-style: preserve-3d !important;
}


/* Entrada principal */
.hero-product .product-window {
  transform-origin: 50% 55% !important;

  animation:
    mentorHeroEntrance 1100ms
      cubic-bezier(.16,1,.3,1)
      both,

    mentorHeroFloat 5.5s
      ease-in-out
      1200ms
      infinite !important;
}


/* ENTRADA:
   viene desde abajo/derecha,
   escala,
   rota,
   rebota y se acomoda
*/
@keyframes mentorHeroEntrance {

  0% {
    opacity: 0;
    transform:
      translate3d(90px, 80px, -180px)
      rotateX(12deg)
      rotateY(-16deg)
      rotateZ(8deg)
      scale(.72);
    filter: blur(10px);
  }

  55% {
    opacity: 1;
    transform:
      translate3d(-10px, -8px, 25px)
      rotateX(-2deg)
      rotateY(3deg)
      rotateZ(1deg)
      scale(1.035);
    filter: blur(0);
  }

  78% {
    transform:
      translate3d(5px, 3px, 0)
      rotateX(1deg)
      rotateY(-1deg)
      rotateZ(2.8deg)
      scale(.992);
  }

  100% {
    opacity: 1;
    transform:
      translate3d(0,0,0)
      rotateX(0deg)
      rotateY(0deg)
      rotateZ(2.2deg)
      scale(1);
    filter: blur(0);
  }
}


/* Movimiento permanente elegante */
@keyframes mentorHeroFloat {

  0%,
  100% {
    transform:
      translate3d(0,0,0)
      rotateX(0deg)
      rotateY(0deg)
      rotateZ(2.2deg)
      scale(1);

    box-shadow:
      0 30px 80px rgba(7,30,85,.24);
  }

  35% {
    transform:
      translate3d(0,-12px,18px)
      rotateX(1.2deg)
      rotateY(-1.5deg)
      rotateZ(1.5deg)
      scale(1.008);

    box-shadow:
      0 42px 95px rgba(7,30,85,.29);
  }

  70% {
    transform:
      translate3d(4px,-5px,8px)
      rotateX(-.7deg)
      rotateY(1.2deg)
      rotateZ(2.8deg)
      scale(1.003);

    box-shadow:
      0 35px 86px rgba(7,30,85,.25);
  }
}


/* =========================================================
   CHIPS FLOTANTES
   ========================================================= */

.hero-product .chip-top {
  animation:
    mentorChipTop 3.4s
    ease-in-out
    1.1s
    infinite !important;
}

.hero-product .chip-bottom {
  animation:
    mentorChipBottom 3.8s
    ease-in-out
    1.35s
    infinite !important;
}


@keyframes mentorChipTop {

  0%,
  100% {
    transform:
      translate3d(0,0,30px)
      rotate(0deg);
  }

  50% {
    transform:
      translate3d(7px,-10px,55px)
      rotate(1deg);
  }
}


@keyframes mentorChipBottom {

  0%,
  100% {
    transform:
      translate3d(0,0,25px)
      rotate(0deg);
  }

  50% {
    transform:
      translate3d(-6px,9px,45px)
      rotate(-1deg);
  }
}


/* =========================================================
   BRILLO QUE RECORRE LA PANTALLA
   ========================================================= */

.product-window {
  position: relative !important;
  isolation: isolate !important;
}

.product-window::after {
  content: "";
  position: absolute;

  z-index: 20;

  top: -45%;
  left: -70%;

  width: 38%;
  height: 190%;

  pointer-events: none;

  background:
    linear-gradient(
      105deg,
      transparent 0%,
      rgba(255,255,255,.03) 30%,
      rgba(255,255,255,.38) 50%,
      rgba(255,255,255,.04) 70%,
      transparent 100%
    );

  transform:
    rotate(14deg);

  animation:
    mentorHeroShine
    6s
    cubic-bezier(.4,0,.2,1)
    1.8s
    infinite;
}


@keyframes mentorHeroShine {

  0%,
  68% {
    left: -70%;
    opacity: 0;
  }

  72% {
    opacity: .7;
  }

  88% {
    left: 135%;
    opacity: .4;
  }

  100% {
    left: 135%;
    opacity: 0;
  }
}


/* =========================================================
   MÓVIL — MISMO EFECTO PERO MÁS CONTROLADO
   ========================================================= */

@media (max-width: 720px) {

  .hero-product .product-window {
    animation:
      mentorHeroEntranceMobile
      900ms
      cubic-bezier(.16,1,.3,1)
      both,

      mentorHeroFloatMobile
      5s
      ease-in-out
      1s
      infinite !important;
  }


  @keyframes mentorHeroEntranceMobile {

    0% {
      opacity: 0;
      transform:
        translate3d(45px,55px,0)
        rotate(6deg)
        scale(.82);
    }

    70% {
      opacity: 1;
      transform:
        translate3d(-4px,-5px,0)
        rotate(1deg)
        scale(1.025);
    }

    100% {
      opacity: 1;
      transform:
        translate3d(0,0,0)
        rotate(2deg)
        scale(1);
    }
  }


  @keyframes mentorHeroFloatMobile {

    0%,
    100% {
      transform:
        translateY(0)
        rotate(2deg);
    }

    50% {
      transform:
        translateY(-8px)
        rotate(1deg);
    }
  }

}


/* ACCESIBILIDAD */

@media (prefers-reduced-motion: reduce) {

  .hero-product .product-window,
  .hero-product .chip-top,
  .hero-product .chip-bottom,
  .product-window::after {
    animation: none !important;
  }

}



/* =========================================================
   E-FLY MENTOR — TEXT COLOR SYSTEM
   MATCH REAL E-FLY ACADEMY
   ========================================================= */


/* ---------------------------------------------------------
   BASE
   --------------------------------------------------------- */

body {
  color: #071e55 !important;
}


/* ---------------------------------------------------------
   SECCIONES BLANCAS
   Títulos principales: azul profundo Academy
   --------------------------------------------------------- */

.section-intro h1,
.section-intro h2,
.section-intro h3,

.audience-section h2,
.audience-section h3,

.how-section h2,
.how-section h3,

.pricing-section h2,
.pricing-section h3,

.app-parts-section h2,
.app-parts-section h3,

.academy-section h2,
.academy-section h3,

.school-program-section h2,
.school-program-section h3,

.school-contact-section h2,
.school-contact-section h3,

.faq-section h2,
.faq-section h3,

.diagnostic-cta-section h2,
.diagnostic-cta-section h3 {

  color: #071e55 !important;
}


/* ---------------------------------------------------------
   IMPORTANTE:
   QUITAR AMARILLO DE FRASES GRANDES

   Ejemplo actual:
   "Potenciada por la escuela."

   Ahora tendrá el mismo azul profundo que Academy.
   --------------------------------------------------------- */

.section-intro h2 span,
.academy-section h2 span,
.diagnostic-cta-copy h2 span {

  color: #071e55 !important;
}


/* ---------------------------------------------------------
   PÁRRAFOS — MISMO GRIS DE ACADEMY
   --------------------------------------------------------- */

.section-intro p:not(.eyebrow),

.audience-card p:not(.card-kicker),

.step p,

.app-part p:not(.app-part-kicker),

.price-card > p,

.academy-section p:not(.eyebrow),

.school-offer li,

.school-contact-copy p:not(.eyebrow),

.faq-grid p,

.diagnostic-cta-copy > p:not(.eyebrow) {

  color: #4b5563 !important;
}


/* ---------------------------------------------------------
   EYEBROWS / ETIQUETAS
   Azul oficial E-Fly
   --------------------------------------------------------- */

.eyebrow,
.card-kicker,
.app-part-kicker,
.price-route,
.offer-number {

  color: #123c8c !important;
}


/* No usar amarillo en eyebrows sobre fondo blanco */

.eyebrow:not(.eyebrow-light) {
  color: #123c8c !important;
}


/* ---------------------------------------------------------
   LINKS DE CONTENIDO
   --------------------------------------------------------- */

.text-link,
.faq-grid a,
.app-part .text-link,
.contact-direct a {

  color: #123c8c !important;
}


.text-link:hover,
.faq-grid a:hover,
.app-part .text-link:hover,
.contact-direct a:hover {

  color: #071e55 !important;
}


/* ---------------------------------------------------------
   TARJETAS CLARAS
   --------------------------------------------------------- */

.student-card,
.app-part,
.price-card,
.school-offer:not(.school-offer-dark),
.faq-grid details {

  color: #071e55 !important;
}


.student-card h3,
.app-part h3,
.price-card h3,
.school-offer:not(.school-offer-dark) h3,
.faq-grid summary {

  color: #071e55 !important;
}


/* ---------------------------------------------------------
   SECCIONES OSCURAS
   --------------------------------------------------------- */

.hero,
.feature-section,
.school-card,
.school-offer-dark,
.premium-card,
.diagnostic-score-card {

  color: #ffffff !important;
}


/* Titulares sobre azul */

.hero h1,
.feature-section h2,
.feature-section h3,
.school-card h3,
.school-offer-dark h3,
.premium-card h3,
.diagnostic-score-card strong {

  color: #ffffff !important;
}


/* HERO:
   quitar amarillo gigante del título.
   Todo blanco, como una jerarquía más limpia.
*/

.hero h1 span {
  color: #ffffff !important;
}


/* ---------------------------------------------------------
   AMARILLO SOLO COMO ACENTO
   --------------------------------------------------------- */

.hero .eyebrow-light,
.feature-section .eyebrow-light,
.premium-ribbon,
.premium-card .price strong,
.premium-card .price-route,
.school-offer-dark .offer-number,
.diagnostic-score-card .tiny-label,
.score-line b,
.bento-symbol {

  color: #ffd21f !important;
}


/* ---------------------------------------------------------
   TEXTOS SECUNDARIOS SOBRE FONDO OSCURO
   --------------------------------------------------------- */

.hero-lead {
  color: #d9e7ff !important;
}

.hero-proof {
  color: #bfd1ef !important;
}

.feature-copy > p:not(.eyebrow),
.bento-card p,
.school-card p,
.school-offer-dark li,
.premium-card > p,
.premium-card li {

  color: #c5d5ef !important;
}


/* ---------------------------------------------------------
   MENÚ / HEADER
   --------------------------------------------------------- */

.desktop-nav,
.desktop-nav a,
.nav-login {

  color: #4b5563 !important;
}

.desktop-nav a:hover,
.nav-login:hover {

  color: #123c8c !important;
}


/* ---------------------------------------------------------
   FORMULARIOS
   --------------------------------------------------------- */

.school-form label {
  color: #071e55 !important;
}

.school-form input,
.school-form textarea,
.school-form select {

  color: #071e55 !important;
}


/* ---------------------------------------------------------
   FOOTER
   --------------------------------------------------------- */

.site-footer {
  color: rgba(255,255,255,.72) !important;
}

.footer-grid h3 {
  color: #ffffff !important;
}

.footer-grid a,
.footer-brand p,
.footer-ref,
.presence-countries {

  color: rgba(255,255,255,.72) !important;
}

.footer-grid a:hover,
.footer-bottom a:hover {

  color: #ffd21f !important;
}


/* ---------------------------------------------------------
   MÓVIL
   --------------------------------------------------------- */

@media (max-width: 720px) {

  .mobile-menu nav a {
    color: #071e55 !important;
  }

  .mobile-menu nav a:hover {
    color: #123c8c !important;
  }

}


/* =========================================================
   FIN TEXT COLORS — E-FLY ACADEMY MATCH
   ========================================================= */



/* =========================================================
   E-FLY MENTOR — SECTION COLOR SYSTEM
   MATCH E-FLY ACADEMY
   ========================================================= */

:root {
  --blue: #123c8c !important;
  --deep: #071e55 !important;
  --yellow: #ffd21f !important;
  --white: #ffffff !important;
  --gray: #4b5563 !important;
  --soft: #f5f8fc !important;
  --soft-strong: #edf4ff !important;
}


/* =========================================================
   1. HERO
   AZUL PROFUNDO → AZUL E-FLY
   ========================================================= */

.hero {
  background:
    linear-gradient(
      120deg,
      #071e55 0%,
      #0b2e6e 55%,
      #123c8c 100%
    ) !important;

  color: #ffffff !important;
}

.hero h1 {
  color: #ffffff !important;
}

.hero h1 span {
  color: #ffd21f !important;
}

.hero .eyebrow {
  color: #ffd21f !important;
}

.hero-lead {
  color: rgba(255,255,255,.82) !important;
}


/* =========================================================
   2. ALUMNOS / DOS RUMBOS
   FONDO BLANCO
   ========================================================= */

.audience-section {
  background: #ffffff !important;
}

.audience-section .section-intro h2 {
  color: #071e55 !important;
}

.audience-section .section-intro h2 span {
  color: #123c8c !important;
}

.audience-section .section-intro p:not(.eyebrow) {
  color: #4b5563 !important;
}

.audience-section .eyebrow {
  color: #123c8c !important;
}


/* TARJETA ALUMNO */

.student-card {
  background: #edf4ff !important;
  color: #071e55 !important;
  border: 1px solid rgba(18,60,140,.12) !important;
}

.student-card h3 {
  color: #123c8c !important;
}

.student-card p {
  color: #4b5563 !important;
}


/* TARJETA ESCUELA */

.school-card {
  background:
    linear-gradient(
      145deg,
      #071e55,
      #123c8c
    ) !important;

  color: #ffffff !important;
}

.school-card h3 {
  color: #ffffff !important;
}

.school-card .card-kicker,
.school-card .text-link {
  color: #ffd21f !important;
}

.school-card p:not(.card-kicker) {
  color: rgba(255,255,255,.78) !important;
}


/* =========================================================
   3. CÓMO FUNCIONA
   FONDO SUAVE ACADEMY
   ========================================================= */

.how-section {
  background: #f5f8fc !important;
}

.how-section h2,
.how-section h3 {
  color: #071e55 !important;
}

.how-section .eyebrow,
.step-number {
  color: #123c8c !important;
}

.how-section p {
  color: #4b5563 !important;
}

.step {
  border-color: rgba(18,60,140,.18) !important;
}


/* =========================================================
   4. DENTRO DE E-FLY MENTOR
   FONDO BLANCO + TARJETAS ACADEMY
   ========================================================= */

.app-parts-section {
  background: #ffffff !important;
}

.app-parts-section h2,
.app-parts-section h3 {
  color: #071e55 !important;
}

.app-parts-section .eyebrow,
.app-part-kicker {
  color: #123c8c !important;
}

.app-part {
  background: #ffffff !important;
  border: 1px solid rgba(18,60,140,.12) !important;
  color: #071e55 !important;
}

.app-part-featured {
  background: #edf4ff !important;
}

.app-part p:not(.app-part-kicker) {
  color: #4b5563 !important;
}


/* =========================================================
   5. PRECIOS
   BLANCO + PREMIUM AZUL PROFUNDO
   ========================================================= */

.pricing-section {
  background: #ffffff !important;
}

.pricing-section .section-intro h2 {
  color: #071e55 !important;
}

.pricing-section .eyebrow {
  color: #123c8c !important;
}

.price-card {
  background: #ffffff !important;
  border: 1px solid rgba(18,60,140,.14) !important;
}

.price-card h3,
.price-card .price strong {
  color: #071e55 !important;
}

.price-route {
  color: #123c8c !important;
}

.price-card > p,
.price-card li {
  color: #4b5563 !important;
}


/* PREMIUM */

.price-card.premium-card {
  background:
    linear-gradient(
      145deg,
      #071e55,
      #123c8c
    ) !important;

  border-color: #071e55 !important;
}

.premium-card h3 {
  color: #ffffff !important;
}

.premium-card .price strong,
.premium-card .price-route,
.premium-card li::before {
  color: #ffd21f !important;
}

.premium-card p,
.premium-card li,
.premium-card .price span,
.premium-card .price small {
  color: rgba(255,255,255,.78) !important;
}

.premium-ribbon {
  background: #ffd21f !important;
  color: #071e55 !important;
}


/* =========================================================
   6. COPILOTO / FUNCIONES DESTACADAS
   COMO SECCIÓN MENTOR DE ACADEMY
   ========================================================= */

.feature-section {
  background: #123c8c !important;
  color: #ffffff !important;
}

.feature-section .eyebrow {
  color: #ffd21f !important;
}

.feature-section h2,
.feature-section h2 span {
  color: #ffffff !important;
}

.feature-copy > p:not(.eyebrow) {
  color: rgba(255,255,255,.78) !important;
}


/* CARDS DENTRO DE AZUL */

.bento-card {
  background:
    rgba(7,30,85,.36) !important;

  border:
    1px solid rgba(255,255,255,.16) !important;

  color: #ffffff !important;
}

.bento-large {
  background:
    linear-gradient(
      145deg,
      rgba(7,30,85,.68),
      rgba(7,30,85,.35)
    ) !important;
}

.bento-card h3 {
  color: #ffffff !important;
}

.bento-card p {
  color: rgba(255,255,255,.72) !important;
}

.bento-symbol {
  color: #ffd21f !important;
}


/* =========================================================
   7. BLOQUE E-FLY ACADEMY
   FONDO SUAVE
   ========================================================= */

.academy-section {
  background:
    linear-gradient(
      135deg,
      #edf4ff,
      #ffffff
    ) !important;

  border:
    1px solid rgba(18,60,140,.12) !important;
}

.academy-section h2,
.academy-section h2 span {
  color: #071e55 !important;
}

.academy-section .eyebrow {
  color: #123c8c !important;
}

.academy-section p {
  color: #4b5563 !important;
}


/* =========================================================
   8. DIAGNÓSTICO
   AZUL E-FLY
   ========================================================= */

.diagnostic-cta-section {
  background:
    linear-gradient(
      135deg,
      #123c8c,
      #071e55
    ) !important;

  border: 0 !important;
  color: #ffffff !important;
}

.diagnostic-cta-copy .eyebrow {
  color: #ffd21f !important;
}

.diagnostic-cta-copy h2,
.diagnostic-cta-copy h2 span {
  color: #ffffff !important;
}

.diagnostic-cta-copy > p:not(.eyebrow) {
  color: rgba(255,255,255,.76) !important;
}

.diagnostic-cta-actions > span {
  color: rgba(255,255,255,.68) !important;
}

.diagnostic-score-card {
  background:
    rgba(7,30,85,.76) !important;

  border:
    1px solid rgba(255,255,255,.15) !important;
}

.diagnostic-score-card .tiny-label,
.score-line b {
  color: #ffd21f !important;
}


/* =========================================================
   9. ESCUELAS
   FONDO SUAVE
   ========================================================= */

.school-program-section {
  background: #f5f8fc !important;
}

.school-program-section .section-intro h2 {
  color: #071e55 !important;
}

.school-program-section .eyebrow {
  color: #123c8c !important;
}

.school-program-section .section-intro p {
  color: #4b5563 !important;
}


/* ESCUELA CLARA */

.school-offer:not(.school-offer-dark) {
  background: #ffffff !important;

  border:
    1px solid rgba(18,60,140,.12) !important;
}

.school-offer:not(.school-offer-dark) h3 {
  color: #071e55 !important;
}

.school-offer:not(.school-offer-dark) li {
  color: #4b5563 !important;
}


/* ESCUELA OSCURA */

.school-offer-dark {
  background:
    linear-gradient(
      145deg,
      #071e55,
      #123c8c
    ) !important;

  color: #ffffff !important;
}

.school-offer-dark h3 {
  color: #ffffff !important;
}

.school-offer-dark .offer-number,
.school-offer-dark li::before {
  color: #ffd21f !important;
}

.school-offer-dark li {
  color: rgba(255,255,255,.76) !important;
}


/* =========================================================
   10. CONTACTO ESCUELAS
   BLANCO
   ========================================================= */

.school-contact-section {
  background: #ffffff !important;
}

.school-contact-copy h2 {
  color: #071e55 !important;
}

.school-contact-copy .eyebrow {
  color: #123c8c !important;
}

.school-contact-copy p {
  color: #4b5563 !important;
}

.school-form {
  background: #ffffff !important;

  border:
    1px solid rgba(18,60,140,.13) !important;

  box-shadow:
    0 20px 60px rgba(7,30,85,.10) !important;
}


/* =========================================================
   11. FAQ
   FONDO SUAVE
   ========================================================= */

.faq-section {
  background: #f5f8fc !important;
}

.faq-section .section-intro h2 {
  color: #071e55 !important;
}

.faq-section .eyebrow {
  color: #123c8c !important;
}

.faq-grid details {
  background: #ffffff !important;

  border:
    1px solid rgba(18,60,140,.12) !important;
}

.faq-grid summary {
  color: #071e55 !important;
}

.faq-grid p {
  color: #4b5563 !important;
}


/* =========================================================
   12. BOTONES
   MISMO LENGUAJE ACADEMY
   ========================================================= */

.button-blue,
.button:not(.button-yellow):not(.button-outline) {
  background: #123c8c !important;
  border-color: #123c8c !important;
  color: #ffffff !important;
}

.button-blue:hover,
.button:not(.button-yellow):not(.button-outline):hover {
  background: #ffd21f !important;
  border-color: #ffd21f !important;
  color: #071e55 !important;
}

.button-yellow {
  background: #ffd21f !important;
  color: #071e55 !important;
}


/* =========================================================
   13. FOOTER
   ========================================================= */

.site-footer {
  background: #061b3a !important;
}


/* =========================================================
   FIN SISTEMA VISUAL E-FLY ACADEMY
   ========================================================= */



/* =========================================================
   E-FLY MENTOR
   DENTRO DE MENTOR — GRID PERFECTO + HOVER E-FLY
   ========================================================= */


/* ---------------------------------------------------------
   GRID 3 x 2 PERFECTAMENTE ALINEADO
   --------------------------------------------------------- */

.app-parts-grid {
  display: grid !important;

  grid-template-columns:
    repeat(3, minmax(0, 1fr)) !important;

  gap:
    16px !important;

  align-items:
    stretch !important;
}


/* Todas las tarjetas tienen exactamente la misma estructura */

.app-part,
.app-part-featured {
  grid-column:
    auto !important;

  display:
    flex !important;

  flex-direction:
    column !important;

  align-items:
    flex-start !important;

  gap:
    0 !important;

  width:
    100% !important;

  min-width:
    0 !important;

  min-height:
    225px !important;

  height:
    100% !important;

  padding:
    26px !important;

  border:
    1px solid rgba(18,60,140,.13) !important;

  border-radius:
    18px !important;

  background:
    #ffffff !important;

  color:
    #071e55 !important;

  box-shadow:
    0 8px 24px rgba(7,30,85,.035) !important;

  overflow:
    hidden !important;

  transition:
    transform 240ms cubic-bezier(.2,.8,.2,1),
    box-shadow 240ms ease,
    border-color 240ms ease,
    background-color 240ms ease,
    color 240ms ease !important;
}


/* La primera tarjeta conserva una ligera distinción
   sin romper la cuadrícula */

.app-part-featured {
  background:
    #edf4ff !important;

  border-color:
    rgba(18,60,140,.18) !important;
}


/* ---------------------------------------------------------
   ICONO
   --------------------------------------------------------- */

.app-part-icon {
  display:
    grid !important;

  place-items:
    center !important;

  width:
    44px !important;

  height:
    44px !important;

  flex:
    0 0 44px !important;

  margin:
    0 0 20px !important;

  border-radius:
    12px !important;

  background:
    #e1ebfc !important;

  color:
    #123c8c !important;

  transition:
    background-color 240ms ease,
    color 240ms ease,
    transform 240ms ease !important;
}


/* El icono de la destacada ya no altera la alineación */

.app-part-featured .app-part-icon {
  background:
    #123c8c !important;

  color:
    #ffd21f !important;
}


/* ---------------------------------------------------------
   TEXTOS
   --------------------------------------------------------- */

.app-part-kicker {
  margin:
    0 0 8px !important;

  color:
    #123c8c !important;

  font-size:
    .68rem !important;

  font-weight:
    800 !important;

  letter-spacing:
    .15em !important;

  transition:
    color 240ms ease !important;
}


.app-part h3 {
  margin:
    0 0 10px !important;

  color:
    #071e55 !important;

  font-size:
    1.06rem !important;

  font-weight:
    750 !important;

  line-height:
    1.2 !important;

  letter-spacing:
    -.025em !important;

  transition:
    color 240ms ease !important;
}


.app-part p:not(.app-part-kicker) {
  margin:
    0 !important;

  color:
    #4b5563 !important;

  font-size:
    .82rem !important;

  line-height:
    1.6 !important;

  transition:
    color 240ms ease !important;
}


/* Link siempre abajo para que todas las cards alineen */

.app-part .text-link {
  margin-top:
    auto !important;

  padding-top:
    20px !important;

  color:
    #123c8c !important;

  font-weight:
    750 !important;

  transition:
    color 240ms ease,
    transform 240ms ease !important;
}


/* =========================================================
   HOVER — AMARILLO E-FLY
   ========================================================= */

@media (hover: hover) and (pointer: fine) {

  .app-part:hover,
  .app-part-featured:hover {

    background:
      #ffd21f !important;

    border-color:
      #ffd21f !important;

    transform:
      translateY(-7px) !important;

    box-shadow:
      0 20px 42px rgba(7,30,85,.16) !important;
  }


  /* Título */

  .app-part:hover h3 {
    color:
      #071e55 !important;
  }


  /* Texto */

  .app-part:hover p:not(.app-part-kicker) {
    color:
      rgba(7,30,85,.78) !important;
  }


  /* Kicker */

  .app-part:hover .app-part-kicker {
    color:
      #071e55 !important;
  }


  /* Icono azul profundo sobre amarillo */

  .app-part:hover .app-part-icon {
    background:
      #071e55 !important;

    color:
      #ffd21f !important;

    transform:
      translateY(-2px)
      rotate(-3deg)
      scale(1.06) !important;
  }


  /* Link */

  .app-part:hover .text-link {
    color:
      #071e55 !important;

    transform:
      translateX(3px) !important;
  }

}


/* =========================================================
   TABLET — 2 COLUMNAS
   ========================================================= */

@media (max-width: 900px) {

  .app-parts-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }

}


/* =========================================================
   CELULAR — 1 COLUMNA
   ========================================================= */

@media (max-width: 600px) {

  .app-parts-grid {
    grid-template-columns:
      1fr !important;

    gap:
      12px !important;
  }

  .app-part,
  .app-part-featured {
    min-height:
      auto !important;

    padding:
      22px !important;
  }

}


/* =========================================================
   FIN CARDS
   ========================================================= */






/* ===== E-FLY ACADEMY TAIL CLONE START ===== */


/* =========================================================
   COPIA DIRECTA DESDE /opt/eflyacademy-web/app/globals.css
   ========================================================= */

.ai-conversation-section {
  margin-top: -112px;
  padding-top: 0;
  padding-bottom: 24px;
  background: var(--white);
}

.ai-conversation-card {
  display: grid;
  gap: clamp(1.75rem, 5vw, 4rem);
  padding: clamp(1.5rem, 5vw, 3.5rem);
  padding-top: 0;
  padding-bottom: 0;
  border-radius: clamp(22px, 4vw, 34px);
  color: var(--white);
  background:
    radial-gradient(circle at 86% 18%, rgb(255 210 31 / 18%), transparent 28%),
    linear-gradient(135deg, var(--deep), var(--blue));
  box-shadow: 0 28px 75px rgb(7 30 85 / 18%);
}

.ai-conversation-card__copy h2 {
  max-width: 720px;
  margin-bottom: 1rem;
  color: var(--white);
}

.ai-conversation-card__copy > p:not(.eyebrow) {
  max-width: 690px;
  margin-bottom: 1.25rem;
  color: rgb(255 255 255 / 78%);
  font-size: 1.02rem;
}

.ai-conversation-card__copy ul {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ai-conversation-card__copy li {
  color: rgb(255 255 255 / 82%);
  font-size: 0.86rem;
}

.ai-conversation-card__copy li::before {
  margin-right: 0.55rem;
  color: var(--yellow);
  content: "✓";
  font-weight: 800;
}

.ai-conversation-card__widget {
  align-self: center;
  padding: 0;
  border: 0;
  background: transparent;
}

@media (min-width: 860px) {
  .ai-conversation-card__widget {
    transform: translateY(-4.5rem);
  }
}

.elevenlabs-deferred {
  min-height: 2.25rem;
}

.elevenlabs-deferred__placeholder {
  margin: 0;
  color: rgb(255 255 255 / 56%);
  font-size: 0.76rem;
}

.elevenlabs-inline-shell {
  width: 100%;
  min-height: 672px;
  margin-top: 0;
  overflow: hidden;
  border-radius: 14px;
}

.elevenlabs-inline-shell elevenlabs-convai {
  display: block;
  width: 100%;
  min-height: 672px;
}



.pilot-club-section {
  padding: clamp(56px, 8vw, 92px) 0;
  background: var(--soft);
}

.pilot-club-card {
  position: relative;
  display: grid;
  gap: clamp(1.5rem, 4vw, 3rem);
  overflow: hidden;
  padding: clamp(1.5rem, 5vw, 3.5rem);
  border-radius: clamp(22px, 4vw, 34px);
  color: var(--white);
  background:
    radial-gradient(circle at 88% 8%, rgb(37 211 102 / 22%), transparent 25%),
    linear-gradient(135deg, var(--deep), #103a7c);
  box-shadow: 0 28px 75px rgb(7 30 85 / 18%);
}

.pilot-club-card::after {
  position: absolute;
  right: -90px;
  bottom: -120px;
  width: 300px;
  height: 300px;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 50%;
  content: "";
}

.pilot-club-card__icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 20%);
  border-radius: 17px;
  color: var(--white);
  background: #25d366;
  box-shadow: 0 15px 35px rgb(37 211 102 / 25%);
}

.pilot-club-card__icon svg {
  width: 29px;
  height: 29px;
}

.pilot-club-card__copy,
.pilot-club-card__action {
  position: relative;
  z-index: 1;
}

.pilot-club-card__copy h2 {
  margin-bottom: 1rem;
  color: var(--white);
  font-size: clamp(2rem, 5vw, 3.8rem);
}

.pilot-club-card__copy > p:not(.eyebrow) {
  max-width: 650px;
  margin: 0;
  color: rgb(255 255 255 / 74%);
}

.pilot-club-card__action {
  display: grid;
  align-content: center;
  gap: 1rem;
}

.pilot-club-card__action ul {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pilot-club-card__action li {
  color: rgb(255 255 255 / 82%);
  font-size: 0.82rem;
}

.pilot-club-card__action li::before {
  margin-right: 0.55rem;
  color: #62e692;
  content: "✓";
}

.pilot-club-button {
  display: inline-flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  color: #062c15;
  background: #62e692;
  border: 0;
}

.pilot-club-button:hover {
  background: #78efa1;
  border-color: transparent;
}

.pilot-club-button svg {
  width: 18px;
  height: 18px;
}

.pilot-club-card__action small {
  color: rgb(255 255 255 / 54%);
  font-size: 0.65rem;
  text-align: center;
}



.newsletter-section {
  padding: clamp(54px, 8vw, 86px) 0;
  color: var(--white);
  background:
    radial-gradient(circle at 8% 10%, rgb(255 210 31 / 18%), transparent 28%),
    linear-gradient(135deg, var(--deep), var(--blue));
}

.newsletter-card {
  display: grid;
  gap: clamp(2rem, 6vw, 4.5rem);
  align-items: center;
}

.newsletter-card__copy h2 {
  max-width: 620px;
  margin-bottom: 1rem;
  color: var(--white);
  font-size: clamp(2rem, 4.5vw, 3.35rem);
}

.newsletter-card__copy > p:not(.eyebrow) {
  max-width: 590px;
  margin: 0;
  color: rgb(255 255 255 / 74%);
}

.newsletter-form {
  position: relative;
  display: grid;
  gap: 0.75rem;
  padding: clamp(1.2rem, 4vw, 1.7rem);
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 20px;
  background: rgb(255 255 255 / 8%);
  box-shadow: 0 24px 70px rgb(4 20 47 / 24%);
  backdrop-filter: blur(12px);
}

.newsletter-form > label:first-child {
  color: var(--white);
  font-size: 0.76rem;
  font-weight: 750;
}

.newsletter-form__row {
  display: grid;
  gap: 0.65rem;
}

.newsletter-form__row input {
  width: 100%;
  min-height: 51px;
  padding: 0.78rem 1rem;
  border: 1px solid rgb(255 255 255 / 28%);
  border-radius: 10px;
  outline: none;
  background: var(--white);
  color: var(--deep);
  font: inherit;
  font-size: 0.88rem;
}

.newsletter-form__row input:focus {
  border-color: var(--yellow);
  box-shadow: 0 0 0 4px rgb(255 210 31 / 15%);
}

.newsletter-form__row .button {
  min-height: 51px;
  border: 0;
  cursor: pointer;
  white-space: nowrap;
}

.newsletter-form__row .button:disabled {
  cursor: wait;
  opacity: 0.72;
}

.newsletter-consent {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.6rem;
  align-items: start;
  color: rgb(255 255 255 / 68%);
  font-size: 0.68rem;
  line-height: 1.5;
}

.newsletter-consent input {
  width: 15px;
  height: 15px;
  margin-top: 0.17rem;
  accent-color: var(--yellow);
}

.newsletter-consent a {
  color: var(--white);
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.newsletter-status {
  min-height: 1.2rem;
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
}

.newsletter-status--success {
  color: #7df0bd;
}

.newsletter-status--error {
  color: #ffb4b4;
}

.newsletter-honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}




/* FOOTER BASE ACADEMY */

.site-footer {
  padding: 64px 0 92px;
  background: var(--deep);
}


.footer-grid {
  display: grid;
  gap: 2.25rem;
  padding-bottom: 3rem;
}

.footer-brand p {
  max-width: 320px;
  margin: 1.2rem 0 0;
  color: color-mix(in srgb, var(--white) 65%, var(--blue));
  font-size: 0.86rem;
}

.footer-brand .footer-tagline {
  margin-top: 0.75rem;
  font-size: 0.82rem;
  line-height: 1.5;
}

.social-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  max-width: 260px;
  margin-top: 1rem;
}

.social-link {
  display: flex;
  min-width: 0;
  min-height: 44px;
  justify-content: center;
  align-items: center;
  padding: 0.65rem;
  border: 1px solid color-mix(in srgb, var(--white) 18%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--white) 5%, transparent);
  color: color-mix(in srgb, var(--white) 82%, var(--blue)) !important;
  font-size: 0.7rem !important;
  font-weight: 700;
  transition:
    color 180ms ease,
    border-color 180ms ease,
    background 180ms ease,
    transform 180ms ease;
}

.social-link svg {
  width: 17px;
  height: 17px;
}

.social-link span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.social-link:hover {
  color: var(--deep) !important;
  border-color: var(--yellow);
  background: var(--yellow);
  transform: translateY(-2px);
}

.footer-grid > div:not(.footer-brand) {
  display: grid;
  align-content: start;
  gap: 0.65rem;
}

.footer-grid h3 {
  margin-bottom: 0.5rem;
  color: var(--white);
  font-size: 0.8rem;
  letter-spacing: 0;
}

.footer-grid a,
.footer-grid > div > span {
  color: color-mix(in srgb, var(--white) 64%, var(--blue));
  font-size: 0.8rem;
}

.footer-grid .footer-presence-label {
  margin-top: 0.45rem;
  color: var(--white);
  font-size: 0.8rem;
  font-weight: inherit;
  letter-spacing: 0;
  line-height: 1.08;
}

.footer-contact-link__line {
  display: block;
}

.footer-grid .footer-presence-countries {
  line-height: 1.55;
}

.footer-grid a:hover {
  color: var(--yellow);
}

.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid color-mix(in srgb, var(--white) 12%, transparent);
  color: color-mix(in srgb, var(--white) 48%, var(--blue));
  font-size: 0.7rem;
}

.footer-bottom a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgb(255 255 255 / 18%);
  text-underline-offset: 3px;
}

.footer-bottom a:hover {
  color: var(--yellow);
}

.footer-bottom__descriptor {
  white-space: nowrap;
}

.footer-bottom__privacy {
  white-space: nowrap;
}




/* =========================================================
   RESPONSIVE EXACTO USADO POR ACADEMY
   ========================================================= */

@media (min-width: 720px) {

  .footer-grid {
    grid-template-columns:
      1.3fr repeat(3, 1fr);
  }

}


@media (min-width: 860px) {

  .pilot-club-card {
    grid-template-columns:
      auto
      minmax(0, 1.2fr)
      minmax(330px, 0.8fr);

    align-items: center;
  }


  .newsletter-card {
    grid-template-columns:
      minmax(0, 0.95fr)
      minmax(460px, 1.05fr);
  }


  .ai-conversation-card {
    grid-template-columns:
      minmax(0, 1.15fr)
      minmax(300px, 0.85fr);

    align-items: center;
  }


  .newsletter-form__row {
    grid-template-columns:
      minmax(0, 1fr) auto;
  }

}


/* =========================================================
   ADAPTACIÓN NECESARIA PARA MENTOR
   SIN CAMBIAR EL DISEÑO DE ACADEMY
   ========================================================= */

:root {
  --blue: #123c8c;
  --deep: #071e55;
  --yellow: #ffd21f;
  --white: #ffffff;
  --gray: #4b5563;
  --off-white: #f5f8fc;
  --soft: #f5f8fc;
  --soft-strong: #edf4ff;
  --border: #dce5f2;
}


.mentor-academy-tail .container,
.academy-footer-clone .container {
  width:
    min(calc(100% - 2rem), 1180px);

  margin-inline:
    auto;
}


/* El bloque original tenía margen negativo por su posición
   dentro de Academy. Aquí debe quedar normal. */

.ai-conversation-section {
  margin-top: 0 !important;
  padding-top: clamp(64px, 8vw, 96px) !important;
  padding-bottom: clamp(64px, 8vw, 96px) !important;
  background: #ffffff !important;
}


.ai-conversation-card {
  padding:
    clamp(1.5rem, 5vw, 3.5rem) !important;

  border-radius:
    clamp(22px, 4vw, 34px) !important;

  background:
    radial-gradient(
      circle at 86% 18%,
      rgb(255 210 31 / 18%),
      transparent 28%
    ),
    linear-gradient(
      135deg,
      #071e55,
      #123c8c
    ) !important;

  box-shadow:
    0 28px 75px rgb(7 30 85 / 18%) !important;
}


.ai-conversation-card__copy h2 {
  color: #ffffff !important;
}


.eyebrow--yellow {
  color: #ffd21f !important;
}


/* ElevenLabs */

.ai-conversation-card__widget {
  background: transparent !important;
}

.elevenlabs-inline-shell {
  width: 100% !important;
  min-height: 672px !important;
  overflow: hidden !important;
  border-radius: 14px !important;
}

.elevenlabs-inline-shell elevenlabs-convai {
  display: block !important;
  width: 100% !important;
  min-height: 672px !important;
}


/* NEWSLETTER */

.newsletter-section {
  background:
    radial-gradient(
      circle at 8% 10%,
      rgb(255 210 31 / 18%),
      transparent 28%
    ),
    linear-gradient(
      135deg,
      #071e55,
      #123c8c
    ) !important;
}


.button--yellow {
  background: #ffd21f !important;
  border-color: #ffd21f !important;
  color: #071e55 !important;
}


.button--yellow:hover {
  background:
    color-mix(
      in srgb,
      #ffd21f 82%,
      #071e55
    ) !important;

  color: #071e55 !important;
}


/* =========================================================
   FOOTER — FORZAR EXACTAMENTE ACADEMY
   ========================================================= */

.site-footer.academy-footer-clone {
  position: relative !important;

  padding:
    64px 0 92px !important;

  background:
    #071e55 !important;

  color:
    #ffffff !important;
}


.site-footer.academy-footer-clone .footer-grid {
  display:
    grid !important;

  gap:
    2.25rem !important;

  padding-bottom:
    3rem !important;
}


.site-footer.academy-footer-clone .academy-footer-logo {
  display:
    block !important;

  width:
    120px !important;

  height:
    auto !important;

  object-fit:
    contain !important;

  object-position:
    left center !important;
}


.site-footer.academy-footer-clone .footer-tagline {
  margin-top:
    .75rem !important;

  color:
    color-mix(
      in srgb,
      #ffffff 65%,
      #123c8c
    ) !important;

  font-size:
    .82rem !important;

  line-height:
    1.5 !important;
}


.site-footer.academy-footer-clone .social-links {
  display:
    grid !important;

  grid-template-columns:
    repeat(4, minmax(0,1fr)) !important;

  gap:
    .55rem !important;

  max-width:
    260px !important;

  margin-top:
    1rem !important;
}


.site-footer.academy-footer-clone .social-link {
  display:
    flex !important;

  min-height:
    44px !important;

  justify-content:
    center !important;

  align-items:
    center !important;

  padding:
    .65rem !important;

  border:
    1px solid
    color-mix(
      in srgb,
      #ffffff 18%,
      transparent
    ) !important;

  border-radius:
    10px !important;

  background:
    color-mix(
      in srgb,
      #ffffff 5%,
      transparent
    ) !important;

  color:
    color-mix(
      in srgb,
      #ffffff 82%,
      #123c8c
    ) !important;
}


.site-footer.academy-footer-clone .social-link svg {
  width:
    17px !important;

  height:
    17px !important;
}


.site-footer.academy-footer-clone .social-link:hover {
  color:
    #071e55 !important;

  border-color:
    #ffd21f !important;

  background:
    #ffd21f !important;

  transform:
    translateY(-2px) !important;
}


.site-footer.academy-footer-clone
.footer-grid > div:not(.footer-brand) {
  display:
    grid !important;

  align-content:
    start !important;

  gap:
    .65rem !important;
}


.site-footer.academy-footer-clone .footer-grid h3 {
  margin-bottom:
    .5rem !important;

  color:
    #ffffff !important;

  font-size:
    .8rem !important;

  letter-spacing:
    0 !important;
}


.site-footer.academy-footer-clone .footer-grid a,
.site-footer.academy-footer-clone .footer-grid > div > span {
  color:
    color-mix(
      in srgb,
      #ffffff 64%,
      #123c8c
    ) !important;

  font-size:
    .8rem !important;
}


.site-footer.academy-footer-clone .footer-grid a:hover {
  color:
    #ffd21f !important;
}


.site-footer.academy-footer-clone
.footer-presence-label {
  margin-top:
    .45rem !important;

  color:
    #ffffff !important;

  font-size:
    .8rem !important;
}


.site-footer.academy-footer-clone
.footer-presence-countries {
  line-height:
    1.55 !important;
}


.site-footer.academy-footer-clone .footer-bottom {
  display:
    flex !important;

  flex-wrap:
    wrap !important;

  gap:
    .5rem !important;

  padding-top:
    1.5rem !important;

  border-top:
    1px solid
    color-mix(
      in srgb,
      #ffffff 12%,
      transparent
    ) !important;

  color:
    color-mix(
      in srgb,
      #ffffff 48%,
      #123c8c
    ) !important;

  font-size:
    .7rem !important;
}


.site-footer.academy-footer-clone .footer-bottom a {
  color:
    inherit !important;

  text-decoration:
    underline !important;

  text-underline-offset:
    3px !important;
}


.site-footer.academy-footer-clone
.footer-bottom a:hover {
  color:
    #ffd21f !important;
}


/* =========================================================
   VOLVER ARRIBA — MISMO ESTILO, SIN RECARGAR PÁGINA
   ========================================================= */

.back-to-top-wrap {
  display:
    flex !important;

  width:
    100% !important;

  justify-content:
    center !important;

  align-items:
    center !important;
}


button.back-to-top--real {
  display:
    inline-flex !important;

  width:
    max-content !important;

  min-height:
    40px !important;

  margin:
    1.35rem auto 0 !important;

  align-items:
    center !important;

  justify-content:
    center !important;

  gap:
    .55rem !important;

  padding:
    .35rem .42rem .35rem .85rem !important;

  border:
    1px solid
    rgba(255,255,255,.28) !important;

  border-radius:
    999px !important;

  background:
    rgba(255,255,255,.035) !important;

  color:
    #ffffff !important;

  font:
    inherit !important;

  font-size:
    .72rem !important;

  font-weight:
    800 !important;

  cursor:
    pointer !important;
}


button.back-to-top--real:hover {
  transform:
    translateY(-2px) !important;

  border-color:
    rgba(255,210,31,.75) !important;

  background:
    rgba(255,255,255,.07) !important;
}


.back-to-top__icon {
  display:
    grid !important;

  place-items:
    center !important;

  width:
    28px !important;

  height:
    28px !important;

  flex:
    0 0 28px !important;

  border-radius:
    999px !important;

  background:
    #ffd21f !important;

  color:
    #071e55 !important;

  font-size:
    1rem !important;

  font-weight:
    900 !important;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 720px) {

  .mentor-academy-tail .container,
  .academy-footer-clone .container {
    width:
      min(calc(100% - 2rem), 1180px);
  }


  .pilot-club-card,
  .newsletter-card,
  .ai-conversation-card {
    grid-template-columns:
      1fr !important;
  }


  .ai-conversation-card__widget {
    margin-top:
      2rem !important;
  }


  .elevenlabs-inline-shell,
  .elevenlabs-inline-shell elevenlabs-convai {
    min-height:
      504px !important;
  }


  .newsletter-form__row {
    grid-template-columns:
      1fr !important;
  }


  .newsletter-form__row .button {
    width:
      100% !important;
  }


  .site-footer.academy-footer-clone
  .footer-grid {
    grid-template-columns:
      1fr !important;
  }


  button.back-to-top--real {
    min-height:
      44px !important;

    margin:
      1.25rem auto 0 !important;
  }

}


/* ===== E-FLY ACADEMY TAIL CLONE END ===== */



/* =========================================================
   E-FLY PILOT CLUB — EXACT ACADEMY START
   ========================================================= */

/* BASES COPIADAS DE ACADEMY */

.pilot-club-section .container {
  width: min(calc(100% - 2rem), var(--container)) !important;
  margin-inline: auto !important;
}
.pilot-club-section .button {
  display: inline-flex !important;
  min-height: 52px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 0.85rem 1.25rem !important;
  border: 1px solid var(--blue) !important;
  border-radius: 12px !important;
  background: var(--blue) !important;
  color: var(--white) !important;
  font-size: 0.92rem !important;
  font-weight: 750 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease, color 180ms ease !important;
}
.pilot-club-section .eyebrow {
  margin-bottom: 0.9rem !important;
  color: var(--blue) !important;
  font-size: 0.74rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.18em !important;
}

/* PILOT CLUB COPIADO DIRECTAMENTE DE ACADEMY */
.pilot-club-section {
  padding: clamp(56px, 8vw, 92px) 0 !important;
  background: var(--soft) !important;
}

.pilot-club-card {
  position: relative !important;
  display: grid !important;
  gap: clamp(1.5rem, 4vw, 3rem) !important;
  overflow: hidden !important;
  padding: clamp(1.5rem, 5vw, 3.5rem) !important;
  border-radius: clamp(22px, 4vw, 34px) !important;
  color: var(--white) !important;
  background:
    radial-gradient(circle at 88% 8%, rgb(37 211 102 / 22%), transparent 25%),
    linear-gradient(135deg, var(--deep), #103a7c) !important;
  box-shadow: 0 28px 75px rgb(7 30 85 / 18%) !important;
}

.pilot-club-card::after {
  position: absolute !important;
  right: -90px !important;
  bottom: -120px !important;
  width: 300px !important;
  height: 300px !important;
  border: 1px solid rgb(255 255 255 / 10%) !important;
  border-radius: 50% !important;
  content: "" !important;
}

.pilot-club-card__icon {
  display: grid !important;
  width: 58px !important;
  height: 58px !important;
  place-items: center !important;
  border: 1px solid rgb(255 255 255 / 20%) !important;
  border-radius: 17px !important;
  color: var(--white) !important;
  background: #25d366 !important;
  box-shadow: 0 15px 35px rgb(37 211 102 / 25%) !important;
}

.pilot-club-card__icon svg {
  width: 29px !important;
  height: 29px !important;
}

.pilot-club-card__copy,
.pilot-club-card__action {
  position: relative !important;
  z-index: 1 !important;
}

.pilot-club-card__copy h2 {
  margin-bottom: 1rem !important;
  color: var(--white) !important;
  font-size: clamp(2rem, 5vw, 3.8rem) !important;
}

.pilot-club-card__copy > p:not(.eyebrow) {
  max-width: 650px !important;
  margin: 0 !important;
  color: rgb(255 255 255 / 74%) !important;
}

.pilot-club-card__action {
  display: grid !important;
  align-content: center !important;
  gap: 1rem !important;
}

.pilot-club-card__action ul {
  display: grid !important;
  gap: 0.55rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.pilot-club-card__action li {
  color: rgb(255 255 255 / 82%) !important;
  font-size: 0.82rem !important;
}

.pilot-club-card__action li::before {
  margin-right: 0.55rem !important;
  color: #62e692 !important;
  content: "✓" !important;
}

.pilot-club-button {
  display: inline-flex !important;
  width: 100% !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.65rem !important;
  color: #062c15 !important;
  background: #62e692 !important;
  border: 0 !important;
}

.pilot-club-button:hover {
  background: #78efa1 !important;
  border-color: transparent !important;
}

.pilot-club-button svg {
  width: 18px !important;
  height: 18px !important;
}

.pilot-club-card__action small {
  color: rgb(255 255 255 / 54%) !important;
  font-size: 0.65rem !important;
  text-align: center !important;
}





@media (min-width: 860px) {

  .pilot-club-card {
    grid-template-columns:
      auto
      minmax(0, 1.2fr)
      minmax(330px, 0.8fr) !important;

    align-items:
      center !important;
  }

}




/* =========================================================
   AISLAMIENTO DEL BLOQUE ACADEMY
   ========================================================= */


/* La sección ocupa todo el ancho, como en Academy */

.pilot-club-section {
  width: 100% !important;
  box-sizing: border-box !important;
}


/* Evitar que antiguos estilos de Mentor compriman la card */

.pilot-club-section .pilot-club-card {
  width: min(calc(100% - 2rem), 1180px) !important;
  max-width: 1180px !important;

  margin-left: auto !important;
  margin-right: auto !important;
}


/* El título no hereda los tamaños anteriores de Mentor */

.pilot-club-section
.pilot-club-card__copy h2 {
  color: #ffffff !important;
}


/* Descripción */

.pilot-club-section
.pilot-club-card__copy > p:not(.eyebrow) {
  color: rgb(255 255 255 / 78%) !important;
}


/* Eyebrow amarillo */

.pilot-club-section
.eyebrow--yellow {
  color: #ffd21f !important;
}


/* =========================================================
   BOTÓN REAL DE ACADEMY
   Mentor tenía reglas globales que lo volvían azul.
   Academy usa verde #78efa1.
   ========================================================= */

.pilot-club-section
.pilot-club-button {
  width: 100% !important;

  background: #78efa1 !important;
  border-color: transparent !important;

  color: #071e55 !important;

  box-shadow: none !important;
}


.pilot-club-section
.pilot-club-button:hover {
  background: #78efa1 !important;
  border-color: transparent !important;

  color: #071e55 !important;

  transform: translateY(-2px) !important;

  box-shadow:
    0 12px 26px rgb(7 30 85 / 18%) !important;
}


.pilot-club-section
.pilot-club-button svg {
  width: 18px !important;
  height: 18px !important;
}


/* Checklist verde */

.pilot-club-section
.pilot-club-card__action li::before {
  color: #78efa1 !important;
}


/* Nota inferior */

.pilot-club-section
.pilot-club-card__action small {
  color: rgb(255 255 255 / 54%) !important;
  font-size: .65rem !important;
  text-align: center !important;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 859px) {

  .pilot-club-section
  .pilot-club-card {

    width:
      min(calc(100% - 2rem), 1180px) !important;

    grid-template-columns:
      1fr !important;
  }

}


@media (max-width: 600px) {

  .pilot-club-section
  .pilot-club-card {

    width:
      calc(100% - 1.5rem) !important;
  }

}



/* =========================================================
   E-FLY PILOT CLUB — EXACT ACADEMY END
   ========================================================= */



/* ===== PILOT CLUB ACADEMY REAL START ===== */

.pilot-club-section {
  padding: clamp(56px, 8vw, 92px) 0 !important;
  background: var(--soft) !important;
}

.pilot-club-card {
  position: relative !important;
  display: grid !important;
  gap: clamp(1.5rem, 4vw, 3rem) !important;
  overflow: hidden !important;
  padding: clamp(1.5rem, 5vw, 3.5rem) !important;
  border-radius: clamp(22px, 4vw, 34px) !important;
  color: var(--white) !important;
  background:
    radial-gradient(circle at 88% 8%, rgb(37 211 102 / 22%), transparent 25%),
    linear-gradient(135deg, var(--deep), #103a7c);
  box-shadow: 0 28px 75px rgb(7 30 85 / 18%) !important;
}

.pilot-club-card::after {
  position: absolute !important;
  right: -90px !important;
  bottom: -120px !important;
  width: 300px !important;
  height: 300px !important;
  border: 1px solid rgb(255 255 255 / 10%) !important;
  border-radius: 50% !important;
  content: "" !important;
}

.pilot-club-card__icon {
  display: grid !important;
  width: 58px !important;
  height: 58px !important;
  place-items: center !important;
  border: 1px solid rgb(255 255 255 / 20%) !important;
  border-radius: 17px !important;
  color: var(--white) !important;
  background: #25d366 !important;
  box-shadow: 0 15px 35px rgb(37 211 102 / 25%) !important;
}

.pilot-club-card__icon svg {
  width: 29px !important;
  height: 29px !important;
}

.pilot-club-card__copy,
.pilot-club-card__action {
  position: relative !important;
  z-index: 1 !important;
}

.pilot-club-card__copy h2 {
  margin-bottom: 1rem !important;
  color: var(--white) !important;
  font-size: clamp(2rem, 5vw, 3.8rem) !important;
}

.pilot-club-card__copy > p:not(.eyebrow) {
  max-width: 650px !important;
  margin: 0 !important;
  color: rgb(255 255 255 / 74%) !important;
}

.pilot-club-card__action {
  display: grid !important;
  align-content: center !important;
  gap: 1rem !important;
}

.pilot-club-card__action ul {
  display: grid !important;
  gap: 0.55rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.pilot-club-card__action li {
  color: rgb(255 255 255 / 82%) !important;
  font-size: 0.82rem !important;
}

.pilot-club-card__action li::before {
  margin-right: 0.55rem !important;
  color: #62e692 !important;
  content: "✓" !important;
}

.pilot-club-button {
  display: inline-flex !important;
  width: 100% !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.65rem !important;
  color: #062c15 !important;
  background: #62e692 !important;
  border: 0 !important;
}

.pilot-club-button:hover {
  background: #78efa1 !important;
  border-color: transparent !important;
}

.pilot-club-button svg {
  width: 18px !important;
  height: 18px !important;
}

.pilot-club-card__action small {
  color: rgb(255 255 255 / 54%) !important;
  font-size: 0.65rem !important;
  text-align: center !important;
}



/* =========================================================
   AISLAMIENTO VISUAL PARA MENTOR
   Mantiene las medidas y colores de Academy sin que
   los estilos antiguos de Mentor los sobreescriban.
   ========================================================= */

/* Franja blanca que Academy sí tiene visualmente antes
   del bloque y Mentor no tenía. */

.pilot-club-white-separator {
  display: block !important;
  width: 100% !important;
  height: 72px !important;
  background: #ffffff !important;
}


/* El bloque de Academy debe usar su ancho real. */

.pilot-club-section .container {
  width: min(
    calc(100% - 2rem),
    1180px
  ) !important;

  max-width: 1180px !important;
  margin-inline: auto !important;
}


/* Desktop real de Academy */

@media (min-width: 860px) {

  .pilot-club-card {
    grid-template-columns:
      auto
      minmax(0, 1.2fr)
      minmax(330px, 0.8fr)
      !important;

    align-items:
      center !important;
  }

}


/* El botón real de Academy es verde.
   En Mentor una regla global azul lo estaba pisando. */

.pilot-club-section .pilot-club-button,
.pilot-club-section .button.pilot-club-button {
  background: #78efa1 !important;
  border-color: transparent !important;
  color: #071e55 !important;
  box-shadow: none !important;
}


.pilot-club-section .pilot-club-button:hover,
.pilot-club-section .button.pilot-club-button:hover {
  background: #78efa1 !important;
  border-color: transparent !important;
  color: #071e55 !important;

  transform: translateY(-2px) !important;

  box-shadow:
    0 12px 25px
    rgb(7 30 85 / 18%) !important;
}


.pilot-club-section .pilot-club-button svg {
  width: 18px !important;
  height: 18px !important;
}


/* Texto pequeño real de Academy */

.pilot-club-section
.pilot-club-card__action small {
  color:
    rgb(255 255 255 / 54%) !important;

  font-size:
    .65rem !important;

  text-align:
    center !important;
}


/* Evitar que overrides anteriores de Mentor cambien colores */

.pilot-club-section
.pilot-club-card__copy h2 {
  color: #ffffff !important;
}

.pilot-club-section
.pilot-club-card__copy .eyebrow {
  color: #ffd21f !important;
}


/* Tablet / móvil */

@media (max-width: 859px) {

  .pilot-club-white-separator {
    height: 48px !important;
  }

  .pilot-club-card {
    grid-template-columns:
      1fr !important;
  }

}


@media (max-width: 600px) {

  .pilot-club-white-separator {
    height: 32px !important;
  }

}


/* ===== PILOT CLUB ACADEMY REAL END ===== */


/* ===== AI ACADEMY EXACT START ===== */


/* =========================================================
   SECCIÓN EXTERNA
   ========================================================= */

.ai-conversation-section {
  position: relative !important;

  width: 100% !important;

  margin-top: -112px !important;

  padding-top: 0 !important;
  padding-bottom: 24px !important;

  background: #ffffff !important;

  overflow: visible !important;
}


/* =========================================================
   TARJETA PRINCIPAL
   MISMA GEOMETRÍA DE ACADEMY
   ========================================================= */

.ai-conversation-card {
  position: relative !important;

  display: grid !important;

  width: min(calc(100% - 2rem), 1180px) !important;
  max-width: 1180px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  gap: clamp(1.75rem, 5vw, 4rem) !important;

  /*
   CLAVE:
   Mentor tenía padding vertical añadido.
   Academy explícitamente lo deja en CERO.
  */

  padding:
    clamp(1.5rem, 5vw, 3.5rem) !important;

  padding-top:
    0 !important;

  padding-bottom:
    0 !important;

  border:
    0 !important;

  border-radius:
    clamp(22px, 4vw, 34px) !important;

  color:
    #ffffff !important;

  background:
    radial-gradient(
      circle at 86% 18%,
      rgb(255 210 31 / 18%),
      transparent 28%
    ),
    linear-gradient(
      135deg,
      #071e55,
      #123c8c
    ) !important;

  box-shadow:
    0 28px 75px
    rgb(7 30 85 / 18%) !important;

  overflow:
    visible !important;
}


/* =========================================================
   COLUMNA DE TEXTO
   ========================================================= */

.ai-conversation-card__copy {
  position: relative !important;

  z-index: 2 !important;

  align-self:
    center !important;

  min-width:
    0 !important;

  padding:
    0 !important;

  margin:
    0 !important;

  transform:
    none !important;
}


/* EYEBROW */

.ai-conversation-card__copy .eyebrow,
.ai-conversation-card__copy .eyebrow--yellow {

  margin:
    0 0 1.15rem !important;

  color:
    #ffd21f !important;

  font-size:
    .76rem !important;

  font-weight:
    800 !important;

  line-height:
    1.2 !important;

  letter-spacing:
    .15em !important;

  text-transform:
    uppercase !important;
}


/* =========================================================
   TÍTULO
   ESTE ERA UNO DE LOS PROBLEMAS GRANDES EN MENTOR
   ========================================================= */

.ai-conversation-card__copy h2 {

  width:
    100% !important;

  max-width:
    720px !important;

  margin:
    0 0 1rem !important;

  color:
    #ffffff !important;

  font-size:
    clamp(2.6rem, 4.5vw, 3.65rem) !important;

  font-weight:
    500 !important;

  line-height:
    1.04 !important;

  letter-spacing:
    -.045em !important;
}


/* =========================================================
   TEXTO DESCRIPTIVO
   ========================================================= */

.ai-conversation-card__copy > p:not(.eyebrow) {

  max-width:
    690px !important;

  margin:
    0 0 1.25rem !important;

  color:
    rgb(255 255 255 / 78%) !important;

  font-size:
    1.02rem !important;

  font-weight:
    400 !important;

  line-height:
    1.55 !important;
}


/* =========================================================
   CHECKLIST
   ========================================================= */

.ai-conversation-card__copy ul {

  display:
    grid !important;

  gap:
    .55rem !important;

  margin:
    0 !important;

  padding:
    0 !important;

  list-style:
    none !important;
}


.ai-conversation-card__copy li {

  position:
    relative !important;

  margin:
    0 !important;

  padding:
    0 !important;

  color:
    rgb(255 255 255 / 82%) !important;

  font-size:
    .86rem !important;

  font-weight:
    400 !important;

  line-height:
    1.45 !important;
}


.ai-conversation-card__copy li::before {

  position:
    static !important;

  margin-right:
    .55rem !important;

  color:
    #ffd21f !important;

  content:
    "✓" !important;

  font-weight:
    800 !important;
}


/* =========================================================
   WIDGET
   ========================================================= */

.ai-conversation-card__widget {

  position:
    relative !important;

  z-index:
    3 !important;

  align-self:
    center !important;

  min-width:
    0 !important;

  margin:
    0 !important;

  padding:
    0 !important;

  border:
    0 !important;

  background:
    transparent !important;
}


/* =========================================================
   ELEVENLABS
   ========================================================= */

.ai-conversation-card__widget
.elevenlabs-inline-shell {

  width:
    100% !important;

  min-height:
    672px !important;

  margin:
    0 !important;

  padding:
    0 !important;

  overflow:
    hidden !important;

  border-radius:
    14px !important;
}


.ai-conversation-card__widget
.elevenlabs-inline-shell
elevenlabs-convai {

  display:
    block !important;

  width:
    100% !important;

  min-height:
    672px !important;
}


/* Si el widget está directamente sin shell */

.ai-conversation-card__widget
> elevenlabs-convai {

  display:
    block !important;

  width:
    100% !important;
}


/* =========================================================
   DESKTOP — EXACTAMENTE EL BALANCE DE ACADEMY
   ========================================================= */

@media (min-width: 860px) {

  .ai-conversation-card {

    grid-template-columns:
      minmax(0, 1.15fr)
      minmax(300px, .85fr)
      !important;

    align-items:
      center !important;
  }


  /*
   CLAVE DE ACADEMY:
   el widget sube 4.5rem.
  */

  .ai-conversation-card__widget {

    transform:
      translateY(-4.5rem) !important;
  }


  /*
   El texto queda centrado ópticamente respecto
   al widget y no abajo como estaba en Mentor.
  */

  .ai-conversation-card__copy {

    transform:
      translateY(-.25rem) !important;
  }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 640px) and (max-width: 859px) {

  .ai-conversation-section {

    margin-top:
      0 !important;

    padding:
      64px 0 !important;
  }


  .ai-conversation-card {

    grid-template-columns:
      1fr !important;

    padding:
      2.5rem !important;

    gap:
      2rem !important;
  }


  .ai-conversation-card__widget {

    transform:
      none !important;
  }


  .ai-conversation-card__copy h2 {

    font-size:
      clamp(2.3rem, 7vw, 3.4rem) !important;
  }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 639px) {

  .ai-conversation-section {

    margin-top:
      0 !important;

    padding:
      48px 0 !important;

    background:
      #ffffff !important;
  }


  .ai-conversation-card {

    width:
      calc(100% - 1.25rem) !important;

    grid-template-columns:
      1fr !important;

    gap:
      1.5rem !important;

    padding:
      1.7rem 1.25rem !important;

    border-radius:
      24px !important;

    overflow:
      hidden !important;
  }


  .ai-conversation-card__copy {

    transform:
      none !important;
  }


  .ai-conversation-card__copy h2 {

    font-size:
      clamp(2rem, 10vw, 2.8rem) !important;

    line-height:
      1.02 !important;
  }


  .ai-conversation-card__copy > p:not(.eyebrow) {

    font-size:
      .95rem !important;
  }


  .ai-conversation-card__widget {

    margin-top:
      2rem !important;

    transform:
      none !important;
  }


  .ai-conversation-card__widget
  .elevenlabs-inline-shell,

  .ai-conversation-card__widget
  .elevenlabs-inline-shell
  elevenlabs-convai {

    min-height:
      504px !important;
  }

}


/* ===== AI ACADEMY EXACT END ===== */



/* ===== EFLY MENTOR SECTION SPACING START ===== */


/* =========================================================
   PILOT CLUB
   Mantener aire gris debajo de la tarjeta
   como en E-Fly Academy
   ========================================================= */

.pilot-club-section {
  padding-top: 5.5rem !important;
  padding-bottom: 5.5rem !important;

  background: #f4f7fb !important;
}


/* La tarjeta nunca debe tocar el borde inferior de la sección */

.pilot-club-card {
  margin-bottom: 0 !important;
}


/* =========================================================
   SECCIÓN IA
   IMPORTANTE:
   eliminar el -112px heredado de Academy.
   En Mentor esa compensación NO corresponde.
   ========================================================= */

.ai-conversation-section {
  margin-top: 0 !important;

  padding-top: 88px !important;
  padding-bottom: 72px !important;

  background: #ffffff !important;

  overflow: visible !important;
}


/* La card de IA no debe tener márgenes externos que vuelvan
   a subirla sobre Pilot Club */

.ai-conversation-card {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 859px) {

  .pilot-club-section {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }

  .ai-conversation-section {
    margin-top: 0 !important;

    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 639px) {

  .pilot-club-section {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

  .ai-conversation-section {
    margin-top: 0 !important;

    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }

}


/* ===== EFLY MENTOR SECTION SPACING END ===== */



/* ===== NEWSLETTER FOOTER ACADEMY FINAL START ===== */


/* =========================================================
   NEWSLETTER
   ========================================================= */

.newsletter-section {

  width:
    100% !important;

  padding:
    clamp(54px, 8vw, 86px) 0 !important;

  color:
    #ffffff !important;

  background:
    radial-gradient(
      circle at 8% 10%,
      rgb(255 210 31 / 18%),
      transparent 28%
    ),
    linear-gradient(
      135deg,
      #071e55,
      #123c8c
    ) !important;
}


/* MISMO CONTENEDOR DE ACADEMY */

.newsletter-section .container {

  width:
    min(calc(100% - 2rem), 1180px) !important;

  max-width:
    1180px !important;

  margin-inline:
    auto !important;
}


.newsletter-card {

  display:
    grid !important;

  gap:
    clamp(2rem, 6vw, 4.5rem) !important;

  align-items:
    center !important;
}


/* =========================================================
   COPY
   ========================================================= */

.newsletter-card__copy {

  min-width:
    0 !important;
}


.newsletter-card__copy .eyebrow,
.newsletter-card__copy .eyebrow--yellow {

  margin:
    0 0 1rem !important;

  color:
    #ffd21f !important;

  font-family:
    Inter, sans-serif !important;

  font-size:
    .76rem !important;

  font-weight:
    800 !important;

  line-height:
    1.2 !important;

  letter-spacing:
    .16em !important;

  text-transform:
    uppercase !important;
}


/*
  MUY IMPORTANTE:
  Mentor lo tenía demasiado grueso.
*/

.newsletter-card__copy h2 {

  max-width:
    620px !important;

  margin:
    0 0 1rem !important;

  color:
    #ffffff !important;

  font-family:
    Inter, sans-serif !important;

  font-size:
    clamp(2rem, 4.5vw, 3.35rem) !important;

  font-weight:
    500 !important;

  line-height:
    1.05 !important;

  letter-spacing:
    -.045em !important;
}


.newsletter-card__copy > p:not(.eyebrow) {

  max-width:
    590px !important;

  margin:
    0 !important;

  color:
    rgb(255 255 255 / 74%) !important;

  font-family:
    Inter, sans-serif !important;

  font-size:
    1rem !important;

  font-weight:
    400 !important;

  line-height:
    1.55 !important;
}


/* =========================================================
   FORMULARIO
   ========================================================= */

.newsletter-form {

  position:
    relative !important;

  display:
    grid !important;

  gap:
    .75rem !important;

  padding:
    clamp(1.2rem, 4vw, 1.7rem) !important;

  border:
    1px solid
    rgb(255 255 255 / 18%) !important;

  border-radius:
    20px !important;

  background:
    rgb(255 255 255 / 8%) !important;

  box-shadow:
    0 24px 70px
    rgb(4 20 47 / 24%) !important;

  backdrop-filter:
    blur(12px) !important;

  -webkit-backdrop-filter:
    blur(12px) !important;
}


.newsletter-form > label:first-child {

  color:
    #ffffff !important;

  font-family:
    Inter, sans-serif !important;

  font-size:
    .76rem !important;

  font-weight:
    750 !important;
}


.newsletter-form__row {

  display:
    grid !important;

  gap:
    .65rem !important;
}


.newsletter-form__row input {

  width:
    100% !important;

  min-height:
    51px !important;

  padding:
    .78rem 1rem !important;

  border:
    1px solid
    rgb(255 255 255 / 28%) !important;

  border-radius:
    10px !important;

  outline:
    none !important;

  background:
    #ffffff !important;

  color:
    #071e55 !important;

  font-family:
    Inter, sans-serif !important;

  font-size:
    .88rem !important;

  box-shadow:
    none !important;
}


.newsletter-form__row input:focus {

  border-color:
    #ffd21f !important;

  box-shadow:
    0 0 0 4px
    rgb(255 210 31 / 15%) !important;
}


/* =========================================================
   BOTÓN AMARILLO — COMO ACADEMY
   ========================================================= */

.newsletter-form__row .button,
.newsletter-form__row button {

  display:
    inline-flex !important;

  min-height:
    51px !important;

  align-items:
    center !important;

  justify-content:
    center !important;

  padding:
    .75rem 1.2rem !important;

  border:
    0 !important;

  border-radius:
    10px !important;

  background:
    #ffd21f !important;

  color:
    #071e55 !important;

  font-family:
    Inter, sans-serif !important;

  font-size:
    .88rem !important;

  font-weight:
    800 !important;

  line-height:
    1 !important;

  white-space:
    nowrap !important;

  cursor:
    pointer !important;

  box-shadow:
    none !important;

  transform:
    none !important;
}


.newsletter-form__row .button:hover,
.newsletter-form__row button:hover {

  background:
    #ffd21f !important;

  color:
    #071e55 !important;

  filter:
    brightness(.96) !important;

  transform:
    translateY(-1px) !important;
}


/* =========================================================
   CONSENTIMIENTO
   ========================================================= */

.newsletter-consent {

  display:
    grid !important;

  grid-template-columns:
    auto minmax(0,1fr) !important;

  gap:
    .6rem !important;

  align-items:
    start !important;

  color:
    rgb(255 255 255 / 68%) !important;

  font-family:
    Inter, sans-serif !important;

  font-size:
    .68rem !important;

  font-weight:
    400 !important;

  line-height:
    1.5 !important;
}


.newsletter-consent input {

  width:
    15px !important;

  height:
    15px !important;

  margin-top:
    .17rem !important;

  accent-color:
    #ffd21f !important;
}


.newsletter-consent a {

  color:
    #ffffff !important;

  font-weight:
    750 !important;

  text-decoration:
    underline !important;

  text-underline-offset:
    3px !important;
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer,
.site-footer.academy-footer-clone {

  width:
    100% !important;

  padding:
    64px 0 92px !important;

  background:
    #071e55 !important;

  color:
    #ffffff !important;
}


.site-footer .container,
.site-footer.academy-footer-clone .container {

  width:
    min(calc(100% - 2rem), 1180px) !important;

  max-width:
    1180px !important;

  margin-inline:
    auto !important;
}


/* =========================================================
   GRID EXACTO
   ========================================================= */

.site-footer .footer-grid {

  display:
    grid !important;

  gap:
    2.25rem !important;

  padding-bottom:
    3rem !important;

  align-items:
    start !important;
}


@media (min-width: 720px) {

  .site-footer .footer-grid {

    grid-template-columns:
      1.3fr
      repeat(3,1fr)
      !important;
  }

}


/* =========================================================
   LOGO
   ========================================================= */

.site-footer .footer-logo {

  display:
    block !important;

  width:
    122px !important;

  height:
    58px !important;

  margin:
    0 !important;

  object-fit:
    contain !important;

  object-position:
    left center !important;
}


/* =========================================================
   TAGLINE
   ========================================================= */

.site-footer .footer-brand p {

  max-width:
    320px !important;

  margin:
    1.2rem 0 0 !important;

  color:
    color-mix(
      in srgb,
      #ffffff 65%,
      #123c8c
    ) !important;

  font-size:
    .86rem !important;
}


.site-footer
.footer-brand
.footer-tagline {

  margin-top:
    .75rem !important;

  font-size:
    .82rem !important;

  line-height:
    1.5 !important;
}


/* =========================================================
   REDES 4 × 2
   ========================================================= */

.site-footer .social-links {

  display:
    grid !important;

  grid-template-columns:
    repeat(4,minmax(0,1fr)) !important;

  gap:
    .55rem !important;

  max-width:
    260px !important;

  margin-top:
    1rem !important;
}


.site-footer .social-link {

  position:
    relative !important;

  display:
    flex !important;

  min-width:
    0 !important;

  min-height:
    44px !important;

  justify-content:
    center !important;

  align-items:
    center !important;

  padding:
    .65rem !important;

  border:
    1px solid
    rgb(255 255 255 / 18%) !important;

  border-radius:
    10px !important;

  background:
    rgb(255 255 255 / 5%) !important;

  color:
    rgb(210 222 246) !important;

  font-size:
    .7rem !important;

  font-weight:
    700 !important;

  transition:
    color 180ms ease,
    border-color 180ms ease,
    background 180ms ease,
    transform 180ms ease !important;
}


.site-footer .social-link svg {

  width:
    17px !important;

  height:
    17px !important;
}


.site-footer .social-link span {

  position:
    absolute !important;

  width:
    1px !important;

  height:
    1px !important;

  padding:
    0 !important;

  overflow:
    hidden !important;

  clip:
    rect(0,0,0,0) !important;

  white-space:
    nowrap !important;

  border:
    0 !important;
}


.site-footer .social-link:hover {

  color:
    #071e55 !important;

  border-color:
    #ffd21f !important;

  background:
    #ffd21f !important;

  transform:
    translateY(-2px) !important;
}


/* =========================================================
   COLUMNAS
   ========================================================= */

.site-footer
.footer-grid
> div:not(.footer-brand) {

  display:
    grid !important;

  align-content:
    start !important;

  gap:
    .65rem !important;
}


.site-footer .footer-grid h3 {

  margin:
    0 0 .5rem !important;

  color:
    #ffffff !important;

  font-family:
    Inter, sans-serif !important;

  font-size:
    .8rem !important;

  font-weight:
    700 !important;

  line-height:
    1.2 !important;

  letter-spacing:
    0 !important;
}


.site-footer .footer-grid a,
.site-footer .footer-grid > div > span {

  color:
    rgb(179 195 225) !important;

  font-family:
    Inter, sans-serif !important;

  font-size:
    .8rem !important;

  font-weight:
    400 !important;

  line-height:
    1.4 !important;
}


.site-footer .footer-grid a:hover {

  color:
    #ffd21f !important;
}


/* =========================================================
   PRESENCIA E-FLY
   ========================================================= */

.site-footer
.footer-grid
.footer-presence-label {

  margin-top:
    .45rem !important;

  color:
    #ffffff !important;

  font-size:
    .8rem !important;

  font-weight:
    700 !important;

  letter-spacing:
    0 !important;

  line-height:
    1.08 !important;
}


.site-footer
.footer-presence-countries {

  line-height:
    1.55 !important;
}


/* =========================================================
   LEGAL
   ========================================================= */

.site-footer .footer-bottom {

  display:
    flex !important;

  flex-wrap:
    wrap !important;

  gap:
    .5rem !important;

  padding-top:
    1.5rem !important;

  border-top:
    1px solid
    rgb(255 255 255 / 12%) !important;

  color:
    rgb(125 145 183) !important;

  font-family:
    Inter, sans-serif !important;

  font-size:
    .7rem !important;

  font-weight:
    400 !important;
}


.site-footer .footer-bottom a {

  color:
    inherit !important;

  text-decoration:
    underline !important;

  text-decoration-color:
    rgb(255 255 255 / 18%) !important;

  text-underline-offset:
    3px !important;
}


.site-footer .footer-bottom a:hover {

  color:
    #ffd21f !important;
}


/* =========================================================
   VOLVER ARRIBA
   ========================================================= */

.site-footer .back-to-top-wrap {

  display:
    flex !important;

  justify-content:
    center !important;
}


.site-footer .back-to-top {

  margin:
    1.35rem auto 0 !important;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 719px) {

  .newsletter-section {

    padding:
      54px 0 !important;
  }


  .newsletter-card {

    grid-template-columns:
      1fr !important;
  }


  .newsletter-card__copy h2 {

    font-size:
      clamp(2rem, 10vw, 2.8rem) !important;
  }


  .newsletter-form__row {

    grid-template-columns:
      1fr !important;
  }


  .newsletter-form__row .button,
  .newsletter-form__row button {

    width:
      100% !important;
  }


  .site-footer,
  .site-footer.academy-footer-clone {

    padding:
      52px 0 42px !important;
  }


  .site-footer .footer-grid {

    grid-template-columns:
      1fr !important;

    gap:
      2rem !important;
  }

}


/* DESKTOP NEWSLETTER */

@media (min-width: 860px) {

  .newsletter-card {

    grid-template-columns:
      minmax(0,.95fr)
      minmax(460px,1.05fr)
      !important;
  }


  .newsletter-form__row {

    grid-template-columns:
      minmax(0,1fr)
      auto !important;
  }

}


/* ===== NEWSLETTER FOOTER ACADEMY FINAL END ===== */



/* ===== EFLY FOOTER PRECISION FIX START ===== */


/* =========================================================
   NEWSLETTER — BOTÓN AMARILLO REAL
   ========================================================= */

/*
 Mentor tiene reglas globales .button con más especificidad.
 Por eso el botón estaba terminando azul.
*/

.newsletter-section
.newsletter-form
.newsletter-form__row
button[type="submit"],

.newsletter-section
.newsletter-form
.newsletter-form__row
.button.button--yellow,

.newsletter-section
.newsletter-form
.newsletter-form__row
.button.button-yellow {

  min-height: 51px !important;

  padding:
    0 1.25rem !important;

  border:
    0 !important;

  border-radius:
    10px !important;

  background:
    #FFD21F !important;

  border-color:
    #FFD21F !important;

  color:
    #071E55 !important;

  font-size:
    .88rem !important;

  font-weight:
    800 !important;

  line-height:
    1 !important;

  box-shadow:
    none !important;

  filter:
    none !important;

  transform:
    none !important;
}


/* HOVER DEL BOTÓN:
   sigue amarillo, solamente cambia ligeramente */

.newsletter-section
.newsletter-form
.newsletter-form__row
button[type="submit"]:hover,

.newsletter-section
.newsletter-form
.newsletter-form__row
.button.button--yellow:hover,

.newsletter-section
.newsletter-form
.newsletter-form__row
.button.button-yellow:hover {

  background:
    #F3C817 !important;

  border-color:
    #F3C817 !important;

  color:
    #071E55 !important;

  box-shadow:
    0 8px 20px
    rgba(7,30,85,.14) !important;

  transform:
    translateY(-1px) !important;
}


/* =========================================================
   FOOTER — COLUMNAS
   ========================================================= */

.site-footer .footer-grid {

  grid-template-columns:
    1.3fr 1fr 1fr 1fr !important;

  column-gap:
    2.25rem !important;

  row-gap:
    2.25rem !important;

  align-items:
    start !important;
}


/* =========================================================
   MENÚS DEL FOOTER
   Eliminar espacios heredados de Mentor
   ========================================================= */

.site-footer
.footer-grid
> div:not(.footer-brand) {

  display:
    grid !important;

  align-content:
    start !important;

  gap:
    .65rem !important;

  margin:
    0 !important;

  padding:
    0 !important;
}


/* TÍTULOS */

.site-footer
.footer-grid
> div:not(.footer-brand)
> h3 {

  margin:
    0 0 .5rem !important;

  padding:
    0 !important;

  min-height:
    0 !important;

  color:
    #FFFFFF !important;

  font-size:
    .8rem !important;

  font-weight:
    700 !important;

  line-height:
    1.15 !important;
}


/* LINKS DIRECTOS */

.site-footer
.footer-grid
> div:not(.footer-brand)
> a {

  display:
    block !important;

  margin:
    0 !important;

  padding:
    0 !important;

  min-height:
    0 !important;

  height:
    auto !important;

  color:
    #B3C3E1 !important;

  font-size:
    .8rem !important;

  font-weight:
    400 !important;

  line-height:
    1.2 !important;

  background:
    transparent !important;

  border:
    0 !important;

  box-shadow:
    none !important;

  transform:
    none !important;
}


/* CONTACTO — líneas dobles */

.site-footer
.footer-contact-link__line {

  display:
    block !important;

  margin:
    0 !important;

  padding:
    0 !important;

  line-height:
    1.3 !important;
}


/* =========================================================
   HOVER LINKS DEL FOOTER
   SOLO CAMBIA EL TEXTO
   ========================================================= */

.site-footer
.footer-grid
> div:not(.footer-brand)
> a:hover {

  color:
    #FFD21F !important;

  background:
    transparent !important;

  border:
    0 !important;

  box-shadow:
    none !important;

  transform:
    none !important;
}


/* =========================================================
   REDES SOCIALES
   Hover más limpio:
   NO llenar toda la caja de amarillo.
   ========================================================= */

.site-footer .social-link:hover {

  color:
    #FFD21F !important;

  border-color:
    #FFD21F !important;

  background:
    rgba(255,210,31,.06) !important;

  transform:
    translateY(-2px) !important;

  box-shadow:
    none !important;
}


.site-footer .social-link:hover svg {

  color:
    #FFD21F !important;

  stroke:
    currentColor !important;
}


/* =========================================================
   PRESENCIA
   ========================================================= */

.site-footer
.footer-presence-label {

  margin:
    .45rem 0 0 !important;

  padding:
    0 !important;

  color:
    #FFFFFF !important;

  line-height:
    1.15 !important;
}


.site-footer
.footer-presence-countries {

  margin:
    0 !important;

  padding:
    0 !important;

  line-height:
    1.4 !important;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 719px) {

  .site-footer .footer-grid {

    grid-template-columns:
      1fr !important;

    gap:
      2rem !important;
  }


  .site-footer
  .footer-grid
  > div:not(.footer-brand) {

    gap:
      .6rem !important;
  }


  .newsletter-section
  .newsletter-form
  .newsletter-form__row
  button[type="submit"] {

    width:
      100% !important;
  }

}


/* ===== EFLY FOOTER PRECISION FIX END ===== */



/* ===== FOOTER HOVER ACADEMY EXACT START ===== */


/* =========================================================
   REDES — ESTADO NORMAL
   ========================================================= */

.site-footer .social-link {

  color:
    #D2DEF6 !important;

  border:
    1px solid
    rgba(255,255,255,.18) !important;

  background:
    rgba(255,255,255,.05) !important;

  box-shadow:
    none !important;

  transform:
    none !important;
}


/*
  IMPORTANTE:
  restaurar currentColor correctamente.
*/

.site-footer .social-link svg {

  color:
    currentColor !important;

  transition:
    color 180ms ease !important;
}


/* SVG basados en fill */

.site-footer .social-link svg path {

  fill:
    currentColor;
}


/*
  Instagram y otros SVG que usan stroke
*/

.site-footer .social-link svg rect,
.site-footer .social-link svg circle,
.site-footer .social-link svg line,
.site-footer .social-link svg polyline {

  stroke:
    currentColor;
}


/* =========================================================
   HOVER EXACTO COMO ACADEMY
   ========================================================= */

.site-footer .social-link:hover {

  color:
    #071E55 !important;

  border-color:
    #FFD21F !important;

  background:
    #FFD21F !important;

  transform:
    translateY(-2px) !important;

  box-shadow:
    none !important;
}


/*
  ESTE ERA EL ERROR:
  Mentor estaba poniendo el SVG amarillo sobre fondo amarillo.
  Ahora queda azul profundo.
*/

.site-footer .social-link:hover svg {

  color:
    #071E55 !important;
}


.site-footer .social-link:hover svg path {

  fill:
    currentColor !important;
}


.site-footer .social-link:hover svg rect,
.site-footer .social-link:hover svg circle,
.site-footer .social-link:hover svg line,
.site-footer .social-link:hover svg polyline {

  stroke:
    currentColor !important;
}


/* =========================================================
   FOOTER — REDUCIR ESPACIO DESPUÉS DE VOLVER ARRIBA
   ========================================================= */

/*
  Academy tiene padding inferior amplio por su composición.
  En Mentor está generando un bloque vacío demasiado grande.
*/

.site-footer,
.site-footer.academy-footer-clone {

  padding-top:
    64px !important;

  padding-bottom:
    26px !important;
}


/* =========================================================
   LEGAL
   ========================================================= */

.site-footer .footer-bottom {

  margin-bottom:
    0 !important;
}


/* =========================================================
   VOLVER ARRIBA
   ========================================================= */

.site-footer .back-to-top-wrap {

  margin:
    0 !important;

  padding:
    0 !important;

  min-height:
    0 !important;

  display:
    flex !important;

  justify-content:
    center !important;

  align-items:
    center !important;
}


.site-footer .back-to-top {

  margin:
    1.35rem auto 0 !important;

  padding-bottom:
    0 !important;
}


/* Evitar cualquier margen heredado después */

.site-footer .back-to-top-wrap:last-child {

  margin-bottom:
    0 !important;

  padding-bottom:
    0 !important;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 719px) {

  .site-footer,
  .site-footer.academy-footer-clone {

    padding-top:
      52px !important;

    padding-bottom:
      22px !important;
  }


  .site-footer .back-to-top {

    margin-top:
      1.1rem !important;
  }

}


/* ===== FOOTER HOVER ACADEMY EXACT END ===== */


/* =========================================================
   FOOTER — LOGO BLANCO MAS GRANDE
   ========================================================= */

.site-footer .footer-brand img,
.site-footer .footer-logo img,
.site-footer .footer__brand img,
footer .footer-brand img,
footer .footer-logo img,
footer .footer__brand img {
  width: 118px !important;
  max-width: 118px !important;
  height: auto !important;
  display: block !important;
}

.site-footer .footer-brand,
.site-footer .footer-logo,
.site-footer .footer__brand,
footer .footer-brand,
footer .footer-logo,
footer .footer__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
}

@media (max-width: 768px) {
  .site-footer .footer-brand img,
  .site-footer .footer-logo img,
  .site-footer .footer__brand img,
  footer .footer-brand img,
  footer .footer-logo img,
  footer .footer__brand img {
    width: 104px !important;
    max-width: 104px !important;
  }
}

/* =========================================================
   FIN FOOTER — LOGO BLANCO MAS GRANDE
   ========================================================= */



/* ===== EFLY VISUAL SYSTEM V2 START ===== */


/* =========================================================
   TOKENS ÚNICOS E-FLY
   ========================================================= */

:root {

  --efly-blue:
    #123C8C;

  --efly-deep:
    #071E55;

  --efly-yellow:
    #FFD21F;

  --efly-white:
    #FFFFFF;

  --efly-gray:
    #4B5563;

  --efly-soft:
    #F5F8FC;

  --efly-soft-blue:
    #EDF4FF;

  --efly-border:
    #DCE5F2;

  --efly-container:
    1180px;

  --efly-radius:
    20px;

  --efly-radius-large:
    30px;

  --efly-shadow:
    0 22px 60px
    rgba(7,30,85,.09);

}


/* =========================================================
   BASE
   ========================================================= */

html {

  scroll-behavior:
    smooth !important;

  scroll-padding-top:
    90px !important;
}


body {

  color:
    var(--efly-deep) !important;

  font-family:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif !important;

  -webkit-font-smoothing:
    antialiased;

  text-rendering:
    optimizeLegibility;
}


section {

  scroll-margin-top:
    90px;
}


/* =========================================================
   MISMO EJE HORIZONTAL EN TODA LA WEB
   ========================================================= */

.shell,
.container {

  width:
    min(
      calc(100% - 2rem),
      var(--efly-container)
    ) !important;

  max-width:
    var(--efly-container) !important;

  margin-left:
    auto !important;

  margin-right:
    auto !important;
}


/* =========================================================
   TIPOGRAFÍA E-FLY ACADEMY
   ========================================================= */

.section-intro h2,
.feature-copy h2,
.diagnostic-cta-copy h2,
.school-contact-copy h2,
.academy-section h2,
.faq-section h2 {

  font-weight:
    500 !important;

  line-height:
    1.06 !important;

  letter-spacing:
    -.04em !important;
}


.section-intro h2 {

  font-size:
    clamp(
      2.2rem,
      4.8vw,
      3.65rem
    ) !important;
}


.section-intro p,
.feature-copy > p,
.school-contact-copy p {

  line-height:
    1.65 !important;
}


.eyebrow {

  font-size:
    .72rem !important;

  font-weight:
    800 !important;

  letter-spacing:
    .15em !important;

  line-height:
    1.2 !important;
}


/* HERO */

.hero h1 {

  font-weight:
    600 !important;

  line-height:
    1 !important;

  letter-spacing:
    -.05em !important;
}


/* TARJETAS */

.audience-card h3,
.app-part h3,
.price-card h3,
.bento-card h3,
.school-offer h3 {

  font-weight:
    700 !important;

  letter-spacing:
    -.025em !important;
}


/* =========================================================
   RITMO VERTICAL — TODAS LAS SECCIONES
   ========================================================= */

.audience-section,
.how-section,
.app-parts-section,
.pricing-section,
.feature-section,
.academy-section,
.diagnostic-cta-section,
.school-program-section,
.school-contact-section,
.faq-section {

  padding-top:
    clamp(72px, 8vw, 104px) !important;

  padding-bottom:
    clamp(72px, 8vw, 104px) !important;
}


/* =========================================================
   RITMO DE COLORES COMO E-FLY ACADEMY
   ========================================================= */

.audience-section {

  background:
    #FFFFFF !important;
}


.how-section {

  background:
    #F5F8FC !important;
}


.app-parts-section {

  background:
    #FFFFFF !important;
}


.pricing-section {

  background:
    #FFFFFF !important;
}


.school-program-section {

  background:
    #F5F8FC !important;
}


.school-contact-section {

  background:
    #FFFFFF !important;
}


.faq-section {

  background:
    #F5F8FC !important;
}


/* =========================================================
   CARDS — MISMO LENGUAJE
   ========================================================= */

.audience-card,
.app-part,
.step,
.price-card,
.bento-card,
.school-offer,
.faq-grid details,
.school-form,
.diagnostic-score-card {

  border-radius:
    var(--efly-radius) !important;

  transition:
    transform 220ms ease,
    box-shadow 220ms ease,
    border-color 220ms ease,
    background-color 220ms ease,
    color 220ms ease !important;
}


/* CARDS CLARAS */

.audience-card,
.app-part,
.step,
.price-card,
.school-offer:not(.school-offer-dark),
.faq-grid details,
.school-form {

  border-color:
    var(--efly-border) !important;
}


/* HOVER GENERAL ELEGANTE */

@media (hover:hover) and (pointer:fine) {

  .audience-card:hover,
  .step:hover,
  .price-card:hover,
  .school-offer:not(.school-offer-dark):hover,
  .faq-grid details:hover {

    border-color:
      rgba(18,60,140,.30) !important;

    box-shadow:
      0 20px 45px
      rgba(7,30,85,.11) !important;

    transform:
      translateY(-5px) !important;
  }

}


/* =========================================================
   APP PARTS
   MANTENER EL HOVER AMARILLO QUE YA DEFINIMOS
   ========================================================= */

@media (hover:hover) and (pointer:fine) {

  .app-part:hover {

    background:
      #FFD21F !important;

    border-color:
      #FFD21F !important;

    color:
      #071E55 !important;

    transform:
      translateY(-7px) !important;

    box-shadow:
      0 20px 42px
      rgba(7,30,85,.16) !important;
  }


  .app-part:hover h3,
  .app-part:hover .app-part-kicker,
  .app-part:hover .text-link {

    color:
      #071E55 !important;
  }

}


/* =========================================================
   BOTONES — UNA SOLA FAMILIA E-FLY
   ========================================================= */

.button,
button.button {

  min-height:
    48px;

  border-radius:
    10px !important;

  font-weight:
    750 !important;

  transition:
    background 180ms ease,
    color 180ms ease,
    border-color 180ms ease,
    transform 180ms ease,
    box-shadow 180ms ease !important;
}


.button:not(.button-outline)
:not(.button-yellow)
:not(.button--yellow)
:not(.pilot-club-button) {

  border-color:
    #123C8C;
}


/* BOTONES AZULES */

.button-blue {

  background:
    #123C8C !important;

  color:
    #FFFFFF !important;
}


@media (hover:hover) and (pointer:fine) {

  .button-blue:hover {

    background:
      #FFD21F !important;

    border-color:
      #FFD21F !important;

    color:
      #071E55 !important;

    transform:
      translateY(-2px) !important;
  }

}


/* =========================================================
   NEWSLETTER
   ========================================================= */

.newsletter-section {

  background:
    radial-gradient(
      circle at 8% 10%,
      rgba(255,210,31,.18),
      transparent 28%
    ),
    linear-gradient(
      135deg,
      #071E55,
      #123C8C
    ) !important;
}


.newsletter-card__copy .eyebrow {

  color:
    #FFD21F !important;
}


.newsletter-card__copy h2 {

  font-weight:
    500 !important;

  letter-spacing:
    -.045em !important;
}


/* FORZAR CTA AMARILLO */

.newsletter-section
.newsletter-form
.newsletter-form__row
button[type="submit"] {

  background:
    #FFD21F !important;

  border-color:
    #FFD21F !important;

  color:
    #071E55 !important;
}


.newsletter-section
.newsletter-form
.newsletter-form__row
button[type="submit"]:hover {

  background:
    #F2C817 !important;

  border-color:
    #F2C817 !important;

  color:
    #071E55 !important;

  transform:
    translateY(-1px) !important;
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer,
.site-footer.academy-footer-clone {

  background:
    #071E55 !important;

  padding-bottom:
    26px !important;
}


/* LOGO BLANCO MÁS GRANDE */

.site-footer .footer-logo,
.site-footer .footer-brand > img {

  display:
    block !important;

  width:
    150px !important;

  max-width:
    150px !important;

  height:
    auto !important;

  object-fit:
    contain !important;

  object-position:
    left center !important;

  margin:
    0 !important;
}


/* MENÚS FOOTER */

.site-footer
.footer-grid
> div:not(.footer-brand) {

  gap:
    .65rem !important;
}


.site-footer
.footer-grid
> div:not(.footer-brand)
> a {

  margin:
    0 !important;

  padding:
    0 !important;

  min-height:
    0 !important;

  line-height:
    1.25 !important;
}


/* REDES — EXACTAMENTE MISMA LÓGICA DE ACADEMY */

.site-footer .social-link {

  color:
    #D2DEF6 !important;

  background:
    rgba(255,255,255,.05) !important;

  border-color:
    rgba(255,255,255,.18) !important;
}


.site-footer .social-link svg {

  color:
    currentColor !important;
}


@media (hover:hover) and (pointer:fine) {

  .site-footer .social-link:hover {

    background:
      #FFD21F !important;

    border-color:
      #FFD21F !important;

    color:
      #071E55 !important;

    transform:
      translateY(-2px) !important;
  }


  .site-footer
  .social-link:hover svg {

    color:
      #071E55 !important;
  }

}


/* =========================================================
   HEADER — MICROAJUSTES
   ========================================================= */

.site-header {

  border-bottom:
    1px solid
    rgba(7,30,85,.08) !important;

  box-shadow:
    none !important;
}


.nav-shell {

  min-height:
    68px !important;
}


.desktop-nav {

  align-items:
    center !important;
}


.desktop-nav a {

  font-size:
    .8rem !important;

  font-weight:
    650 !important;

  line-height:
    1 !important;
}


/* =========================================================
   SCROLL REVEAL V2
   DESACTIVAMOS VISUALMENTE EL SISTEMA ANTIGUO
   PARA EVITAR DOBLE ANIMACIÓN
   ========================================================= */

html.reveal-enabled [data-reveal] {

  opacity:
    1 !important;

  transform:
    none !important;

  transition:
    none !important;
}


/* =========================================================
   NUEVA ANIMACIÓN GLOBAL
   ========================================================= */

html.efly-motion-on
[data-efly-reveal] {

  opacity:
    0;

  transform:
    translate3d(
      0,
      42px,
      0
    );

  transition:
    opacity
    820ms
    cubic-bezier(.16,1,.3,1),

    transform
    820ms
    cubic-bezier(.16,1,.3,1);

  transition-delay:
    var(
      --efly-delay,
      0ms
    );

  will-change:
    opacity,
    transform;
}


/* IZQUIERDA */

html.efly-motion-on
[data-efly-reveal="left"] {

  transform:
    translate3d(
      -52px,
      18px,
      0
    );
}


/* DERECHA */

html.efly-motion-on
[data-efly-reveal="right"] {

  transform:
    translate3d(
      52px,
      18px,
      0
    );
}


/* ZOOM */

html.efly-motion-on
[data-efly-reveal="zoom"] {

  transform:
    translate3d(
      0,
      28px,
      0
    )
    scale(.94);
}


/* CARD */

html.efly-motion-on
[data-efly-reveal="card"] {

  transform:
    translate3d(
      0,
      36px,
      0
    )
    scale(.975);
}


/* ESTADO FINAL */

html.efly-motion-on
[data-efly-reveal].efly-in {

  opacity:
    1;

  transform:
    translate3d(0,0,0)
    scale(1);
}


/* =========================================================
   PILOT CLUB — ANIMACIONES
   ========================================================= */

html.efly-motion-on
.pilot-club-card__icon[data-efly-reveal] {

  transition-duration:
    900ms;
}


/* =========================================================
   IA — ANIMACIONES
   ========================================================= */

html.efly-motion-on
.ai-conversation-card__widget[data-efly-reveal] {

  transition-duration:
    1000ms;
}


/* =========================================================
   NEWSLETTER
   ========================================================= */

html.efly-motion-on
.newsletter-form[data-efly-reveal] {

  transition-duration:
    900ms;
}


/* =========================================================
   FOOTER
   ========================================================= */

html.efly-motion-on
.footer-grid
[data-efly-reveal] {

  transition-duration:
    700ms;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 720px) {

  .shell,
  .container {

    width:
      calc(100% - 1.5rem) !important;
  }


  .audience-section,
  .how-section,
  .app-parts-section,
  .pricing-section,
  .feature-section,
  .academy-section,
  .diagnostic-cta-section,
  .school-program-section,
  .school-contact-section,
  .faq-section {

    padding-top:
      58px !important;

    padding-bottom:
      58px !important;
  }


  .site-footer .footer-logo,
  .site-footer .footer-brand > img {

    width:
      132px !important;

    max-width:
      132px !important;
  }


  html.efly-motion-on
  [data-efly-reveal="left"],

  html.efly-motion-on
  [data-efly-reveal="right"] {

    transform:
      translate3d(
        0,
        30px,
        0
      );
  }

}


/* =========================================================
   ACCESIBILIDAD
   ========================================================= */

@media (
  prefers-reduced-motion:
  reduce
) {

  html.efly-motion-on
  [data-efly-reveal] {

    opacity:
      1 !important;

    transform:
      none !important;

    transition:
      none !important;
  }

}


/* ===== EFLY VISUAL SYSTEM V2 END ===== */



/* ===== EFLY ACADEMY TYPOGRAPHY GLOBAL START ===== */


/* =========================================================
   SISTEMA TIPOGRÁFICO E-FLY

   BODY ............... 400
   TEXTOS DESTACADOS .. 500
   MENÚ ................600
   H1 / H2 GRANDES .....500
   H3 / CARDS ..........700
   BOTONES .............700
   EYEBROWS ............800
   ========================================================= */


:root {

  --efly-font:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Helvetica,
    Arial,
    sans-serif;

}


/* =========================================================
   ABSOLUTAMENTE TODA LA WEB
   ========================================================= */

html,
body,
button,
input,
textarea,
select {

  font-family:
    var(--efly-font) !important;

}


body {

  font-weight:
    400 !important;

  font-synthesis:
    none;

  -webkit-font-smoothing:
    antialiased;

  -moz-osx-font-smoothing:
    grayscale;

  text-rendering:
    optimizeLegibility;

}


/* =========================================================
   BODY TEXT
   ========================================================= */

p,
li,
dd,
dt,
span {

  font-family:
    var(--efly-font);

}


p {

  font-weight:
    400;

}


/* =========================================================
   H1 — GRANDES TITULARES
   ========================================================= */

h1,
.hero h1 {

  font-family:
    var(--efly-font) !important;

  font-weight:
    500 !important;

  letter-spacing:
    -.05em !important;

}


/* HERO PRINCIPAL */

.hero h1 {

  line-height:
    .99 !important;

}


/* =========================================================
   H2 — SISTEMA ACADEMY
   ========================================================= */

h2,
.section-intro h2,
.feature-copy h2,
.academy-section h2,
.diagnostic-cta-copy h2,
.school-contact-copy h2,
.faq-section h2 {

  font-family:
    var(--efly-font) !important;

  font-weight:
    500 !important;

  line-height:
    1.05 !important;

  letter-spacing:
    -.045em !important;

}


/* =========================================================
   PILOT CLUB
   ========================================================= */

.pilot-club-card__copy h2 {

  font-family:
    var(--efly-font) !important;

  font-weight:
    500 !important;

  line-height:
    .98 !important;

  letter-spacing:
    -.045em !important;

}


/* =========================================================
   ASISTENTE IA
   ========================================================= */

.ai-conversation-card__copy h2 {

  font-family:
    var(--efly-font) !important;

  font-weight:
    500 !important;

  line-height:
    1.04 !important;

  letter-spacing:
    -.045em !important;

}


/* =========================================================
   NEWSLETTER
   ========================================================= */

.newsletter-card__copy h2 {

  font-family:
    var(--efly-font) !important;

  font-weight:
    500 !important;

  line-height:
    1.05 !important;

  letter-spacing:
    -.045em !important;

}


/* =========================================================
   H3
   TARJETAS / BLOQUES
   ========================================================= */

h3,
.audience-card h3,
.app-part h3,
.step h3,
.price-card h3,
.bento-card h3,
.school-offer h3,
.faq-grid summary {

  font-family:
    var(--efly-font) !important;

  font-weight:
    700 !important;

  line-height:
    1.2 !important;

  letter-spacing:
    -.025em !important;

}


/* =========================================================
   PÁRRAFOS PRINCIPALES
   ========================================================= */

.hero-lead,
.section-intro > p:not(.eyebrow),
.feature-copy > p:not(.eyebrow),
.school-contact-copy > p:not(.eyebrow),
.academy-section p:not(.eyebrow),
.ai-conversation-card__copy > p:not(.eyebrow),
.newsletter-card__copy > p:not(.eyebrow),
.pilot-club-card__copy > p:not(.eyebrow) {

  font-family:
    var(--efly-font) !important;

  font-weight:
    400 !important;

  line-height:
    1.58 !important;

}


/* =========================================================
   TEXTOS DE CARDS
   ========================================================= */

.audience-card p,
.app-part p,
.step p,
.price-card p,
.bento-card p,
.school-offer p,
.school-offer li,
.faq-grid p {

  font-family:
    var(--efly-font) !important;

  font-weight:
    400 !important;

  line-height:
    1.55 !important;

}


/* =========================================================
   EYEBROWS
   "COMUNIDAD GRATUITA", ETC.
   ========================================================= */

.eyebrow,
.card-kicker,
.app-part-kicker,
.price-route,
.offer-number,
.tiny-label {

  font-family:
    var(--efly-font) !important;

  font-weight:
    800 !important;

  line-height:
    1.15 !important;

  letter-spacing:
    .15em !important;

  text-transform:
    uppercase !important;

}


/* =========================================================
   HEADER
   ========================================================= */

.desktop-nav,
.desktop-nav a,
.nav-login,
.nav-actions a {

  font-family:
    var(--efly-font) !important;

  font-size:
    .80rem !important;

  font-weight:
    600 !important;

  line-height:
    1 !important;

  letter-spacing:
    -.01em !important;

}


/* CTA HEADER */

.nav-actions .button,
.site-header .button {

  font-family:
    var(--efly-font) !important;

  font-size:
    .80rem !important;

  font-weight:
    700 !important;

  letter-spacing:
    -.01em !important;

}


/* =========================================================
   MENÚ MÓVIL
   ========================================================= */

.mobile-menu,
.mobile-menu a,
.mobile-menu nav a {

  font-family:
    var(--efly-font) !important;

  font-weight:
    600 !important;

  letter-spacing:
    -.01em !important;

}


/* =========================================================
   TODOS LOS BOTONES
   ========================================================= */

.button,
button,
.button-blue,
.button-yellow,
.button--yellow,
.button-outline,
.pilot-club-button {

  font-family:
    var(--efly-font) !important;

  font-weight:
    700 !important;

  letter-spacing:
    -.012em !important;

}


/* =========================================================
   LINKS DE TEXTO
   ========================================================= */

.text-link {

  font-family:
    var(--efly-font) !important;

  font-weight:
    700 !important;

  letter-spacing:
    -.01em !important;

}


/* =========================================================
   PILOT CLUB
   ========================================================= */

.pilot-club-card__copy .eyebrow {

  font-size:
    .72rem !important;

  font-weight:
    800 !important;

}


.pilot-club-card__action li {

  font-family:
    var(--efly-font) !important;

  font-weight:
    400 !important;

}


.pilot-club-button {

  font-weight:
    700 !important;

}


.pilot-club-card__action small {

  font-family:
    var(--efly-font) !important;

  font-weight:
    400 !important;

}


/* =========================================================
   IA
   ========================================================= */

.ai-conversation-card__copy .eyebrow {

  font-weight:
    800 !important;

}


.ai-conversation-card__copy li {

  font-family:
    var(--efly-font) !important;

  font-weight:
    400 !important;

}


/* =========================================================
   NEWSLETTER
   ========================================================= */

.newsletter-card__copy .eyebrow {

  font-family:
    var(--efly-font) !important;

  font-weight:
    800 !important;

}


.newsletter-form label {

  font-family:
    var(--efly-font) !important;

  font-weight:
    700 !important;

}


.newsletter-form input {

  font-family:
    var(--efly-font) !important;

  font-weight:
    400 !important;

}


.newsletter-form button {

  font-family:
    var(--efly-font) !important;

  font-weight:
    700 !important;

}


.newsletter-consent,
.newsletter-consent span {

  font-family:
    var(--efly-font) !important;

  font-weight:
    400 !important;

}


.newsletter-consent a {

  font-weight:
    700 !important;

}


/* =========================================================
   PRECIOS
   ========================================================= */

.price-card .price,
.price-card .price strong {

  font-family:
    var(--efly-font) !important;

  font-weight:
    700 !important;

  letter-spacing:
    -.04em !important;

}


.price-card li {

  font-weight:
    400 !important;

}


/* =========================================================
   FORMULARIOS
   ========================================================= */

.school-form label,
.field,
form label {

  font-family:
    var(--efly-font) !important;

  font-weight:
    600 !important;

}


.school-form input,
.school-form textarea,
.school-form select,
.field input,
.field textarea,
.field select {

  font-family:
    var(--efly-font) !important;

  font-weight:
    400 !important;

  letter-spacing:
    0 !important;

}


/* =========================================================
   FAQ
   ========================================================= */

.faq-grid summary {

  font-weight:
    700 !important;

}


.faq-grid details p {

  font-weight:
    400 !important;

}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {

  font-family:
    var(--efly-font) !important;

}


/* TAGLINE */

.site-footer .footer-brand p,
.site-footer .footer-tagline {

  font-family:
    var(--efly-font) !important;

  font-weight:
    400 !important;

  line-height:
    1.5 !important;

}


/* COLUMNAS */

.site-footer .footer-grid h3 {

  font-family:
    var(--efly-font) !important;

  font-size:
    .80rem !important;

  font-weight:
    700 !important;

  line-height:
    1.2 !important;

  letter-spacing:
    0 !important;

}


/* LINKS */

.site-footer .footer-grid a,
.site-footer .footer-grid > div > span {

  font-family:
    var(--efly-font) !important;

  font-size:
    .80rem !important;

  font-weight:
    400 !important;

  line-height:
    1.30 !important;

  letter-spacing:
    0 !important;

}


/* PRESENCIA */

.site-footer .footer-presence-label {

  font-weight:
    700 !important;

}


/* LEGAL */

.site-footer .footer-bottom,
.site-footer .footer-bottom span,
.site-footer .footer-bottom a {

  font-family:
    var(--efly-font) !important;

  font-size:
    .70rem !important;

  font-weight:
    400 !important;

  line-height:
    1.4 !important;

}


/* VOLVER ARRIBA */

.site-footer .back-to-top {

  font-family:
    var(--efly-font) !important;

  font-size:
    .72rem !important;

  font-weight:
    700 !important;

}


/* =========================================================
   STRONG / BOLD
   ========================================================= */

strong,
b {

  font-family:
    var(--efly-font);

  font-weight:
    700;

}


/* =========================================================
   MICROTEXTOS
   ========================================================= */

small {

  font-family:
    var(--efly-font);

  font-weight:
    400;

}


/* =========================================================
   EVITAR BOLD EXCESIVO HEREDADO
   ========================================================= */

.section-intro h2 strong,
.hero h1 strong,
.pilot-club-card__copy h2 strong,
.ai-conversation-card__copy h2 strong,
.newsletter-card__copy h2 strong {

  font-weight:
    inherit !important;

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 720px) {

  .desktop-nav,
  .desktop-nav a,
  .nav-login {

    font-size:
      .78rem !important;
  }


  .mobile-menu nav a {

    font-size:
      .95rem !important;

    font-weight:
      600 !important;
  }


  .pilot-club-card__copy h2 {

    font-weight:
      500 !important;
  }


  .ai-conversation-card__copy h2 {

    font-weight:
      500 !important;
  }


  .newsletter-card__copy h2 {

    font-weight:
      500 !important;
  }

}


/* ===== EFLY ACADEMY TYPOGRAPHY GLOBAL END ===== */







/* =========================================================
   E-FLY ACADEMY MOTION
   ========================================================= */


/*
  Neutralizar sistemas anteriores que pudieran haber
  dejado atributos en elementos.
*/

html [data-motion-v3],
html [data-efly-reveal] {
  opacity: 1 !important;
  transform: none !important;
}


/* =========================================================
   REVEAL PRINCIPAL

   ACADEMY REAL:
   - translateY 24px
   - 680ms
   - cubic-bezier(.22,1,.36,1)
   ========================================================= */

html.academy-motion-ready .academy-reveal {

  opacity:
    0;

  transform:
    translate3d(0, 24px, 0);

  transition:
    opacity 680ms
      cubic-bezier(.22, 1, .36, 1),

    transform 680ms
      cubic-bezier(.22, 1, .36, 1);

  transition-delay:
    var(--academy-delay, 0ms);

  will-change:
    opacity,
    transform;
}


/* =========================================================
   CARDS

   Igual que reveal--scale de Academy:
   18px + escala 0.975
   ========================================================= */

html.academy-motion-ready
.academy-reveal--card {

  transform:
    translate3d(0, 18px, 0)
    scale(.975);
}


/* =========================================================
   VISUALES / MOCKUPS
   ========================================================= */

html.academy-motion-ready
.academy-reveal--visual {

  transform:
    translate3d(0, 18px, 0)
    scale(.985);
}


/* =========================================================
   ESTADO VISIBLE
   ========================================================= */

html.academy-motion-ready
.academy-reveal.academy-visible {

  opacity:
    1;

  transform:
    none;
}


/* =========================================================
   HERO — MISMO LENGUAJE DE ACADEMY
   ========================================================= */

@keyframes mentor-academy-hero-copy {

  from {
    opacity: 0;
    transform:
      translate3d(0, 18px, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }

}


@keyframes mentor-academy-hero-visual {

  from {
    opacity: 0;

    transform:
      translate3d(18px, 0, 0)
      scale(.985);
  }

  to {
    opacity: 1;
    transform: none;
  }

}


@media (prefers-reduced-motion:no-preference) {

  .hero-copy {

    animation:
      mentor-academy-hero-copy
      720ms
      cubic-bezier(.22,1,.36,1)
      both !important;

  }


  .hero-product {

    animation:
      mentor-academy-hero-visual
      720ms
      cubic-bezier(.22,1,.36,1)
      100ms
      both !important;

  }

}


/* =========================================================
   HOVER DE CARDS — TESTIMONIOS DE E-FLY ACADEMY

   EXACTA FILOSOFÍA:
   translateY(-6px)
   260ms
   borde amarillo
   sombra sutil
   ========================================================= */

.audience-card,
.app-part,
.step,
.price-card,
.bento-card,
.school-offer,
.diagnostic-score-card,
.feature-card,
.faq-grid details,
[class*="tool-card"],
[class*="route-card"] {

  transition:
    transform 260ms ease,
    border-color 260ms ease,
    box-shadow 260ms ease !important;
}


@media (hover:hover) and (pointer:fine) {

  .audience-card:hover,
  .app-part:hover,
  .step:hover,
  .price-card:hover,
  .bento-card:hover,
  .school-offer:hover,
  .diagnostic-score-card:hover,
  .feature-card:hover,
  .faq-grid details:hover,
  [class*="tool-card"]:hover,
  [class*="route-card"]:hover {

    transform:
      translateY(-6px) !important;

    border-color:
      color-mix(
        in srgb,
        #FFD21F 72%,
        #DCE5F2
      ) !important;

    box-shadow:
      0 18px 42px
      rgba(7,30,85,.13) !important;

  }

}


/* =========================================================
   ICONOS INTERNOS

   Academy escala el retrato de testimonios a 1.08.
   Aquí hacemos lo mismo con iconos, sin rotaciones.
   ========================================================= */

.audience-card svg,
.app-part svg,
.step svg,
.bento-card svg,
.feature-card svg,
[class*="tool-card"] svg,
[class*="route-card"] svg {

  transition:
    transform 260ms ease,
    border-color 260ms ease !important;
}


@media (hover:hover) and (pointer:fine) {

  .audience-card:hover svg,
  .app-part:hover svg,
  .step:hover svg,
  .bento-card:hover svg,
  .feature-card:hover svg,
  [class*="tool-card"]:hover svg,
  [class*="route-card"]:hover svg {

    transform:
      scale(1.08) !important;

  }

}


/* =========================================================
   PILOT CLUB

   SIN subir toda la tarjeta.
   Animamos solamente sus contenidos al entrar.
   ========================================================= */

.pilot-club-card {

  transform:
    none !important;

}


.pilot-club-card:hover {

  transform:
    none !important;

}


/* =========================================================
   IA

   Tampoco hacemos que la tarjeta completa salte.
   ========================================================= */

.ai-conversation-card {

  transform:
    none !important;

}


.ai-conversation-card:hover {

  transform:
    none !important;

}


/* =========================================================
   BOTONES

   Movimiento mínimo.
   ========================================================= */

.button,
button {

  transition:
    transform 200ms ease,
    background-color 200ms ease,
    color 200ms ease,
    border-color 200ms ease,
    box-shadow 200ms ease !important;

}


@media (hover:hover) and (pointer:fine) {

  .button:hover,
  button:hover {

    transform:
      translateY(-2px);

  }

}


/* =========================================================
   FOOTER SOCIAL
   ========================================================= */

.site-footer .social-link {

  transition:
    transform 260ms ease,
    border-color 260ms ease,
    background-color 260ms ease,
    color 260ms ease !important;

}


/* =========================================================
   MÓVIL

   Todavía más discreto.
   ========================================================= */

@media (max-width:720px) {

  html.academy-motion-ready
  .academy-reveal {

    transform:
      translate3d(0, 18px, 0);

    transition-duration:
      620ms;

  }


  html.academy-motion-ready
  .academy-reveal--card {

    transform:
      translate3d(0, 16px, 0)
      scale(.985);

  }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion:reduce) {

  html.academy-motion-ready
  .academy-reveal {

    opacity:
      1 !important;

    transform:
      none !important;

    transition:
      none !important;

  }


  .hero-copy,
  .hero-product {

    animation:
      none !important;

  }

}


/* =========================================================
   FIN E-FLY ACADEMY MOTION
   ========================================================= */



/* ===== EFLY HEADER MENU SIZE START ===== */


/* =========================================================
   HEADER — MISMA PRESENCIA VISUAL QUE E-FLY ACADEMY
   ========================================================= */

.site-header .desktop-nav a,
.site-header nav.desktop-nav a {

  font-size:
    .85rem !important;

  font-weight:
    600 !important;

  line-height:
    1 !important;

  letter-spacing:
    -.012em !important;

}


/* Entrar a la app */

.site-header .nav-login,
.site-header .nav-actions .nav-login {

  font-size:
    .84rem !important;

  font-weight:
    600 !important;

}


/* CTA Diagnóstico gratis */

.site-header .nav-actions .button,
.site-header .button {

  font-size:
    .83rem !important;

  font-weight:
    700 !important;

}


/* Mantener separación limpia */

.site-header .desktop-nav {

  gap:
    2rem !important;

}


/* Tablet: un poco más compacto */

@media (max-width: 1000px) {

  .site-header .desktop-nav a {

    font-size:
      .82rem !important;

  }

  .site-header .desktop-nav {

    gap:
      1.5rem !important;

  }

}


/* ===== EFLY HEADER MENU SIZE END ===== */


/* ===== EFLY FOOTER REPAIR SAFE START ===== */


/* =========================================================
   FOOTER MÁS COMPACTO
   ========================================================= */

.site-footer,
.site-footer.academy-footer-clone {

  min-height:
    0 !important;

  height:
    auto !important;

  padding:
    44px 0 14px !important;

}


/* GRID SUPERIOR */

.site-footer .footer-grid,
.site-footer.academy-footer-clone .footer-grid {

  min-height:
    0 !important;

  height:
    auto !important;

  padding-top:
    0 !important;

  padding-bottom:
    20px !important;

  margin-top:
    0 !important;

  margin-bottom:
    0 !important;

  align-items:
    start !important;

}


/* COLUMNAS */

.site-footer .footer-brand,
.site-footer .footer-column,
.site-footer .footer-contact {

  min-height:
    0 !important;

  height:
    auto !important;

  margin-bottom:
    0 !important;

  padding-bottom:
    0 !important;

}


/* LOGO */

.site-footer .footer-logo {

  margin-bottom:
    8px !important;

}


/* TAGLINE */

.site-footer .footer-tagline {

  margin:
    8px 0 14px !important;

}


/* REDES */

.site-footer .social-links {

  margin-top:
    10px !important;

  margin-bottom:
    0 !important;

}


/* =========================================================
   LEGAL
   ========================================================= */

.site-footer .footer-bottom {

  width:
    min(calc(100% - 2rem), 1180px) !important;

  min-height:
    0 !important;

  margin:
    0 auto !important;

  padding:
    15px 0 0 !important;

  border-top:
    1px solid rgba(255,255,255,.12) !important;

}


/* =========================================================
   OCULTAR RESTOS DE BOTONES VIEJOS
   ========================================================= */

.site-footer .mentor-back-to-top-wrap,
.site-footer .mentor-back-to-top,
.site-footer .back-to-top-wrap,
.site-footer button.back-to-top,
.site-footer button.back-to-top--real {

  display:
    none !important;

}


/* =========================================================
   WRAPPER DEL ÚNICO BOTÓN
   ========================================================= */

.site-footer .efly-footer-top-wrap {

  display:
    flex !important;

  width:
    100% !important;

  min-height:
    0 !important;

  justify-content:
    center !important;

  align-items:
    center !important;

  margin:
    12px auto 0 !important;

  padding:
    0 !important;

}


/* =========================================================
   BOTÓN VOLVER ARRIBA
   ========================================================= */

.site-footer button.footer-back-to-top {

  position:
    relative !important;

  display:
    inline-flex !important;

  width:
    max-content !important;

  min-height:
    40px !important;

  align-items:
    center !important;

  justify-content:
    center !important;

  gap:
    .55rem !important;

  inset:
    auto !important;

  left:
    auto !important;

  right:
    auto !important;

  top:
    auto !important;

  bottom:
    auto !important;

  float:
    none !important;

  margin:
    0 auto !important;

  padding:
    .35rem .42rem .35rem .85rem !important;

  border:
    1px solid rgba(255,255,255,.28) !important;

  border-radius:
    999px !important;

  background:
    rgba(255,255,255,.035) !important;

  color:
    #FFFFFF !important;

  opacity:
    1 !important;

  visibility:
    visible !important;

  pointer-events:
    auto !important;

  transform:
    none !important;

  font-family:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  font-size:
    .72rem !important;

  font-weight:
    700 !important;

  line-height:
    1 !important;

  cursor:
    pointer !important;

  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease
    !important;

}


/* TEXTO */

.site-footer
button.footer-back-to-top
> span {

  display:
    inline-block !important;

  color:
    #FFFFFF !important;

}


/* CÍRCULO AMARILLO */

.site-footer
button.footer-back-to-top
> strong {

  display:
    grid !important;

  width:
    28px !important;

  height:
    28px !important;

  flex:
    0 0 28px !important;

  place-items:
    center !important;

  border-radius:
    999px !important;

  background:
    #FFD21F !important;

  color:
    #071E55 !important;

  font-size:
    1rem !important;

  font-weight:
    900 !important;

  line-height:
    1 !important;

}


/* HOVER */

@media (hover:hover) and (pointer:fine) {

  .site-footer
  button.footer-back-to-top:hover {

    transform:
      translateY(-2px) !important;

    border-color:
      rgba(255,210,31,.75) !important;

    background:
      rgba(255,255,255,.07) !important;

  }

}


/* MÓVIL */

@media (max-width:650px) {

  .site-footer,
  .site-footer.academy-footer-clone {

    padding:
      36px 0 12px !important;

  }


  .site-footer .footer-grid {

    padding-bottom:
      16px !important;

  }


  .site-footer .efly-footer-top-wrap {

    margin-top:
      10px !important;

  }

}


/* ===== EFLY FOOTER REPAIR SAFE END ===== */










/* ===== EFLY FOOTER LOGO POSITION FINAL START ===== */


/* =========================================================
   LOGO — RECUPERAR PRESENCIA VISUAL
   ========================================================= */

.site-footer .footer-brand .footer-logo,
.site-footer.academy-footer-clone .footer-brand .footer-logo {

  display:
    block !important;

  width:
    158px !important;

  max-width:
    158px !important;

  height:
    auto !important;

  margin:
    0 !important;

  padding:
    0 !important;

  object-fit:
    contain !important;

  object-position:
    left center !important;

}


/* =========================================================
   TAGLINE — MÁS CERCA DEL LOGO
   SIN REDUCIR EL LOGO
   ========================================================= */

.site-footer .footer-brand .footer-tagline,
.site-footer.academy-footer-clone .footer-brand .footer-tagline {

  margin:
    4px 0 0 !important;

  padding:
    0 !important;

}


/* =========================================================
   REDES — MÁS CERCA DEL TAGLINE
   NO TOCAMOS TAMAÑO NI HOVER
   ========================================================= */

.site-footer .footer-brand .social-links,
.site-footer.academy-footer-clone .footer-brand .social-links {

  margin-top:
    10px !important;

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width:720px) {

  .site-footer .footer-brand .footer-logo,
  .site-footer.academy-footer-clone .footer-brand .footer-logo {

    width:
      146px !important;

    max-width:
      146px !important;

  }

}


/* ===== EFLY FOOTER LOGO POSITION FINAL END ===== */



/* ===== EFLY SOCIAL EXACT ACADEMY START ===== */


/* =========================================================
   MARCA
   ========================================================= */

.site-footer .footer-brand,
.site-footer.academy-footer-clone .footer-brand {

  display:
    block !important;

  gap:
    0 !important;

  margin:
    0 !important;

  padding:
    0 !important;

}


/* =========================================================
   TAGLINE
   ========================================================= */

.site-footer .footer-brand .footer-tagline {

  margin:
    4px 0 0 !important;

}


/* =========================================================
   GRID SOCIAL
   ACADEMY REAL
   ========================================================= */

.site-footer .social-links {

  display:
    grid !important;

  grid-template-columns:
    repeat(4, minmax(0, 1fr)) !important;

  gap:
    .55rem !important;

  width:
    100% !important;

  max-width:
    260px !important;

  margin:
    12px 0 0 !important;

  padding:
    0 !important;

}


/* =========================================================
   CAJA SOCIAL
   ACADEMY REAL
   ========================================================= */

.site-footer .social-link {

  display:
    flex !important;

  min-width:
    0 !important;

  min-height:
    44px !important;

  justify-content:
    center !important;

  align-items:
    center !important;

  padding:
    .65rem !important;

  border:
    1px solid rgba(255,255,255,.18) !important;

  border-radius:
    10px !important;

  background:
    rgba(255,255,255,.05) !important;

  color:
    #D2DEF6 !important;

  box-shadow:
    none !important;

  transition:
    color 180ms ease,
    border-color 180ms ease,
    background 180ms ease,
    transform 180ms ease
    !important;

}


/* =========================================================
   SVG

   SOLO tamaño.
   MUY IMPORTANTE:
   NO modificamos fill, stroke, path, rect ni circle.
   Usamos exactamente el SVG renderizado por Academy.
   ========================================================= */

.site-footer .social-link svg {

  display:
    block !important;

  width:
    17px !important;

  height:
    17px !important;

  flex:
    0 0 17px !important;

}


/* =========================================================
   HOVER REAL ACADEMY
   ========================================================= */

@media (hover:hover) and (pointer:fine) {

  .site-footer .social-link:hover {

    color:
      #071E55 !important;

    border-color:
      #FFD21F !important;

    background:
      #FFD21F !important;

    transform:
      translateY(-2px) !important;

  }

}


/* ===== EFLY SOCIAL EXACT ACADEMY END ===== */

/* ===== EFLY FOOTER LOGO TAGLINE TIGHT START ===== */

/* Acercar logo al tagline SIN cambiar tamaño del logo */
.site-footer .footer-brand {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
}

.site-footer .footer-brand .footer-logo,
.site-footer .footer-brand .footer-logo-link,
.site-footer .footer-brand .brand-logo {
  margin-bottom: 6px !important;
}

.site-footer .footer-brand .footer-tagline,
.site-footer .footer-brand p,
.site-footer .footer-brand .tagline {
  margin-top: 0 !important;
  padding-top: 0 !important;
  line-height: 1.35 !important;
}

/* por si algún img/svg del logo trae margen heredado */
.site-footer .footer-brand .footer-logo img,
.site-footer .footer-brand .footer-logo svg,
.site-footer .footer-brand .footer-logo-link img,
.site-footer .footer-brand .footer-logo-link svg,
.site-footer .footer-brand .brand-logo img,
.site-footer .footer-brand .brand-logo svg {
  margin-bottom: 0 !important;
  display: block !important;
}

/* ===== EFLY FOOTER LOGO TAGLINE TIGHT END ===== */


/* ===== EFLY FOOTER LOGO GAP FIX START ===== */


/*
   El archivo del logo tiene transparencia inferior.
   NO cambiamos width ni height.
   Simplemente permitimos que el contenido siguiente
   ocupe parte de ese espacio transparente.
*/

.site-footer .footer-brand .footer-logo,
.site-footer.academy-footer-clone .footer-brand .footer-logo {

  margin-bottom:
    -38px !important;

}


/* tagline inmediatamente después */

.site-footer .footer-brand .footer-tagline,
.site-footer.academy-footer-clone .footer-brand .footer-tagline {

  margin-top:
    0 !important;

  margin-bottom:
    0 !important;

}


/* redes cerca del tagline */

.site-footer .footer-brand .social-links,
.site-footer.academy-footer-clone .footer-brand .social-links {

  margin-top:
    10px !important;

}


/* ===== EFLY FOOTER LOGO GAP FIX END ===== */



/* =========================================================
   E-FLY MENTOR — NORMALIZACIÓN DE HOVER
   24/08/2026
   ========================================================= */

/* Transición consistente */
.button,
.button span,
.text-link,
.text-link span,
.site-header a,
.site-footer a,
.academy-footer-link {
  transition:
    background-color .18s ease,
    color .18s ease,
    border-color .18s ease,
    box-shadow .18s ease,
    transform .18s ease,
    opacity .18s ease;
}


/* =========================================================
   BOTONES AZULES
   ========================================================= */

.button-blue {
  background: #123C8C !important;
  color: #FFFFFF !important;
  border-color: #123C8C !important;
}

.button-blue span {
  color: inherit !important;
}

.button-blue:hover,
.button-blue:focus-visible {
  background: #071E55 !important;
  color: #FFFFFF !important;
  border-color: #071E55 !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(7, 30, 85, .22);
}

.button-blue:hover span,
.button-blue:focus-visible span {
  color: #FFFFFF !important;
  transform: translateX(3px);
}


/* =========================================================
   BOTONES AMARILLOS
   ========================================================= */

.button-yellow {
  background: #FFD21F !important;
  color: #071E55 !important;
  border-color: #FFD21F !important;
}

.button-yellow span {
  color: inherit !important;
}

.button-yellow:hover,
.button-yellow:focus-visible {
  background: #FFE15C !important;
  color: #071E55 !important;
  border-color: #FFE15C !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(7, 30, 85, .18);
}

.button-yellow:hover span,
.button-yellow:focus-visible span {
  color: #071E55 !important;
  transform: translateX(3px);
}


/* =========================================================
   BOTONES DE PRECIOS QUE NO SON AMARILLOS
   ========================================================= */

.buy-button:not(.button-yellow) {
  background: #123C8C !important;
  color: #FFFFFF !important;
  border-color: #123C8C !important;
}

.buy-button:not(.button-yellow):hover,
.buy-button:not(.button-yellow):focus-visible {
  background: #071E55 !important;
  color: #FFFFFF !important;
  border-color: #071E55 !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(7, 30, 85, .20);
}

.buy-button:not(.button-yellow):hover span,
.buy-button:not(.button-yellow):focus-visible span {
  color: #FFFFFF !important;
  transform: translateX(3px);
}


/* =========================================================
   LINKS DE TEXTO
   ========================================================= */

.text-link:hover,
.text-link:focus-visible {
  color: #071E55 !important;
}

.text-link:hover span,
.text-link:focus-visible span {
  transform: translateX(3px);
}


/* =========================================================
   ACCESIBILIDAD / TECLADO
   ========================================================= */

.button:focus-visible,
.text-link:focus-visible,
.site-header a:focus-visible,
.site-footer a:focus-visible {
  outline: 3px solid rgba(255, 210, 31, .75);
  outline-offset: 3px;
}


/* =========================================================
   DISPOSITIVOS TÁCTILES
   Evita efectos extraños de hover permanente en móvil
   ========================================================= */

@media (hover: none) {
  .button:hover,
  .text-link:hover {
    transform: none;
    box-shadow: none;
  }
}


/* =========================================================
   E-FLY MENTOR — ICONOS PROFESIONALES DE HERRAMIENTAS
   ========================================================= */

.efly-tool-icon {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: rgba(18, 60, 140, 0.08);
  color: #123C8C;
  margin-bottom: 22px;
  flex: 0 0 auto;
}

.efly-tool-icon svg {
  width: 27px;
  height: 27px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.feature-card:first-child .efly-tool-icon,
.tool-card:first-child .efly-tool-icon,
.capability-card:first-child .efly-tool-icon {
  background: #123C8C;
  color: #FFD21F;
}

@media (max-width: 768px) {
  .efly-tool-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    margin-bottom: 18px;
  }

  .efly-tool-icon svg {
    width: 25px;
    height: 25px;
  }
}



/* =========================================================
   E-FLY MENTOR — APP SHOWCASE
   ========================================================= */

.mentor-showcase {
  padding-top: 90px;
  padding-bottom: 100px;
}

.mentor-showcase-intro {
  max-width: 850px;
  margin: 0 auto 72px;
  text-align: center;
}

.mentor-showcase-intro h2 {
  margin: 12px 0 22px;
  font-size: clamp(42px, 5vw, 66px);
  line-height: 1.04;
  letter-spacing: -0.04em;
}

.mentor-showcase-intro h2 span {
  color: #123C8C;
}

.mentor-showcase-intro > p:last-child {
  max-width: 760px;
  margin: 0 auto;
  font-size: 18px;
  line-height: 1.7;
}


.mentor-showcase-row {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
  gap: 72px;
  align-items: center;
  margin: 0 0 110px;
}

.mentor-showcase-row-reverse .mentor-showcase-visual {
  order: 2;
}

.mentor-showcase-row-reverse .mentor-showcase-copy {
  order: 1;
}


/* =========================================================
   CONTENEDOR DE CAPTURA
   ========================================================= */

.mentor-showcase-visual {
  position: relative;
  min-height: 470px;
  border-radius: 28px;
  overflow: hidden;
  background:
    linear-gradient(
      145deg,
      rgba(18,60,140,0.08),
      rgba(18,60,140,0.02)
    );
  border: 1px solid rgba(18,60,140,0.12);
  box-shadow:
    0 30px 70px rgba(7,30,85,0.12);
}

.mentor-showcase-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
  background: #fff;
}


/* =========================================================
   PLACEHOLDER SI TODAVÍA NO EXISTE LA IMAGEN
   ========================================================= */

.mentor-image-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 12px;
  text-align: center;
  padding: 45px;
  color: #123C8C;
}

.mentor-image-placeholder span {
  display: flex;
  width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  background: #123C8C;
  color: #FFD21F;
  font-weight: 800;
}

.mentor-image-placeholder strong {
  font-size: 23px;
  color: #071E55;
}

.mentor-image-placeholder small {
  max-width: 420px;
  font-size: 14px;
  line-height: 1.6;
  color: #4B5563;
}


/* =========================================================
   COPY
   ========================================================= */

.mentor-showcase-copy {
  max-width: 520px;
}

.mentor-step {
  display: inline-block;
  margin-bottom: 18px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.13em;
  color: #123C8C;
}

.mentor-showcase-copy h3 {
  margin: 0 0 20px;
  font-size: clamp(34px, 3vw, 48px);
  line-height: 1.06;
  letter-spacing: -0.035em;
  color: #071E55;
}

.mentor-showcase-copy > p {
  font-size: 17px;
  line-height: 1.7;
  color: #4B5563;
}

.mentor-showcase-copy ul {
  list-style: none;
  margin: 28px 0;
  padding: 0;
}

.mentor-showcase-copy li {
  position: relative;
  padding: 8px 0 8px 27px;
  line-height: 1.45;
  color: #344054;
}

.mentor-showcase-copy li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 8px;
  color: #123C8C;
  font-weight: 800;
}


/* =========================================================
   CTA FINAL
   ========================================================= */

.mentor-showcase-final {
  max-width: 930px;
  margin: 20px auto 0;
  padding: 58px;
  text-align: center;
  border-radius: 28px;
  background: #071E55;
  color: white;
}

.mentor-showcase-final .eyebrow {
  color: #FFD21F;
}

.mentor-showcase-final h3 {
  max-width: 720px;
  margin: 16px auto 30px;
  font-size: clamp(32px, 4vw, 50px);
  line-height: 1.08;
  letter-spacing: -0.035em;
  color: #fff;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

  .mentor-showcase-row {
    grid-template-columns: 1fr;
    gap: 38px;
    margin-bottom: 80px;
  }

  .mentor-showcase-row-reverse .mentor-showcase-visual,
  .mentor-showcase-row-reverse .mentor-showcase-copy {
    order: initial;
  }

  .mentor-showcase-copy {
    max-width: 720px;
  }

  .mentor-showcase-visual {
    min-height: 430px;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 640px) {

  .mentor-showcase {
    padding-top: 60px;
    padding-bottom: 70px;
  }

  .mentor-showcase-intro {
    margin-bottom: 45px;
    text-align: left;
  }

  .mentor-showcase-intro h2 {
    font-size: 39px;
  }

  .mentor-showcase-intro > p:last-child {
    font-size: 16px;
  }

  .mentor-showcase-row {
    gap: 28px;
    margin-bottom: 65px;
  }

  .mentor-showcase-visual {
    min-height: 280px;
    border-radius: 20px;
  }

  .mentor-showcase-copy h3 {
    font-size: 34px;
  }

  .mentor-showcase-copy > p {
    font-size: 16px;
  }

  .mentor-showcase-final {
    padding: 38px 24px;
    border-radius: 22px;
  }

}



/* =========================================================
   E-FLY MENTOR — SCROLL MOTION SYSTEM
   ========================================================= */

.efly-motion-ready .efly-reveal {
  opacity: 0;

  transition:
    opacity 700ms cubic-bezier(.2,.7,.2,1),
    transform 850ms cubic-bezier(.2,.7,.2,1);

  transition-delay: var(--efly-delay, 0ms);

  will-change: opacity, transform;
}


/* SUBE */

.efly-motion-ready .efly-reveal-up {
  transform: translate3d(0, 42px, 0);
}


/* DESDE IZQUIERDA */

.efly-motion-ready .efly-reveal-left {
  transform: translate3d(-48px, 14px, 0);
}


/* DESDE DERECHA */

.efly-motion-ready .efly-reveal-right {
  transform: translate3d(48px, 14px, 0);
}


/* ESCALA */

.efly-motion-ready .efly-reveal-scale {
  transform: scale(.965) translate3d(0, 20px, 0);
}


/* ESTADO VISIBLE */

.efly-motion-ready .efly-reveal.efly-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}


/* =========================================================
   PROFUNDIDAD SUAVE PARA MOCKUPS DE LA APP
   ========================================================= */

.mentor-showcase-visual,
.diagnostic-score-card {
  transform:
    translate3d(
      0,
      var(--efly-depth, 0px),
      0
    );

  transition:
    transform 120ms linear,
    box-shadow 350ms ease;
}


/* =========================================================
   HOVER DE MOCKUPS
   ========================================================= */

@media (hover: hover) and (pointer: fine) {

  .mentor-showcase-visual:hover {
    box-shadow:
      0 38px 90px rgba(7,30,85,.17);

    scale: 1.008;
  }

  .price-card,
  .audience-card,
  .school-offer,
  .bento-card,
  .faq-grid details {
    transition:
      transform 280ms ease,
      box-shadow 280ms ease,
      border-color 280ms ease;
  }

  .price-card:hover,
  .audience-card:hover,
  .school-offer:hover,
  .bento-card:hover {
    transform: translateY(-6px);
  }

}


/* =========================================================
   REDUCIR MOVIMIENTO PARA ACCESIBILIDAD
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  html {
    scroll-behavior: auto !important;
  }

  .efly-motion-ready .efly-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .mentor-showcase-visual,
  .diagnostic-score-card {
    transform: none !important;
    transition: none !important;
  }

}


/* =========================================================
   MÓVIL — MÁS SUTIL
   ========================================================= */

@media (max-width: 768px) {

  .efly-motion-ready .efly-reveal-up {
    transform: translate3d(0, 26px, 0);
  }

  .efly-motion-ready .efly-reveal-left,
  .efly-motion-ready .efly-reveal-right {
    transform: translate3d(0, 28px, 0);
  }

  .efly-motion-ready .efly-reveal.efly-visible {
    transform: translate3d(0,0,0);
  }

}


/* =========================================================
   E-FLY — CTA FINAL PREPARACIÓN / EXCELENCIA
   ========================================================= */

.mentor-showcase-final {
  color: #FFFFFF !important;
}

.mentor-showcase-final .eyebrow {
  color: #FFD21F !important;
  opacity: 1 !important;
}

.mentor-showcase-final h3 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #FFFFFF !important;
  max-width: 780px;
  margin: 18px auto 22px;
}

.mentor-showcase-final-copy {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-width: 760px;
  margin: 0 auto 32px;
  color: rgba(255,255,255,.84) !important;
  font-size: 17px;
  line-height: 1.65;
}

.mentor-showcase-final .button {
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 640px) {

  .mentor-showcase-final h3 {
    font-size: 32px;
  }

  .mentor-showcase-final-copy {
    font-size: 16px;
  }

}


/* =========================================================
   E-FLY MENTOR — AJUSTE DE DURACIÓN Y PRECIOS
   ========================================================= */

.price-duration {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 9px 16px !important;
  min-width: 92px !important;
  border-radius: 999px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
}

.premium-card .price-duration {
  min-width: 96px !important;
  font-size: 15px !important;
  padding: 9px 16px !important;
}

.price small {
  display: none !important;
}

.price {
  gap: .35rem !important;
  align-items: baseline !important;
}

.price strong {
  font-size: 56px;
}

.price span {
  font-size: 16px;
  font-weight: 700;
}

@media (max-width: 640px) {
  .price-duration {
    min-width: 88px !important;
    font-size: 14px !important;
    padding: 8px 14px !important;
  }

  .price strong {
    font-size: 48px;
  }
}




/* EFLY PRICING 3D START */

/* =========================================================
   CONTENEDOR — PERSPECTIVA 3D
   ========================================================= */

.pricing-grid {
  position: relative !important;
  align-items: stretch !important;
  perspective: 1800px;
  perspective-origin: 50% 45%;
  isolation: isolate;
}


/* =========================================================
   TODAS LAS TARJETAS MISMA ALTURA / ESTRUCTURA
   ========================================================= */

.pricing-grid .price-card {
  position: relative;
  overflow: visible;

  height: 100% !important;
  min-height: 510px;

  display: grid !important;

  /*
    1. encabezado
    2. descripción
    3. precio
    4. beneficios
    5. botón
  */
  grid-template-rows:
    76px
    92px
    100px
    1fr
    58px;

  align-items: start;

  padding: 30px 24px 20px !important;

  border-radius: 20px !important;

  transform-style: preserve-3d;
  backface-visibility: hidden;

  border:
    1px solid rgba(18, 60, 140, 0.13) !important;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,.98) 55%,
      rgba(244,248,255,.98) 100%
    ) !important;

  box-shadow:
    0 2px 2px rgba(7,30,85,.02),
    0 7px 12px rgba(7,30,85,.045),
    0 18px 32px rgba(7,30,85,.08),
    0 42px 75px rgba(7,30,85,.12) !important;

  transform:
    translate3d(0,-6px,24px)
    rotateX(1.2deg);

  transition:
    transform 420ms cubic-bezier(.2,.75,.25,1),
    box-shadow 420ms cubic-bezier(.2,.75,.25,1),
    border-color 300ms ease !important;
}


/* =========================================================
   EFECTO DE BORDE / LUZ 3D
   ========================================================= */

.pricing-grid .price-card::before {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 19px;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.75) 0%,
      rgba(255,255,255,0) 32%,
      rgba(18,60,140,.025) 100%
    );

  pointer-events: none;
  z-index: 0;
}


/* SOMBRA FLOTANTE BAJO CADA TARJETA */

.pricing-grid .price-card::after {
  content: "";
  position: absolute;

  left: 10%;
  right: 10%;
  bottom: -23px;

  height: 34px;

  border-radius: 50%;

  background:
    rgba(7,30,85,.19);

  filter: blur(20px);

  opacity: .56;

  transform:
    translateZ(-30px)
    scale(.92);

  pointer-events: none;
  z-index: -1;
}


/* Mantener el contenido por encima de los efectos */

.pricing-grid .price-card > * {
  position: relative;
  z-index: 2;
}


/* =========================================================
   PREMIUM
   ========================================================= */

.pricing-grid .price-card.premium-card {
  background:
    linear-gradient(
      145deg,
      #071E55 0%,
      #123C8C 100%
    ) !important;

  border:
    1px solid rgba(255,255,255,.15) !important;

  box-shadow:
    0 4px 6px rgba(7,30,85,.08),
    0 14px 28px rgba(7,30,85,.18),
    0 34px 68px rgba(7,30,85,.25),
    0 55px 105px rgba(7,30,85,.24) !important;
}


/* =========================================================
   ALINEACIÓN PERFECTA DE LOS 4 PRECIOS
   ========================================================= */

.pricing-grid .price-head {
  min-height: 76px !important;
  height: 76px !important;
  align-self: start;

  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px;
}


.pricing-grid .price-head > div {
  min-width: 0;
}


.pricing-grid .price-head h3 {
  margin-top: 9px !important;
  margin-bottom: 0 !important;

  line-height: 1.08 !important;
}


/* descripción: mismo alto para las cuatro */

.pricing-grid .price-card > p {
  min-height: 92px !important;
  height: 92px !important;

  margin: 0 !important;
  padding-top: 4px;

  display: flex;
  align-items: flex-start;

  line-height: 1.55;
}


/* PRECIO: exactamente la misma fila */

.pricing-grid .price {
  height: 100px !important;
  min-height: 100px !important;

  margin: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  align-self: stretch;

  padding: 0 !important;

  border-bottom:
    1px solid rgba(18,60,140,.15);
}


.pricing-grid .premium-card .price {
  border-bottom:
    1px solid rgba(255,255,255,.18);
}


.pricing-grid .price strong {
  line-height: 1 !important;
  margin: 0 !important;
}


.pricing-grid .price span {
  align-self: center !important;
  margin-top: 15px;
}


/* BENEFICIOS */

.pricing-grid .price-card ul {
  align-self: stretch;

  margin: 14px 0 15px !important;
  padding: 0 !important;
}


/* BOTÓN: los cuatro exactamente en la misma línea */

.pricing-grid .price-card .buy-button {
  align-self: end !important;

  width: 100% !important;
  height: 58px !important;
  min-height: 58px !important;

  margin: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  transform: translateZ(14px);
}


/* =========================================================
   DURACIÓN — TAMBIÉN MISMO EJE
   ========================================================= */

.pricing-grid .price-duration {
  flex: 0 0 auto;

  min-width: 92px !important;
  height: 38px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: -2px 0 0 !important;

  font-size: 15px !important;
  font-weight: 800 !important;
}


/* =========================================================
   FLOTACIÓN SUAVE
   Todas se mueven juntas para NO romper el eje visual
   ========================================================= */

@keyframes eflyPricingFloat {
  0%,
  100% {
    transform:
      translate3d(0,-6px,24px)
      rotateX(1.2deg);
  }

  50% {
    transform:
      translate3d(0,-13px,34px)
      rotateX(.4deg);
  }
}


/*
  Cuando la animación de entrada de la web ya las hizo visibles,
  empiezan a flotar.
*/

.pricing-grid .price-card.efly-visible {
  animation:
    eflyPricingFloat
    5.2s
    ease-in-out
    infinite !important;
}


/* Si por alguna razón no tienen clase efly-visible */

.pricing-grid .price-card:not(.efly-reveal) {
  animation:
    eflyPricingFloat
    5.2s
    ease-in-out
    infinite !important;
}


/* =========================================================
   HOVER 3D REAL
   ========================================================= */

@media (hover: hover) and (pointer: fine) {

  .pricing-grid .price-card.efly-visible:hover,
  .pricing-grid .price-card:not(.efly-reveal):hover {

    animation-play-state: paused !important;

    transform:
      translate3d(0,-18px,52px)
      rotateX(-1.5deg)
      rotateY(1.2deg)
      scale(1.018) !important;

    border-color:
      rgba(18,60,140,.28) !important;

    box-shadow:
      0 8px 12px rgba(7,30,85,.05),
      0 22px 44px rgba(7,30,85,.14),
      0 55px 100px rgba(7,30,85,.20) !important;
  }


  .pricing-grid .premium-card.efly-visible:hover,
  .pricing-grid .premium-card:not(.efly-reveal):hover {

    transform:
      translate3d(0,-18px,60px)
      rotateX(-1.5deg)
      rotateY(-1.2deg)
      scale(1.018) !important;

    box-shadow:
      0 10px 16px rgba(7,30,85,.12),
      0 28px 55px rgba(7,30,85,.27),
      0 65px 120px rgba(7,30,85,.32) !important;
  }

}


/* =========================================================
   ELIMINAR SOMBRA GLOBAL ANTIGUA QUE PODÍA VERSE COMO MANCHA
   ========================================================= */

.pricing-grid::before {
  display: none !important;
}


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 1000px) {

  .pricing-grid .price-card {
    min-height: 500px;

    grid-template-rows:
      76px
      auto
      95px
      1fr
      58px;
  }

  .pricing-grid .price-card > p {
    min-height: 78px !important;
    height: auto !important;
  }

}


@media (max-width: 700px) {

  .pricing-grid {
    perspective: none;
  }

  .pricing-grid .price-card,
  .pricing-grid .price-card.efly-visible,
  .pricing-grid .price-card:not(.efly-reveal) {
    min-height: 0;

    display: flex !important;
    flex-direction: column;

    transform: none !important;

    animation: none !important;
  }

  .pricing-grid .price-head {
    height: auto !important;
    min-height: 68px !important;
  }

  .pricing-grid .price-card > p {
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 18px !important;
  }

  .pricing-grid .price {
    height: 88px !important;
    min-height: 88px !important;
  }

  .pricing-grid .price-card ul {
    margin-bottom: 22px !important;
  }

  .pricing-grid .price-card .buy-button {
    margin-top: auto !important;
  }

  .pricing-grid .price-card::after {
    bottom: -14px;
    opacity: .35;
  }

}


/* ACCESIBILIDAD */

@media (prefers-reduced-motion: reduce) {

  .pricing-grid .price-card,
  .pricing-grid .price-card.efly-visible,
  .pricing-grid .price-card:not(.efly-reveal) {

    animation: none !important;

    transform:
      translate3d(0,-5px,18px)
      rotateX(.8deg) !important;
  }

}

/* EFLY PRICING 3D END */




/* EFLY PREMIUM ALIGN START */

/* =========================================================
   LAS 4 TARJETAS EN EL MISMO EJE
   ========================================================= */

.pricing-grid {
  align-items: stretch !important;
}

.pricing-grid .price-card,
.pricing-grid .price-card.premium-card {
  margin-top: 0 !important;
  top: auto !important;

  min-height: 510px !important;

  grid-template-rows:
    76px
    92px
    100px
    1fr
    58px !important;
}


/* =========================================================
   PREMIUM: MISMA DISTRIBUCIÓN INTERNA
   ========================================================= */

.pricing-grid .premium-card .price-head {
  height: 76px !important;
  min-height: 76px !important;
  margin: 0 !important;
}

.pricing-grid .premium-card > p {
  height: 92px !important;
  min-height: 92px !important;
  margin: 0 !important;
  padding-top: 4px !important;
}


/* =========================================================
   RIBBON "MEJOR VALOR"
   NO DEBE EMPUJAR EL CONTENIDO
   ========================================================= */

.pricing-grid .premium-card {
  position: relative !important;
}

.pricing-grid .premium-ribbon {
  position: absolute !important;

  top: 14px !important;
  left: 18px !important;
  right: auto !important;

  width: auto !important;
  min-width: 118px !important;

  padding: 7px 14px !important;

  border-radius: 999px !important;

  z-index: 10 !important;

  margin: 0 !important;

  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .10em !important;
  line-height: 1 !important;
}


/* Dar espacio visual al ribbon SIN mover las filas */

.pricing-grid .premium-card .price-head {
  padding-top: 36px !important;
}


/* =========================================================
   ALINEAR LOS PRECIOS $19 / $49 EXACTAMENTE
   ========================================================= */

.pricing-grid .price {
  height: 100px !important;
  min-height: 100px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  padding: 0 !important;
  margin: 0 !important;
}


/* mismo tamaño y baseline de los números */

.pricing-grid .price strong,
.pricing-grid .premium-card .price strong {
  display: inline-block !important;

  margin: 0 !important;
  padding: 0 !important;

  font-size: 56px !important;
  line-height: 1 !important;
  letter-spacing: -0.045em !important;

  vertical-align: baseline !important;
}


/* USD alineado igual en todas */

.pricing-grid .price span,
.pricing-grid .premium-card .price span {
  display: inline-block !important;

  margin-left: 5px !important;
  margin-top: 18px !important;

  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;

  align-self: center !important;
}


/* =========================================================
   PREMIUM: CORREGIR TÍTULO Y DURACIÓN
   ========================================================= */

.pricing-grid .premium-card .price-head > div {
  padding-top: 0 !important;
}

.pricing-grid .premium-card .price-route {
  display: block !important;
}

.pricing-grid .premium-card .price-head h3 {
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  line-height: 1.05 !important;
}

.pricing-grid .premium-card .price-duration {
  position: absolute !important;

  top: 58px !important;
  right: 20px !important;

  margin: 0 !important;
}


/* =========================================================
   BOTONES EN EL MISMO EJE
   ========================================================= */

.pricing-grid .price-card .buy-button,
.pricing-grid .premium-card .buy-button {
  height: 58px !important;
  min-height: 58px !important;

  margin: 0 !important;

  align-self: end !important;
}


/* =========================================================
   PREMIUM NO DEBE SER MÁS ALTO NI MÁS BAJO
   ========================================================= */

.pricing-grid .premium-card {
  transform:
    translate3d(0,-6px,24px)
    rotateX(1.2deg) !important;
}


@keyframes eflyPremiumFloatAligned {
  0%,
  100% {
    transform:
      translate3d(0,-6px,24px)
      rotateX(1.2deg);
  }

  50% {
    transform:
      translate3d(0,-13px,34px)
      rotateX(.4deg);
  }
}

.pricing-grid .premium-card.efly-visible {
  animation:
    eflyPremiumFloatAligned
    5.2s
    ease-in-out
    infinite !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

  .pricing-grid .premium-card {
    transform: none !important;
  }

  .pricing-grid .premium-card.efly-visible {
    animation: none !important;
  }

  .pricing-grid .premium-ribbon {
    top: 12px !important;
    left: 16px !important;
  }

  .pricing-grid .premium-card .price-duration {
    top: 52px !important;
    right: 16px !important;
  }

  .pricing-grid .premium-card .price-head {
    padding-top: 34px !important;
  }

}

/* EFLY PREMIUM ALIGN END */




/* EFLY COPY PREMIUM TUNE START */

/* =========================================================
   E-FLY MENTOR — COPY / PREMIUM / FEATURES
   ========================================================= */

/* quitar etiquetas redundantes PPA / PCA / IFR arriba */
.pricing-grid .price-card:not(.premium-card) .price-route,
.pricing-grid .price-card:not(.premium-card) .price-tag,
.pricing-grid .price-card:not(.premium-card) .plan-code,
.pricing-grid .price-card:not(.premium-card) .card-code,
.pricing-grid .price-card:not(.premium-card) .eyebrow {
  display: none !important;
}

/* compensar espacio arriba al quitar la etiqueta */
.pricing-grid .price-card:not(.premium-card) .price-head {
  padding-top: 10px !important;
}

/* texto de lo que incluye un poco más grande */
.pricing-grid .price-card ul li,
.pricing-grid .premium-card ul li,
.pricing-grid .price-card .price-features li,
.pricing-grid .premium-card .price-features li {
  font-size: 15px !important;
  line-height: 1.6 !important;
}

/* descripciones ligeramente más claras */
.pricing-grid .price-card > p,
.pricing-grid .premium-card > p {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

/* premium mejor acomodado */
.pricing-grid .premium-card {
  display: grid !important;
  grid-template-rows: auto auto auto 1fr auto !important;
  row-gap: 10px !important;
  padding-top: 18px !important;
}

/* mantener el badge superior sin estorbar */
.pricing-grid .premium-card .premium-ribbon {
  top: 14px !important;
  left: 16px !important;
  z-index: 10 !important;
}

/* bloque superior premium */
.pricing-grid .premium-card .price-head {
  position: relative !important;
  display: block !important;
  padding-top: 26px !important;
  padding-right: 126px !important;
  min-height: 96px !important;
}

/* si existe una etiqueta interna tipo E-FLY, acomodarla */
.pricing-grid .premium-card .price-route,
.pricing-grid .premium-card .price-tag,
.pricing-grid .premium-card .eyebrow,
.pricing-grid .premium-card .card-code {
  display: block !important;
  margin: 0 0 8px 0 !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

/* título premium */
.pricing-grid .premium-card .price-head h3 {
  margin: 0 !important;
  max-width: 100% !important;
  font-size: 23px !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
}

/* duración premium */
.pricing-grid .premium-card .price-duration {
  position: absolute !important;
  top: 10px !important;
  right: 0 !important;
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1 !important;
  padding: 10px 16px !important;
}

/* párrafo premium mejor alineado */
.pricing-grid .premium-card > p {
  margin: 0 !important;
  max-width: 100% !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
}

/* precio premium y normal bien alineados */
.pricing-grid .price,
.pricing-grid .premium-card .price {
  min-height: 88px !important;
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 6px !important;
}

.pricing-grid .price strong,
.pricing-grid .premium-card .price strong {
  line-height: 0.95 !important;
}

.pricing-grid .price span,
.pricing-grid .premium-card .price span {
  margin: 0 !important;
  line-height: 1 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

/* lista premium más respirada */
.pricing-grid .premium-card ul,
.pricing-grid .premium-card .price-features {
  margin-top: 4px !important;
}

/* botón premium bien abajo */
.pricing-grid .premium-card .buy-button {
  margin-top: 10px !important;
  align-self: end !important;
}

/* móvil */
@media (max-width: 700px) {
  .pricing-grid .premium-card .price-head {
    padding-right: 0 !important;
    padding-top: 24px !important;
    min-height: auto !important;
  }

  .pricing-grid .premium-card .price-duration {
    position: static !important;
    display: inline-flex !important;
    margin: 10px 0 0 0 !important;
  }

  .pricing-grid .premium-card .price-head h3 {
    max-width: 100% !important;
  }
}

/* EFLY COPY PREMIUM TUNE END */









/* EFLY PREMIUM MICRO FIX START */

/* quitar texto superior del premium */
.pricing-grid .premium-card .premium-ribbon,
.pricing-grid .premium-card .badge-top,
.pricing-grid .premium-card .card-badge-top {
  display: none !important;
}

/* quitar la etiqueta pequeña E-FLY sobre el nombre */
.pricing-grid .premium-card .price-route,
.pricing-grid .premium-card .price-tag,
.pricing-grid .premium-card .eyebrow,
.pricing-grid .premium-card .card-code {
  display: none !important;
}

/* acercar mejor el contenido superior */
.pricing-grid .premium-card {
  padding-top: 18px !important;
}

.pricing-grid .premium-card .price-head {
  padding-top: 8px !important;
  min-height: auto !important;
}

.pricing-grid .premium-card .price-head h3 {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  line-height: 1.02 !important;
}

/* que IFR Check quede junto en la misma línea */
.pricing-grid .premium-card ul li:first-child,
.pricing-grid .premium-card .price-features li:first-child {
  white-space: nowrap !important;
  font-size: 14px !important;
  letter-spacing: -0.01em !important;
}

/* si el texto del primer bullet está dentro de spans */
.pricing-grid .premium-card ul li:first-child *,
.pricing-grid .premium-card .price-features li:first-child * {
  white-space: nowrap !important;
}

@media (max-width: 700px) {
  .pricing-grid .premium-card ul li:first-child,
  .pricing-grid .premium-card .price-features li:first-child {
    white-space: normal !important;
    font-size: 14px !important;
  }

  .pricing-grid .premium-card ul li:first-child strong,
  .pricing-grid .premium-card .price-features li:first-child strong,
  .pricing-grid .premium-card ul li:first-child span,
  .pricing-grid .premium-card .price-features li:first-child span {
    white-space: nowrap !important;
  }
}

/* EFLY PREMIUM MICRO FIX END */









/* EFLY PRICING ELEGANT HOVER START */

/* Movimiento mucho más sutil y elegante */
.pricing-grid .price-card {
  transition:
    transform 380ms cubic-bezier(.22,.68,.25,1),
    box-shadow 380ms cubic-bezier(.22,.68,.25,1),
    border-color 300ms ease !important;
}

@media (hover: hover) and (pointer: fine) {

  .pricing-grid .price-card.efly-visible:hover,
  .pricing-grid .price-card:not(.efly-reveal):hover {

    animation-play-state: paused !important;

    transform:
      translate3d(0,-10px,30px)
      rotateX(.25deg)
      scale(1.006) !important;

    border-color:
      rgba(18,60,140,.18) !important;

    box-shadow:
      0 6px 12px rgba(7,30,85,.04),
      0 18px 36px rgba(7,30,85,.10),
      0 34px 65px rgba(7,30,85,.13) !important;
  }


  /* Premium igual de elegante, sin sobresalir exageradamente */
  .pricing-grid .premium-card.efly-visible:hover,
  .pricing-grid .premium-card:not(.efly-reveal):hover {

    transform:
      translate3d(0,-10px,32px)
      rotateX(.25deg)
      scale(1.006) !important;

    border-color:
      rgba(255,255,255,.20) !important;

    box-shadow:
      0 7px 14px rgba(7,30,85,.08),
      0 20px 40px rgba(7,30,85,.17),
      0 38px 72px rgba(7,30,85,.19) !important;
  }

}

/* EFLY PRICING ELEGANT HOVER END */



/* =========================================================
   E-FLY MENTOR — BOOST JOURNEY
   Ruta visual, sin tarjetas pequeñas
   ========================================================= */

.boost-journey-section {
  position: relative;
  overflow: hidden;

  background:
    linear-gradient(
      135deg,
      #123C8C 0%,
      #0D347A 100%
    );

  color: #FFFFFF;
}


.boost-journey-section::after {
  content: "";

  position: absolute;

  width: 620px;
  height: 620px;

  right: -280px;
  top: -330px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(255,255,255,.08),
      rgba(255,255,255,0) 68%
    );

  pointer-events: none;
}


.boost-journey-grid {
  position: relative;
  z-index: 2;

  display: grid;

  grid-template-columns:
    minmax(370px, .82fr)
    minmax(570px, 1.18fr);

  gap: 90px;

  align-items: center;

  padding-top: 95px;
  padding-bottom: 100px;
}


/* =========================================================
   COPY IZQUIERDA
   ========================================================= */

.boost-journey-copy {
  max-width: 530px;
}


.boost-journey-copy h2 {
  margin: 16px 0 26px;

  font-size: clamp(44px, 4.2vw, 65px);

  line-height: 1.02;

  letter-spacing: -.045em;

  color: #FFFFFF;
}


.boost-journey-copy h2 span {
  color: #FFD21F;
}


.boost-journey-lead {
  margin: 0 0 34px;

  font-size: 17px;
  line-height: 1.7;

  color:
    rgba(255,255,255,.80);
}


/* =========================================================
   PRUEBA / BENEFICIOS
   ========================================================= */

.boost-journey-proof {
  margin: 0 0 34px;

  border-top:
    1px solid rgba(255,255,255,.13);

  border-bottom:
    1px solid rgba(255,255,255,.13);
}


.boost-journey-proof > div {
  display: grid;

  grid-template-columns:
    170px 1fr;

  gap: 18px;

  padding: 17px 0;
}


.boost-journey-proof > div + div {
  border-top:
    1px solid rgba(255,255,255,.10);
}


.boost-journey-proof strong {
  font-size: 14px;

  color: #FFFFFF;
}


.boost-journey-proof span {
  font-size: 14px;
  line-height: 1.45;

  color:
    rgba(255,255,255,.61);
}


/* =========================================================
   PANEL DERECHO ÚNICO
   ========================================================= */

.boost-journey-visual {
  position: relative;

  padding: 34px 38px 32px;

  border-radius: 30px;

  background:
    linear-gradient(
      145deg,
      rgba(7,30,85,.94),
      rgba(10,43,105,.94)
    );

  border:
    1px solid rgba(255,255,255,.14);

  box-shadow:
    0 28px 65px rgba(4,18,55,.22),
    0 60px 120px rgba(4,18,55,.20);

  backdrop-filter: blur(12px);

  transform:
    perspective(1400px)
    rotateY(-1.2deg);

  transition:
    transform 420ms cubic-bezier(.2,.7,.2,1),
    box-shadow 420ms cubic-bezier(.2,.7,.2,1);
}


.boost-journey-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  padding-bottom: 27px;

  border-bottom:
    1px solid rgba(255,255,255,.11);
}


.boost-journey-top > span {
  font-size: 10px;
  font-weight: 800;

  letter-spacing: .14em;

  color: #FFD21F;
}


.boost-journey-top > div {
  text-align: right;
}


.boost-journey-top strong {
  display: block;

  font-size: 17px;

  color: #FFFFFF;
}


.boost-journey-top small {
  display: block;

  margin-top: 5px;

  font-size: 11px;

  color:
    rgba(255,255,255,.55);
}


/* =========================================================
   SCORE ANTES / AHORA
   ========================================================= */

.boost-journey-score {
  display: grid;

  grid-template-columns:
    1fr
    80px
    1fr;

  gap: 15px;

  align-items: center;

  padding: 34px 0 30px;
}


.boost-score-before,
.boost-score-now {
  display: flex;
  flex-direction: column;
}


.boost-score-before span,
.boost-score-now span {
  margin-bottom: 8px;

  font-size: 10px;
  font-weight: 800;

  letter-spacing: .11em;

  color:
    rgba(255,255,255,.48);
}


.boost-score-before strong,
.boost-score-now strong {
  font-size: 54px;

  line-height: .95;

  letter-spacing: -.05em;
}


.boost-score-before strong {
  color:
    rgba(255,255,255,.62);
}


.boost-score-now strong {
  color: #FFD21F;
}


.boost-score-before small,
.boost-score-now small {
  margin-top: 8px;

  font-size: 11px;

  color:
    rgba(255,255,255,.50);
}


/* FLECHA CENTRAL */

.boost-score-arrow {
  display: flex;
  align-items: center;

  gap: 8px;
}


.boost-score-arrow span {
  display: block;

  flex: 1;

  height: 1px;

  background:
    rgba(255,255,255,.18);
}


.boost-score-arrow b {
  display: flex;

  width: 28px;
  height: 28px;

  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background:
    rgba(255,210,31,.12);

  color: #FFD21F;
}


/* =========================================================
   RUTA VERTICAL
   ========================================================= */

.boost-journey-route {
  position: relative;

  margin-top: 5px;

  padding:
    6px 0
    6px 0;

  border-top:
    1px solid rgba(255,255,255,.10);
}


.boost-route-line {
  position: absolute;

  left: 20px;

  top: 44px;
  bottom: 48px;

  width: 1px;

  background:
    linear-gradient(
      180deg,
      rgba(255,210,31,.65),
      rgba(255,255,255,.15)
    );
}


.boost-route-step {
  position: relative;

  display: grid;

  grid-template-columns:
    42px
    minmax(0,1fr)
    auto;

  gap: 18px;

  align-items: center;

  padding: 23px 0;
}


.boost-route-step + .boost-route-step {
  border-top:
    1px solid rgba(255,255,255,.07);
}


.boost-route-dot {
  position: relative;
  z-index: 2;

  display: flex;

  width: 42px;
  height: 42px;

  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: #0A2863;

  border:
    1px solid rgba(255,255,255,.17);

  font-size: 10px;
  font-weight: 800;

  color:
    rgba(255,255,255,.75);
}


.boost-route-active .boost-route-dot {
  background: #FFD21F;

  border-color: #FFD21F;

  color: #071E55;

  box-shadow:
    0 0 0 7px rgba(255,210,31,.08);
}


.boost-route-step small {
  display: block;

  margin-bottom: 5px;

  font-size: 9px;
  font-weight: 800;

  letter-spacing: .12em;

  color:
    rgba(255,255,255,.42);
}


.boost-route-step strong {
  display: block;

  margin-bottom: 5px;

  font-size: 17px;

  color: #FFFFFF;
}


.boost-route-step p {
  margin: 0;

  font-size: 12px;
  line-height: 1.45;

  color:
    rgba(255,255,255,.58);
}


.boost-route-step > b {
  font-size: 13px;

  color: #FFD21F;
}


/* =========================================================
   SIGUIENTE PASO
   ========================================================= */

.boost-journey-next {
  margin-top: 24px;

  padding: 19px 22px;

  border-radius: 17px;

  display: flex;

  align-items: center;
  justify-content: space-between;

  background: #FFFFFF;

  box-shadow:
    0 15px 34px rgba(0,0,0,.14);
}


.boost-journey-next small {
  display: block;

  margin-bottom: 4px;

  font-size: 9px;
  font-weight: 800;

  letter-spacing: .12em;

  color: #123C8C;
}


.boost-journey-next strong {
  font-size: 15px;

  color: #071E55;
}


.boost-journey-next > span {
  font-size: 25px;
  font-weight: 700;

  color: #123C8C;
}


/* =========================================================
   HOVER — MUY SUTIL
   ========================================================= */

@media (hover:hover) and (pointer:fine) {

  .boost-journey-visual:hover {
    transform:
      perspective(1400px)
      rotateY(-.35deg)
      translateY(-4px);

    box-shadow:
      0 30px 70px rgba(4,18,55,.24),
      0 66px 125px rgba(4,18,55,.21);
  }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

  .boost-journey-grid {
    grid-template-columns: 1fr;

    gap: 55px;
  }

  .boost-journey-copy {
    max-width: 720px;
  }

  .boost-journey-visual {
    max-width: 820px;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 650px) {

  .boost-journey-grid {
    padding-top: 65px;
    padding-bottom: 70px;
  }

  .boost-journey-copy h2 {
    font-size: 39px;
  }

  .boost-journey-proof > div {
    grid-template-columns: 1fr;

    gap: 5px;
  }

  .boost-journey-visual {
    padding: 26px 22px;

    border-radius: 23px;

    transform: none;
  }

  .boost-journey-score {
    grid-template-columns:
      1fr
      45px
      1fr;
  }

  .boost-score-before strong,
  .boost-score-now strong {
    font-size: 42px;
  }

  .boost-route-step {
    grid-template-columns:
      38px
      1fr;
  }

  .boost-route-step > b {
    grid-column: 2;
  }

  .boost-route-dot {
    width: 38px;
    height: 38px;
  }

  .boost-route-line {
    left: 18px;
  }

}


/* =========================================================
   E-FLY MENTOR — BOOST BENEFITS
   Estilo limpio tipo E-Fly Academy
   ========================================================= */

.boost-benefits {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 26px;

  margin: 34px 0 38px;
}

.boost-benefit {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 13px;

  align-items: center;
}

.boost-benefit-icon {
  width: 46px;
  height: 46px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 11px;

  background: rgba(255,255,255,.94);

  color: #123C8C;

  box-shadow:
    0 6px 18px rgba(7,30,85,.12);
}

.boost-benefit-icon svg {
  width: 22px;
  height: 22px;

  fill: none;
  stroke: currentColor;

  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.boost-benefit strong {
  font-size: 15px;
  line-height: 1.3;

  font-weight: 700;

  color: #FFFFFF;
}


/* movimiento muy sutil */

@media (hover:hover) and (pointer:fine) {

  .boost-benefit {
    transition: transform 250ms ease;
  }

  .boost-benefit:hover {
    transform: translateY(-2px);
  }

  .boost-benefit-icon {
    transition:
      transform 250ms ease,
      box-shadow 250ms ease;
  }

  .boost-benefit:hover .boost-benefit-icon {
    transform: translateY(-2px);

    box-shadow:
      0 9px 22px rgba(7,30,85,.16);
  }

}


@media (max-width: 640px) {

  .boost-benefits {
    grid-template-columns: 1fr;

    gap: 16px;

    margin: 28px 0 34px;
  }

  .boost-benefit {
    grid-template-columns: 44px 1fr;
  }

  .boost-benefit-icon {
    width: 44px;
    height: 44px;
  }

}


/* =========================================================
   E-FLY MENTOR — DIAGNOSTIC RESULT EXPERIENCE
   ========================================================= */

.diagnostic-result-section {
  position: relative;
  overflow: hidden;
  background: #F5F8FD;
}

.diagnostic-result-shell {
  padding-top: 105px;
  padding-bottom: 105px;
}


/* =========================================================
   INTRO
   ========================================================= */

.diagnostic-result-heading {
  max-width: 920px;
  margin: 0 auto 62px;
  text-align: center;
}

.diagnostic-result-heading h2 {
  margin: 14px 0 22px;

  font-size: clamp(44px, 5vw, 68px);
  line-height: 1.03;
  letter-spacing: -.045em;

  color: #071E55;
}

.diagnostic-result-heading h2 span {
  color: #123C8C;
}

.diagnostic-result-heading > p:last-child {
  max-width: 760px;
  margin: 0 auto;

  font-size: 18px;
  line-height: 1.65;

  color: #4B5563;
}


/* =========================================================
   GRID CENTRAL
   ========================================================= */

.diagnostic-result-layout {
  display: grid;

  grid-template-columns:
    minmax(0, 1.12fr)
    minmax(390px, .88fr);

  gap: 34px;

  align-items: stretch;
}


/* =========================================================
   RESULTADO
   ========================================================= */

.diagnostic-result-score {
  position: relative;

  padding: 42px 44px;

  border-radius: 28px;

  background: #FFFFFF;

  border:
    1px solid rgba(18,60,140,.11);

  box-shadow:
    0 16px 45px rgba(7,30,85,.08),
    0 36px 80px rgba(7,30,85,.08);
}


.diagnostic-score-label {
  margin-bottom: 26px;

  font-size: 11px;
  font-weight: 800;

  letter-spacing: .14em;

  color: #123C8C;
}


.diagnostic-score-main {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;

  gap: 30px;

  padding-bottom: 34px;

  border-bottom:
    1px solid rgba(18,60,140,.12);
}


.diagnostic-score-main > div:first-child span {
  display: block;

  margin-bottom: 6px;

  font-size: 14px;

  color: #667085;
}


.diagnostic-score-main > div:first-child strong {
  display: block;

  font-size: 78px;
  line-height: .92;

  letter-spacing: -.06em;

  color: #071E55;
}


.diagnostic-score-status {
  max-width: 220px;

  padding-bottom: 5px;
}


.diagnostic-score-status small {
  display: block;

  margin-bottom: 7px;

  font-size: 9px;
  font-weight: 800;

  letter-spacing: .12em;

  color: #123C8C;
}


.diagnostic-score-status b {
  font-size: 15px;
  line-height: 1.4;

  color: #344054;
}


/* =========================================================
   BARRAS DE TEMAS
   ========================================================= */

.diagnostic-result-bars {
  padding-top: 31px;
}


.diagnostic-subject + .diagnostic-subject {
  margin-top: 23px;
}


.diagnostic-subject > div:first-child {
  display: flex;
  justify-content: space-between;

  margin-bottom: 9px;
}


.diagnostic-subject span {
  font-size: 14px;
  font-weight: 600;

  color: #344054;
}


.diagnostic-subject strong {
  font-size: 14px;

  color: #123C8C;
}


.diagnostic-bar {
  height: 8px;

  overflow: hidden;

  border-radius: 999px;

  background: #E9EEF7;
}


.diagnostic-bar i {
  display: block;

  height: 100%;

  border-radius: inherit;

  background:
    linear-gradient(
      90deg,
      #123C8C,
      #2F66C5
    );
}


.diagnostic-subject-warning .diagnostic-bar i {
  background:
    linear-gradient(
      90deg,
      #EAAE18,
      #FFD21F
    );
}


.diagnostic-subject-critical .diagnostic-bar i {
  background:
    linear-gradient(
      90deg,
      #123C8C,
      #FFD21F
    );
}


/* =========================================================
   INSIGHTS
   ========================================================= */

.diagnostic-result-insight {
  padding: 43px 42px;

  border-radius: 28px;

  background:
    linear-gradient(
      145deg,
      #071E55,
      #123C8C
    );

  color: #FFFFFF;

  box-shadow:
    0 22px 58px rgba(7,30,85,.18);
}


.diagnostic-insight-kicker {
  display: block;

  margin-bottom: 17px;

  font-size: 10px;
  font-weight: 800;

  letter-spacing: .14em;

  color: #FFD21F;
}


.diagnostic-result-insight h3 {
  max-width: 430px;

  margin: 0 0 34px;

  font-size: 36px;
  line-height: 1.08;
  letter-spacing: -.035em;

  color: #FFFFFF;
}


.diagnostic-insight-line {
  display: grid;

  grid-template-columns:
    36px 1fr;

  gap: 17px;

  padding: 21px 0;

  border-top:
    1px solid rgba(255,255,255,.12);
}


.diagnostic-insight-line > b {
  padding-top: 2px;

  font-size: 11px;

  color: #FFD21F;
}


.diagnostic-insight-line strong {
  display: block;

  margin-bottom: 5px;

  font-size: 16px;

  color: #FFFFFF;
}


.diagnostic-insight-line p {
  margin: 0;

  font-size: 13px;
  line-height: 1.55;

  color:
    rgba(255,255,255,.68);
}


/* =========================================================
   CTA
   ========================================================= */

.diagnostic-result-action {
  margin-top: 30px;
}


.diagnostic-result-action .button {
  width: 100%;

  justify-content: center;
}


.diagnostic-result-action small {
  display: block;

  margin-top: 13px;

  text-align: center;

  font-size: 11px;

  color:
    rgba(255,255,255,.55);
}


/* =========================================================
   FOOTER DEL FLUJO
   ========================================================= */

.diagnostic-result-footer {
  display: flex;

  align-items: center;
  justify-content: center;

  flex-wrap: wrap;

  gap: 20px;

  margin-top: 48px;

  font-size: 14px;
  font-weight: 700;

  color: #123C8C;
}


.diagnostic-result-footer i {
  font-style: normal;

  color: #A6B5CF;
}


/* =========================================================
   HOVER MUY SUTIL
   ========================================================= */

@media (hover:hover) and (pointer:fine) {

  .diagnostic-result-score,
  .diagnostic-result-insight {
    transition:
      transform 320ms ease,
      box-shadow 320ms ease;
  }

  .diagnostic-result-score:hover {
    transform: translateY(-4px);

    box-shadow:
      0 20px 52px rgba(7,30,85,.10),
      0 42px 90px rgba(7,30,85,.10);
  }

  .diagnostic-result-insight:hover {
    transform: translateY(-4px);

    box-shadow:
      0 28px 65px rgba(7,30,85,.21);
  }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

  .diagnostic-result-layout {
    grid-template-columns: 1fr;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 650px) {

  .diagnostic-result-shell {
    padding-top: 70px;
    padding-bottom: 75px;
  }

  .diagnostic-result-heading {
    text-align: left;

    margin-bottom: 42px;
  }

  .diagnostic-result-heading h2 {
    font-size: 39px;
  }

  .diagnostic-result-heading > p:last-child {
    font-size: 16px;
  }

  .diagnostic-result-score,
  .diagnostic-result-insight {
    padding: 30px 24px;

    border-radius: 22px;
  }

  .diagnostic-score-main {
    align-items: flex-start;
    flex-direction: column;
  }

  .diagnostic-score-main > div:first-child strong {
    font-size: 64px;
  }

  .diagnostic-result-insight h3 {
    font-size: 31px;
  }

  .diagnostic-result-footer {
    justify-content: flex-start;

    gap: 10px 14px;

    font-size: 12px;
  }

}




/* EFLY SCHOOLS HOVER FIX START */

/* =========================================================
   LAS DOS TARJETAS — MISMO EFECTO ELEGANTE
   ========================================================= */

.school-offers {
  perspective: 1500px;
}

.school-offer,
.school-offer.school-offer-dark {
  position: relative;

  transform:
    translate3d(0, 0, 0);

  transition:
    transform 360ms cubic-bezier(.22,.68,.25,1),
    box-shadow 360ms cubic-bezier(.22,.68,.25,1),
    border-color 300ms ease !important;

  will-change: transform;
}


/* sombra base coherente en ambas */

.school-offer {
  box-shadow:
    0 8px 20px rgba(7,30,85,.06),
    0 24px 55px rgba(7,30,85,.09) !important;
}

.school-offer.school-offer-dark {
  box-shadow:
    0 8px 20px rgba(7,30,85,.10),
    0 26px 60px rgba(7,30,85,.15) !important;
}


/* =========================================================
   HOVER IGUAL EN LAS DOS
   ========================================================= */

@media (hover:hover) and (pointer:fine) {

  .school-offer:hover,
  .school-offer.school-offer-dark:hover {

    transform:
      translate3d(0,-6px,18px)
      scale(1.004) !important;
  }

  .school-offer:hover {
    box-shadow:
      0 10px 24px rgba(7,30,85,.07),
      0 32px 70px rgba(7,30,85,.12) !important;
  }

  .school-offer.school-offer-dark:hover {
    box-shadow:
      0 12px 28px rgba(7,30,85,.13),
      0 34px 76px rgba(7,30,85,.20) !important;
  }

}


/* =========================================================
   BOTÓN IZQUIERDO — EVITAR QUE TEXTO Y FLECHA SE ENCIMEN
   ========================================================= */

.school-offer .button {
  width: auto !important;
  min-width: 255px !important;
  max-width: 100% !important;

  min-height: 52px !important;

  padding:
    0 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 12px !important;

  white-space: nowrap !important;

  line-height: 1.15 !important;

  overflow: hidden !important;

  transform: none !important;

  transition:
    transform 260ms ease,
    box-shadow 260ms ease,
    background-color 260ms ease,
    color 260ms ease !important;
}


/* flecha totalmente separada del texto */

.school-offer .button > span {
  position: static !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  flex: 0 0 auto !important;

  width: auto !important;
  margin: 0 !important;

  transform: none !important;

  transition:
    transform 240ms ease !important;
}


/* hover del botón sin mover el texto */

@media (hover:hover) and (pointer:fine) {

  .school-offer .button:hover {
    transform:
      translateY(-2px) !important;
  }

  .school-offer .button:hover > span {
    transform:
      translateX(3px) !important;
  }

}


/* botón azul izquierdo */

.school-offer:not(.school-offer-dark) .button {
  background: #123C8C !important;
  color: #FFFFFF !important;
}

.school-offer:not(.school-offer-dark) .button:hover,
.school-offer:not(.school-offer-dark) .button:focus-visible {
  background: #071E55 !important;
  color: #FFFFFF !important;
}


/* botón amarillo derecho */

.school-offer.school-offer-dark .button {
  color: #071E55 !important;
}

.school-offer.school-offer-dark .button:hover,
.school-offer.school-offer-dark .button:focus-visible {
  color: #071E55 !important;
}


/* =========================================================
   ANIMACIÓN DE ENTRADA PARA AMBAS TARJETAS
   ========================================================= */

.school-offer {
  opacity: 0;
  translate: 0 26px;

  animation:
    eflySchoolCardEnter
    700ms
    cubic-bezier(.2,.72,.2,1)
    forwards;

  animation-delay: 80ms;
}

.school-offer.school-offer-dark {
  animation-delay: 180ms;
}

@keyframes eflySchoolCardEnter {

  from {
    opacity: 0;
    translate: 0 26px;
  }

  to {
    opacity: 1;
    translate: 0 0;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

  .school-offer,
  .school-offer.school-offer-dark {
    transform: none !important;
  }

  .school-offer .button {
    width: 100% !important;
    min-width: 0 !important;

    padding:
      0 16px !important;

    font-size: 14px !important;
  }

}


/* accesibilidad */

@media (prefers-reduced-motion: reduce) {

  .school-offer,
  .school-offer.school-offer-dark {
    opacity: 1 !important;
    translate: none !important;
    animation: none !important;
    transition: none !important;
  }

}

/* EFLY SCHOOLS HOVER FIX END */




/* EFLY FAQ INDEPENDENT HEIGHT START */

/* Cada FAQ mantiene SU PROPIA ALTURA.
   Abrir una pregunta ya no estira la que está al lado. */

.faq-grid {
  align-items: start !important;
  grid-auto-rows: min-content !important;
}

.faq-grid details {
  align-self: start !important;
  height: fit-content !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
}

/* Cerrada */
.faq-grid details:not([open]) {
  height: auto !important;
}

/* Abierta */
.faq-grid details[open] {
  height: auto !important;
}

/* El summary conserva siempre el mismo alto visual */
.faq-grid details summary {
  min-height: 54px !important;

  display: flex !important;
  align-items: center !important;

  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

/* Respuesta */
.faq-grid details > p {
  margin: 0 !important;
  padding:
    0 20px
    20px !important;

  line-height: 1.6 !important;
}

/* Animación suave sin modificar el tamaño del FAQ vecino */
.faq-grid details[open] > p {
  animation:
    eflyFaqAnswerIn
    220ms
    ease-out;
}

@keyframes eflyFaqAnswerIn {

  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }

}

/* Móvil */
@media (max-width: 700px) {

  .faq-grid {
    grid-template-columns: 1fr !important;
  }

}

/* EFLY FAQ INDEPENDENT HEIGHT END */


/* =========================================================
   E-FLY FAQ — ANCHO AJUSTADO AL TEXTO
   ========================================================= */

.faq-grid {
  align-items: start !important;
}

.faq-grid details {
  width: fit-content !important;
  min-width: 0 !important;
  max-width: 100% !important;

  justify-self: start !important;
}

/* La pregunta cerrada queda prácticamente del ancho del texto */
.faq-grid details summary {
  width: fit-content !important;
  min-width: 0 !important;
  max-width: 100% !important;

  padding: 14px 18px !important;

  white-space: normal !important;
}

/* Cuando se abre, damos espacio suficiente a la respuesta */
.faq-grid details[open] {
  width: min(100%, 430px) !important;
}

/* La respuesta mantiene buena lectura */
.faq-grid details > p {
  max-width: 400px !important;

  padding-left: 18px !important;
  padding-right: 18px !important;
}

/* La columna derecha también empieza desde su borde,
   sin estirarse innecesariamente */
.faq-grid details:nth-child(even) {
  justify-self: start !important;
}

@media (max-width: 700px) {

  .faq-grid details,
  .faq-grid details[open] {
    width: 100% !important;
  }

  .faq-grid details summary {
    width: 100% !important;
  }

}


/* =========================================================
   E-FLY FAQ — ANCHO AJUSTADO AL TEXTO
   ========================================================= */

.faq-grid {
  align-items: start !important;
}

.faq-grid details {
  width: fit-content !important;
  min-width: 0 !important;
  max-width: 100% !important;

  justify-self: start !important;
}

/* La pregunta cerrada queda prácticamente del ancho del texto */
.faq-grid details summary {
  width: fit-content !important;
  min-width: 0 !important;
  max-width: 100% !important;

  padding: 14px 18px !important;

  white-space: normal !important;
}

/* Cuando se abre, damos espacio suficiente a la respuesta */
.faq-grid details[open] {
  width: min(100%, 430px) !important;
}

/* La respuesta mantiene buena lectura */
.faq-grid details > p {
  max-width: 400px !important;

  padding-left: 18px !important;
  padding-right: 18px !important;
}

/* La columna derecha también empieza desde su borde,
   sin estirarse innecesariamente */
.faq-grid details:nth-child(even) {
  justify-self: start !important;
}

@media (max-width: 700px) {

  .faq-grid details,
  .faq-grid details[open] {
    width: 100% !important;
  }

  .faq-grid details summary {
    width: 100% !important;
  }

}


/* =========================================================
   E-FLY MENTOR — FAQ UNIFORME FINAL
   ========================================================= */

/* contenedor centrado */
.faq-premium-grid {
  width: min(100%, 980px) !important;
  margin: 44px auto 0 !important;

  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

  column-gap: 20px !important;
  row-gap: 0 !important;

  align-items: start !important;
}


/* cada columna exactamente del mismo ancho */
.faq-premium-grid .faq-column {
  width: 100% !important;
  min-width: 0 !important;

  display: flex !important;
  flex-direction: column !important;

  gap: 14px !important;
}


/* =========================================================
   TODAS LAS CAJAS MISMO ANCHO
   ========================================================= */

.faq-premium-grid details {
  box-sizing: border-box !important;

  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;

  border-radius: 15px !important;

  background: #FFFFFF !important;

  border:
    1px solid rgba(18, 60, 140, .12) !important;

  box-shadow:
    0 5px 14px rgba(7,30,85,.025),
    0 12px 28px rgba(7,30,85,.035) !important;

  overflow: hidden !important;

  align-self: stretch !important;
  justify-self: stretch !important;

  transition:
    transform 220ms ease,
    box-shadow 220ms ease,
    border-color 220ms ease !important;
}


/* =========================================================
   CERRADAS: TODAS MISMA ALTURA
   ========================================================= */

.faq-premium-grid details:not([open]) {
  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;
}


/* =========================================================
   PREGUNTA
   ========================================================= */

.faq-premium-grid details summary {
  box-sizing: border-box !important;

  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;

  height: 78px !important;
  min-height: 78px !important;

  padding:
    0 56px
    0 20px !important;

  display: flex !important;
  align-items: center !important;

  position: relative !important;

  cursor: pointer;

  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;

  color: #071E55 !important;

  list-style: none !important;
}


/* quitar flecha nativa */
.faq-premium-grid summary::-webkit-details-marker {
  display: none !important;
}

.faq-premium-grid summary::marker {
  content: "" !important;
}


/* =========================================================
   + / -
   ========================================================= */

.faq-premium-grid details summary::after {
  content: "+" !important;

  position: absolute !important;
  right: 18px !important;
  top: 50% !important;

  width: 28px !important;
  height: 28px !important;

  transform: translateY(-50%) !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 50% !important;

  background:
    rgba(18,60,140,.07) !important;

  color: #123C8C !important;

  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}


.faq-premium-grid details[open] summary::after {
  content: "−" !important;

  background: #123C8C !important;
  color: #FFFFFF !important;
}


/* =========================================================
   ABIERTA: SOLO ESA CAJA CRECE
   ========================================================= */

.faq-premium-grid details[open] {
  height: auto !important;
  min-height: 78px !important;
  max-height: none !important;

  border-color:
    rgba(18,60,140,.24) !important;

  box-shadow:
    0 7px 18px rgba(7,30,85,.04),
    0 18px 38px rgba(7,30,85,.055) !important;
}


/* respuesta */
.faq-premium-grid details > p {
  box-sizing: border-box !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;

  padding:
    0 56px
    22px 20px !important;

  font-size: 14px !important;
  line-height: 1.65 !important;

  color: #4B5563 !important;
}


/* separación sutil al abrir */
.faq-premium-grid details[open] summary::before {
  content: "" !important;

  position: absolute !important;

  left: 20px !important;
  right: 56px !important;
  bottom: 0 !important;

  height: 1px !important;

  background:
    rgba(18,60,140,.08) !important;
}


/* =========================================================
   HOVER SUAVE
   ========================================================= */

@media (hover:hover) and (pointer:fine) {

  .faq-premium-grid details:hover {
    transform: translateY(-2px) !important;

    border-color:
      rgba(18,60,140,.19) !important;

    box-shadow:
      0 7px 16px rgba(7,30,85,.035),
      0 17px 34px rgba(7,30,85,.05) !important;
  }

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

  .faq-premium-grid {
    width: min(100%, 760px) !important;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

  .faq-premium-grid {
    width: 100% !important;

    grid-template-columns: 1fr !important;

    margin-top: 32px !important;
  }


  .faq-premium-grid .faq-column {
    width: 100% !important;

    gap: 12px !important;
  }


  .faq-premium-grid details,
  .faq-premium-grid details:not([open]) {
    width: 100% !important;
    min-width: 100% !important;
  }


  .faq-premium-grid details:not([open]) {
    height: 72px !important;
    min-height: 72px !important;
    max-height: 72px !important;
  }


  .faq-premium-grid details summary {
    height: 72px !important;
    min-height: 72px !important;

    padding:
      0 52px
      0 17px !important;

    font-size: 14px !important;
  }


  .faq-premium-grid details > p {
    padding:
      0 52px
      19px 17px !important;
  }

}


/* =========================================================
   E-FLY MENTOR — FAQ CLEAN
   Una sola columna / sin tarjetas
   ========================================================= */

.faq-list-clean {
  width: min(100%, 900px);
  margin: 48px auto 0;

  border-top:
    1px solid rgba(18,60,140,.14);
}


/* =========================================================
   FILA
   ========================================================= */

.faq-list-clean details {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  margin: 0 !important;

  background: transparent !important;

  border: 0 !important;
  border-bottom:
    1px solid rgba(18,60,140,.14) !important;

  border-radius: 0 !important;

  box-shadow: none !important;

  overflow: visible !important;

  transform: none !important;

  transition:
    background-color 220ms ease !important;
}


/* =========================================================
   PREGUNTA
   ========================================================= */

.faq-list-clean summary {
  position: relative;

  width: 100% !important;

  min-height: 86px !important;

  padding:
    0 70px
    0 4px !important;

  display: flex !important;
  align-items: center !important;

  cursor: pointer;

  list-style: none !important;

  font-size: 18px !important;
  font-weight: 700 !important;

  line-height: 1.35 !important;

  letter-spacing: -.015em;

  color: #071E55 !important;
}


.faq-list-clean summary::-webkit-details-marker {
  display: none !important;
}

.faq-list-clean summary::marker {
  content: "" !important;
}


/* =========================================================
   BOTÓN + / -
   ========================================================= */

.faq-list-clean summary::after {
  content: "+";

  position: absolute;

  right: 4px;
  top: 50%;

  transform: translateY(-50%);

  width: 38px;
  height: 38px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background:
    rgba(18,60,140,.07);

  color: #123C8C;

  font-size: 25px;
  font-weight: 300;

  line-height: 1;

  transition:
    background-color 220ms ease,
    color 220ms ease,
    transform 220ms ease;
}


.faq-list-clean details[open] summary::after {
  content: "−";

  background: #123C8C;
  color: #FFFFFF;
}


/* =========================================================
   RESPUESTA
   ========================================================= */

.faq-list-clean details > p {
  width: auto !important;
  max-width: 760px !important;

  margin: 0 !important;

  padding:
    0 70px
    30px 4px !important;

  font-size: 16px !important;

  line-height: 1.7 !important;

  color: #4B5563 !important;

  animation:
    eflyFaqCleanOpen
    240ms
    ease-out;
}


@keyframes eflyFaqCleanOpen {

  from {
    opacity: 0;
    transform: translateY(-5px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }

}


/* =========================================================
   ABIERTA
   ========================================================= */

.faq-list-clean details[open] {
  background:
    rgba(255,255,255,.38) !important;
}


/* =========================================================
   HOVER
   ========================================================= */

@media (hover:hover) and (pointer:fine) {

  .faq-list-clean details:hover {
    background:
      rgba(255,255,255,.52) !important;
  }

  .faq-list-clean summary:hover::after {
    transform:
      translateY(-50%)
      scale(1.06);
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

  .faq-list-clean {
    width: 100%;

    margin-top: 32px;
  }

  .faq-list-clean summary {
    min-height: 74px !important;

    padding:
      0 56px
      0 0 !important;

    font-size: 16px !important;
  }

  .faq-list-clean summary::after {
    right: 0;

    width: 34px;
    height: 34px;

    font-size: 22px;
  }

  .faq-list-clean details > p {
    padding:
      0 52px
      24px 0 !important;

    font-size: 15px !important;
  }

}


/* =========================================================
   ACCESIBILIDAD
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .faq-list-clean details,
  .faq-list-clean summary::after,
  .faq-list-clean details > p {
    animation: none !important;
    transition: none !important;
  }

}




/* EFLY FAQ 4 COLUMNAS START */

/* =========================================================
   E-FLY MENTOR — FAQ 4 COLUMNAS
   ========================================================= */

.faq-list-clean {
  width: min(94%, 1380px) !important;
  margin: 48px auto 0 !important;

  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;

  gap: 18px !important;

  border-top: 0 !important;

  align-items: start !important;
}


/* =========================================================
   TARJETAS
   ========================================================= */

.faq-list-clean details {
  box-sizing: border-box !important;

  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;

  margin: 0 !important;

  background: #FFFFFF !important;

  border:
    1px solid rgba(18,60,140,.12) !important;

  border-radius: 17px !important;

  box-shadow:
    0 7px 20px rgba(7,30,85,.035) !important;

  overflow: hidden !important;

  transform: none !important;

  transition:
    transform 220ms ease,
    box-shadow 220ms ease,
    border-color 220ms ease !important;
}


/* =========================================================
   PREGUNTA
   ========================================================= */

.faq-list-clean details summary {
  box-sizing: border-box !important;

  position: relative !important;

  width: 100% !important;

  min-height: 105px !important;

  padding:
    22px 56px
    22px 20px !important;

  display: flex !important;
  align-items: center !important;

  cursor: pointer;

  list-style: none !important;

  font-size: 15px !important;
  font-weight: 700 !important;

  line-height: 1.35 !important;

  color: #071E55 !important;
}


.faq-list-clean summary::-webkit-details-marker {
  display: none !important;
}

.faq-list-clean summary::marker {
  content: "" !important;
}


/* =========================================================
   BOTÓN + / -
   ========================================================= */

.faq-list-clean summary::after {
  content: "+" !important;

  position: absolute !important;

  right: 17px !important;
  top: 50% !important;

  transform:
    translateY(-50%) !important;

  width: 32px !important;
  height: 32px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 50% !important;

  background:
    rgba(18,60,140,.07) !important;

  color: #123C8C !important;

  font-size: 21px !important;
  font-weight: 400 !important;

  line-height: 1 !important;

  transition:
    background-color 220ms ease,
    color 220ms ease,
    transform 220ms ease !important;
}


.faq-list-clean details[open] summary::after {
  content: "−" !important;

  background: #123C8C !important;

  color: #FFFFFF !important;
}


/* =========================================================
   RESPUESTA
   ========================================================= */

.faq-list-clean details > p {
  box-sizing: border-box !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;

  padding:
    0 20px
    22px 20px !important;

  font-size: 14px !important;

  line-height: 1.65 !important;

  color: #4B5563 !important;

  animation:
    eflyFaq4Open
    220ms
    ease-out;
}


@keyframes eflyFaq4Open {

  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }

}


/* =========================================================
   ABIERTA
   ========================================================= */

.faq-list-clean details[open] {
  border-color:
    rgba(18,60,140,.24) !important;

  box-shadow:
    0 12px 32px rgba(7,30,85,.07) !important;
}


/* =========================================================
   HOVER ELEGANTE
   ========================================================= */

@media (hover:hover) and (pointer:fine) {

  .faq-list-clean details:hover {
    transform:
      translateY(-3px) !important;

    border-color:
      rgba(18,60,140,.20) !important;

    box-shadow:
      0 14px 34px rgba(7,30,85,.07) !important;
  }


  .faq-list-clean summary:hover::after {
    transform:
      translateY(-50%)
      scale(1.05) !important;
  }

}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1200px) {

  .faq-list-clean {
    grid-template-columns:
      repeat(3, minmax(0,1fr)) !important;
  }

}


@media (max-width: 900px) {

  .faq-list-clean {
    grid-template-columns:
      repeat(2, minmax(0,1fr)) !important;
  }

}


@media (max-width: 640px) {

  .faq-list-clean {
    width: 100% !important;

    grid-template-columns:
      1fr !important;

    gap: 14px !important;

    margin-top: 32px !important;
  }


  .faq-list-clean details summary {
    min-height: 78px !important;

    padding:
      18px 54px
      18px 18px !important;

    font-size: 16px !important;
  }


  .faq-list-clean summary::after {
    right: 14px !important;

    width: 34px !important;
    height: 34px !important;
  }


  .faq-list-clean details > p {
    padding:
      0 18px
      20px 18px !important;

    font-size: 14px !important;
  }

}


/* =========================================================
   ACCESIBILIDAD
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .faq-list-clean details,
  .faq-list-clean summary::after,
  .faq-list-clean details > p {
    animation: none !important;
    transition: none !important;
  }

}

/* EFLY FAQ 4 COLUMNAS END */



/* =========================================================
   E-FLY MENTOR SCHOOLS — MINI FAQ
   ========================================================= */

.schools-faq-block {
  width: 100%;
  margin-top: 54px;
  padding-top: 38px;

  border-top:
    1px solid rgba(18,60,140,.12);
}


.schools-faq-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;

  gap: 30px;

  margin-bottom: 24px;
}


.schools-faq-heading span {
  font-size: 10px;
  font-weight: 800;

  letter-spacing: .14em;

  color: #123C8C;
}


.schools-faq-heading h3 {
  max-width: 520px;

  margin: 0;

  font-size: 27px;
  line-height: 1.1;

  letter-spacing: -.025em;

  color: #071E55;
}


/* =========================================================
   DOS PREGUNTAS
   ========================================================= */

.schools-faq-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0,1fr));

  gap: 18px;

  align-items: start;
}


.schools-faq-grid details {
  width: 100%;

  margin: 0;

  border:
    1px solid rgba(18,60,140,.12);

  border-radius: 16px;

  background: #FFFFFF;

  box-shadow:
    0 7px 22px rgba(7,30,85,.04);

  overflow: hidden;

  transition:
    transform 220ms ease,
    box-shadow 220ms ease,
    border-color 220ms ease;
}


.schools-faq-grid summary {
  position: relative;

  min-height: 76px;

  padding:
    18px 58px
    18px 20px;

  display: flex;
  align-items: center;

  list-style: none;

  cursor: pointer;

  font-size: 15px;
  font-weight: 700;

  line-height: 1.35;

  color: #071E55;
}


.schools-faq-grid summary::-webkit-details-marker {
  display: none;
}


.schools-faq-grid summary::marker {
  content: "";
}


/* =========================================================
   + / -
   ========================================================= */

.schools-faq-grid summary::after {
  content: "+";

  position: absolute;

  right: 17px;
  top: 50%;

  transform:
    translateY(-50%);

  width: 32px;
  height: 32px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background:
    rgba(18,60,140,.07);

  color: #123C8C;

  font-size: 21px;
  font-weight: 400;
}


.schools-faq-grid details[open] summary::after {
  content: "−";

  background: #123C8C;

  color: #FFFFFF;
}


/* =========================================================
   RESPUESTA
   ========================================================= */

.schools-faq-grid details > p {
  margin: 0;

  padding:
    0 20px
    22px 20px;

  font-size: 14px;
  line-height: 1.65;

  color: #4B5563;

  animation:
    eflySchoolsFaqOpen
    220ms
    ease-out;
}


@keyframes eflySchoolsFaqOpen {

  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }

}


/* =========================================================
   HOVER
   ========================================================= */

@media (hover:hover) and (pointer:fine) {

  .schools-faq-grid details:hover {
    transform:
      translateY(-2px);

    border-color:
      rgba(18,60,140,.20);

    box-shadow:
      0 12px 30px rgba(7,30,85,.07);
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

  .schools-faq-heading {
    display: block;
  }


  .schools-faq-heading h3 {
    margin-top: 8px;

    font-size: 24px;
  }


  .schools-faq-grid {
    grid-template-columns: 1fr;
  }

}


/* =========================================================
   E-FLY MENTOR SCHOOLS — FAQ FINAL
   ========================================================= */

.schools-inline-faq {
  width: 100%;
  margin-top: 54px;
  padding-top: 38px;

  border-top:
    1px solid rgba(18,60,140,.12);
}

.schools-inline-faq-title {
  margin-bottom: 22px;
}

.schools-inline-faq-title span {
  display: block;

  margin-bottom: 8px;

  font-size: 10px;
  font-weight: 800;

  letter-spacing: .13em;

  color: #123C8C;
}

.schools-inline-faq-title h3 {
  margin: 0;

  font-size: 27px;
  line-height: 1.1;

  letter-spacing: -.025em;

  color: #071E55;
}


/* DOS PREGUNTAS */

.schools-inline-faq-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0,1fr));

  gap: 18px;

  align-items: start;
}


.schools-inline-faq-grid details {
  width: 100%;

  margin: 0;

  background: #FFFFFF;

  border:
    1px solid rgba(18,60,140,.12);

  border-radius: 16px;

  box-shadow:
    0 8px 24px rgba(7,30,85,.045);

  overflow: hidden;
}


.schools-inline-faq-grid summary {
  position: relative;

  min-height: 76px;

  padding:
    18px 58px
    18px 20px;

  display: flex;
  align-items: center;

  cursor: pointer;

  list-style: none;

  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;

  color: #071E55;
}


.schools-inline-faq-grid summary::-webkit-details-marker {
  display: none;
}

.schools-inline-faq-grid summary::marker {
  content: "";
}


.schools-inline-faq-grid summary::after {
  content: "+";

  position: absolute;

  right: 17px;
  top: 50%;

  transform: translateY(-50%);

  width: 32px;
  height: 32px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background:
    rgba(18,60,140,.07);

  color: #123C8C;

  font-size: 21px;
}


.schools-inline-faq-grid details[open] summary::after {
  content: "−";

  background: #123C8C;

  color: #FFFFFF;
}


.schools-inline-faq-grid details > p {
  margin: 0;

  padding:
    0 20px
    22px;

  font-size: 14px;
  line-height: 1.65;

  color: #4B5563;
}


@media (hover:hover) and (pointer:fine) {

  .schools-inline-faq-grid details {
    transition:
      transform 220ms ease,
      box-shadow 220ms ease,
      border-color 220ms ease;
  }

  .schools-inline-faq-grid details:hover {
    transform: translateY(-2px);

    border-color:
      rgba(18,60,140,.20);

    box-shadow:
      0 13px 32px rgba(7,30,85,.07);
  }

}


@media (max-width:700px) {

  .schools-inline-faq-grid {
    grid-template-columns: 1fr;
  }

}


/* =========================================================
   E-FLY MENTOR — FAQ MOVIDO A SCHOOLS
   ========================================================= */

.schools-moved-faq {
  width: 100%;
  margin-top: 48px;
  padding-top: 32px;

  border-top:
    1px solid rgba(18,60,140,.12);
}

.schools-moved-faq-label {
  margin: 0 0 18px !important;

  font-size: 10px !important;
  font-weight: 800 !important;

  letter-spacing: .13em !important;

  color: #123C8C !important;
}

.schools-moved-faq-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0,1fr));

  gap: 18px;

  align-items: start;
}

.schools-moved-faq-grid details {
  width: 100%;

  margin: 0;

  background: #FFFFFF;

  border:
    1px solid rgba(18,60,140,.12);

  border-radius: 16px;

  box-shadow:
    0 7px 22px rgba(7,30,85,.04);

  overflow: hidden;
}

.schools-moved-faq-grid summary {
  position: relative;

  min-height: 76px;

  padding:
    18px 58px
    18px 20px;

  display: flex;
  align-items: center;

  cursor: pointer;

  list-style: none;

  font-size: 15px;
  font-weight: 700;

  line-height: 1.35;

  color: #071E55;
}

.schools-moved-faq-grid summary::-webkit-details-marker {
  display: none;
}

.schools-moved-faq-grid summary::marker {
  content: "";
}

.schools-moved-faq-grid summary::after {
  content: "+";

  position: absolute;

  right: 17px;
  top: 50%;

  transform: translateY(-50%);

  width: 32px;
  height: 32px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background:
    rgba(18,60,140,.07);

  color: #123C8C;

  font-size: 21px;
}

.schools-moved-faq-grid details[open] summary::after {
  content: "−";

  background: #123C8C;

  color: #FFFFFF;
}

.schools-moved-faq-grid details > p {
  margin: 0;

  padding:
    0 20px
    22px;

  font-size: 14px;
  line-height: 1.65;

  color: #4B5563;
}

@media (hover:hover) and (pointer:fine) {

  .schools-moved-faq-grid details {
    transition:
      transform 220ms ease,
      border-color 220ms ease,
      box-shadow 220ms ease;
  }

  .schools-moved-faq-grid details:hover {
    transform: translateY(-2px);

    border-color:
      rgba(18,60,140,.20);

    box-shadow:
      0 12px 30px rgba(7,30,85,.07);
  }

}

@media (max-width:700px) {

  .schools-moved-faq-grid {
    grid-template-columns: 1fr;
  }

}


/* =========================================================
   E-FLY MENTOR — FAQ EXCLUSIVO DE ESCUELAS
   ========================================================= */

.schools-faq-final {
  width: 100%;

  margin-top: 46px;

  padding-top: 30px;

  border-top:
    1px solid rgba(18,60,140,.12);
}


.schools-faq-final-header {
  margin-bottom: 18px;
}


.schools-faq-final-header span {
  font-size: 10px;
  font-weight: 800;

  letter-spacing: .13em;

  color: #123C8C;
}


.schools-faq-final-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0,1fr));

  gap: 18px;

  align-items: start;
}


.schools-faq-final-grid details {
  width: 100%;

  margin: 0;

  background: #FFFFFF;

  border:
    1px solid rgba(18,60,140,.12);

  border-radius: 17px;

  box-shadow:
    0 8px 24px rgba(7,30,85,.045);

  overflow: hidden;
}


.schools-faq-final-grid summary {
  position: relative;

  min-height: 82px;

  padding:
    20px 58px
    20px 20px;

  display: flex;

  align-items: center;

  cursor: pointer;

  list-style: none;

  font-size: 15px;
  font-weight: 700;

  line-height: 1.35;

  color: #071E55;
}


.schools-faq-final-grid summary::-webkit-details-marker {
  display: none;
}


.schools-faq-final-grid summary::marker {
  content: "";
}


.schools-faq-final-grid summary::after {
  content: "+";

  position: absolute;

  right: 17px;
  top: 50%;

  transform:
    translateY(-50%);

  width: 32px;
  height: 32px;

  display: flex;

  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background:
    rgba(18,60,140,.07);

  color: #123C8C;

  font-size: 21px;
}


.schools-faq-final-grid details[open] summary::after {
  content: "−";

  background: #123C8C;

  color: #FFFFFF;
}


.schools-faq-final-grid details > p {
  margin: 0;

  padding:
    0 20px
    22px;

  font-size: 14px;

  line-height: 1.65;

  color: #4B5563;
}


@media (hover:hover) and (pointer:fine) {

  .schools-faq-final-grid details {
    transition:
      transform 220ms ease,
      border-color 220ms ease,
      box-shadow 220ms ease;
  }


  .schools-faq-final-grid details:hover {
    transform:
      translateY(-2px);

    border-color:
      rgba(18,60,140,.20);

    box-shadow:
      0 13px 32px rgba(7,30,85,.07);
  }

}


@media (max-width:700px) {

  .schools-faq-final-grid {
    grid-template-columns: 1fr;
  }

}


/* =========================================================
   E-FLY SCHOOLS FAQ — REACOMODO FINAL
   ========================================================= */

.schools-faq-final {
  width: min(100% - 48px, 1015px) !important;

  margin:
    38px auto
    72px !important;

  padding:
    26px 0
    0 !important;

  border-top:
    1px solid rgba(18,60,140,.11) !important;

  background: transparent !important;
}


/* Título pequeño, alineado con el contenido */

.schools-faq-final-header {
  margin:
    0 0
    18px !important;
}

.schools-faq-final-header span {
  display: block !important;

  font-size: 10px !important;
  font-weight: 800 !important;

  letter-spacing: .14em !important;

  color: #123C8C !important;
}


/* =========================================================
   DOS PREGUNTAS COMPACTAS
   ========================================================= */

.schools-faq-final-grid {
  display: grid !important;

  grid-template-columns:
    repeat(2, minmax(0,1fr)) !important;

  gap: 16px !important;

  align-items: start !important;
}


.schools-faq-final-grid details {
  width: 100% !important;

  margin: 0 !important;

  background: #FFFFFF !important;

  border:
    1px solid rgba(18,60,140,.11) !important;

  border-radius: 15px !important;

  box-shadow:
    0 7px 22px rgba(7,30,85,.035) !important;

  overflow: hidden !important;

  transition:
    transform 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease !important;
}


/* Pregunta más baja y elegante */

.schools-faq-final-grid summary {
  position: relative !important;

  min-height: 68px !important;

  padding:
    16px 54px
    16px 18px !important;

  display: flex !important;

  align-items: center !important;

  cursor: pointer !important;

  list-style: none !important;

  font-size: 14px !important;
  font-weight: 700 !important;

  line-height: 1.35 !important;

  color: #071E55 !important;
}


.schools-faq-final-grid summary::-webkit-details-marker {
  display: none !important;
}

.schools-faq-final-grid summary::marker {
  content: "" !important;
}


/* + / - */

.schools-faq-final-grid summary::after {
  content: "+" !important;

  position: absolute !important;

  right: 15px !important;
  top: 50% !important;

  transform:
    translateY(-50%) !important;

  width: 30px !important;
  height: 30px !important;

  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  border-radius: 50% !important;

  background:
    rgba(18,60,140,.07) !important;

  color: #123C8C !important;

  font-size: 20px !important;

  line-height: 1 !important;
}


.schools-faq-final-grid details[open] summary::after {
  content: "−" !important;

  background: #123C8C !important;

  color: #FFFFFF !important;
}


/* Respuesta */

.schools-faq-final-grid details > p {
  margin: 0 !important;

  padding:
    0 18px
    20px !important;

  font-size: 14px !important;

  line-height: 1.6 !important;

  color: #4B5563 !important;
}


/* =========================================================
   HOVER MUY SUTIL
   ========================================================= */

@media (hover:hover) and (pointer:fine) {

  .schools-faq-final-grid details:hover {
    transform:
      translateY(-2px) !important;

    border-color:
      rgba(18,60,140,.18) !important;

    box-shadow:
      0 11px 28px rgba(7,30,85,.055) !important;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:700px) {

  .schools-faq-final {
    width: calc(100% - 32px) !important;

    margin:
      30px auto
      52px !important;
  }

  .schools-faq-final-grid {
    grid-template-columns:
      1fr !important;

    gap: 12px !important;
  }

}


/* =========================================================
   FIN
   ========================================================= */




/* EFLY FOOTER BRAND ALIGN START */

/* =========================================================
   ALINEAR LOGO + TAGLINE + REDES CON LAS DEMÁS COLUMNAS
   ========================================================= */

/* columna izquierda */
.site-footer .footer-grid > :first-child,
.site-footer .footer-main > :first-child,
.site-footer .footer-brand,
footer .footer-grid > :first-child,
footer .footer-main > :first-child,
footer .footer-brand {
  align-self: flex-start !important;

  transform:
    translateY(-38px) !important;
}


/* asegurar que no exista margen superior empujándolo hacia abajo */

.site-footer .footer-brand,
footer .footer-brand {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* logo */
.site-footer .footer-brand img,
footer .footer-brand img {
  margin-top: 0 !important;
}


/* tagline */
.site-footer .footer-brand p,
footer .footer-brand p {
  margin-top: 12px !important;
}


/* redes */
.site-footer .footer-social,
.site-footer .social-links,
footer .footer-social,
footer .social-links {
  margin-top: 14px !important;
}


/* =========================================================
   MOBILE — NO SUBIR DEMASIADO
   ========================================================= */

@media (max-width: 700px) {

  .site-footer .footer-grid > :first-child,
  .site-footer .footer-main > :first-child,
  .site-footer .footer-brand,
  footer .footer-grid > :first-child,
  footer .footer-main > :first-child,
  footer .footer-brand {
    transform:
      translateY(0) !important;
  }

}

/* EFLY FOOTER BRAND ALIGN END */



/* EFLY FOOTER BRAND REAL ALIGN START */

/* La clase se asigna por JS al contenedor REAL
   que contiene logo + tagline + redes */

.efly-footer-brand-real {
  position: relative !important;
  top: -42px !important;
  align-self: flex-start !important;
}

/* mantener todo el bloque unido */
.efly-footer-brand-real img {
  margin-top: 0 !important;
}

.efly-footer-brand-real p {
  margin-top: 10px !important;
}

@media (max-width: 800px) {
  .efly-footer-brand-real {
    top: 0 !important;
  }
}

/* EFLY FOOTER BRAND REAL ALIGN END */



/* EFLY FAQ OVERLAY OPEN START */

/* =========================================================
   IMPORTANTE:
   AL ABRIR UNA RESPUESTA NO CAMBIA LA ALTURA DE LA SECCIÓN
   ========================================================= */

.faq-list-clean,
.schools-faq-final-grid {
  overflow: visible !important;
}


/* =========================================================
   FAQ GENERAL
   ========================================================= */

.faq-list-clean details {
  position: relative !important;

  height: 105px !important;
  min-height: 105px !important;
  max-height: 105px !important;

  overflow: visible !important;

  z-index: 1;
}

.faq-list-clean details[open] {
  height: 105px !important;
  min-height: 105px !important;
  max-height: 105px !important;

  z-index: 100 !important;
}


/* La respuesta flota debajo de la pregunta
   y NO empuja el fondo gris */

.faq-list-clean details > p {
  position: absolute !important;

  left: -1px !important;
  right: -1px !important;
  top: calc(100% - 13px) !important;

  width: auto !important;
  max-width: none !important;

  margin: 0 !important;

  padding:
    24px 20px
    22px !important;

  background: #FFFFFF !important;

  border:
    1px solid rgba(18,60,140,.18) !important;

  border-top: 0 !important;

  border-radius:
    0 0
    17px 17px !important;

  box-shadow:
    0 18px 40px rgba(7,30,85,.13) !important;

  color: #4B5563 !important;

  z-index: 150 !important;
}


/* cuando está abierto, la parte superior parece una sola tarjeta */

.faq-list-clean details[open] {
  border-radius:
    17px 17px
    0 0 !important;

  border-bottom-color:
    transparent !important;

  box-shadow:
    0 8px 20px rgba(7,30,85,.08) !important;
}


/* =========================================================
   FAQ DE ESCUELAS
   ========================================================= */

.schools-faq-final-grid details {
  position: relative !important;

  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;

  overflow: visible !important;

  z-index: 1;
}

.schools-faq-final-grid details[open] {
  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;

  z-index: 100 !important;

  border-radius:
    15px 15px
    0 0 !important;

  border-bottom-color:
    transparent !important;
}


/* respuesta flotante */

.schools-faq-final-grid details > p {
  position: absolute !important;

  left: -1px !important;
  right: -1px !important;
  top: calc(100% - 10px) !important;

  width: auto !important;

  margin: 0 !important;

  padding:
    22px 18px
    20px !important;

  background: #FFFFFF !important;

  border:
    1px solid rgba(18,60,140,.18) !important;

  border-top: 0 !important;

  border-radius:
    0 0
    15px 15px !important;

  box-shadow:
    0 18px 38px rgba(7,30,85,.13) !important;

  z-index: 150 !important;
}


/* =========================================================
   EVITAR QUE CUALQUIER CONTENEDOR CORTE LA RESPUESTA
   ========================================================= */

.faq-list-clean,
.faq-list-clean *,
.schools-faq-final,
.schools-faq-final-grid {
  overflow: visible;
}


/* =========================================================
   MÓVIL
   En móvil sí permitimos crecimiento normal para evitar
   que una respuesta tape demasiado contenido.
   ========================================================= */

@media (max-width:700px) {

  .faq-list-clean details,
  .faq-list-clean details[open],
  .schools-faq-final-grid details,
  .schools-faq-final-grid details[open] {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    overflow: hidden !important;

    border-radius: 15px !important;
  }

  .faq-list-clean details > p,
  .schools-faq-final-grid details > p {
    position: static !important;

    width: auto !important;

    border: 0 !important;

    box-shadow: none !important;

    border-radius: 0 !important;
  }

}

/* EFLY FAQ OVERLAY OPEN END */


/* =========================================================
   E-FLY — NOTA DE PAGO EN PRECIOS
   ========================================================= */

.pricing-payment-note {
  margin-top: 22px !important;

  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;

  color: #667085 !important;

  text-align: center !important;

  letter-spacing: 0 !important;
}

@media (max-width: 700px) {
  .pricing-payment-note {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }
}



/* EFLY PREMIUM MOBILE LAST CSS START */

/* Desktop permanece exactamente igual */

@media (max-width: 640px) {

  .efly-premium-card-mobile-last {
    order: 99 !important;
  }

}

/* EFLY PREMIUM MOBILE LAST CSS END */




/* EFLY MOBILE ELEVENLABS FORM CSS START */

/* =========================================================
   SOLO MOBILE
   ========================================================= */

@media (max-width: 700px) {


  /* =======================================================
     ELEVENLABS — MÁS GRANDE Y MÁS VERTICAL
     ======================================================= */

  .efly-elevenlabs-mobile-large,
  elevenlabs-convai.efly-elevenlabs-mobile-large,
  elevenlabs-convai-widget.efly-elevenlabs-mobile-large {

    width:
      min(94vw, 430px) !important;

    min-width:
      min(94vw, 430px) !important;

    max-width:
      94vw !important;

    height:
      min(76dvh, 720px) !important;

    min-height:
      560px !important;

    max-height:
      78dvh !important;

    z-index:
      999999 !important;

  }


  iframe.efly-elevenlabs-mobile-large,
  iframe[src*="elevenlabs"] {

    width:
      min(94vw, 430px) !important;

    max-width:
      94vw !important;

    height:
      min(76dvh, 720px) !important;

    min-height:
      560px !important;

    max-height:
      78dvh !important;

  }


  /* =======================================================
     FORMULARIO DE ESCUELAS — TEXTOS MÁS GRANDES
     ======================================================= */

  .efly-school-contact-form-mobile {

    width: 100% !important;

  }


  /* LABELS */

  .efly-school-contact-form-mobile label {

    font-size:
      15px !important;

    font-weight:
      650 !important;

    line-height:
      1.35 !important;

    color:
      #071E55 !important;

    margin-bottom:
      7px !important;

  }


  /* INPUT / SELECT / TEXTAREA */

  .efly-school-contact-form-mobile input,
  .efly-school-contact-form-mobile select,
  .efly-school-contact-form-mobile textarea {

    width:
      100% !important;

    min-height:
      52px !important;

    padding:
      14px 15px !important;

    font-size:
      16px !important;

    line-height:
      1.45 !important;

    color:
      #071E55 !important;

  }


  /* PLACEHOLDERS */

  .efly-school-contact-form-mobile input::placeholder,
  .efly-school-contact-form-mobile textarea::placeholder {

    font-size:
      16px !important;

    color:
      #7A8495 !important;

    opacity:
      1 !important;

  }


  /* SELECT */

  .efly-school-contact-form-mobile select {

    font-size:
      16px !important;

  }


  .efly-school-contact-form-mobile option {

    font-size:
      16px !important;

  }


  /* TEXTAREA */

  .efly-school-contact-form-mobile textarea {

    min-height:
      130px !important;

  }


  /* BOTÓN */

  .efly-school-contact-form-mobile button,
  .efly-school-contact-form-mobile .button,
  .efly-school-contact-form-mobile input[type="submit"] {

    min-height:
      54px !important;

    padding:
      14px 18px !important;

    font-size:
      16px !important;

    font-weight:
      750 !important;

    line-height:
      1.25 !important;

  }


  /* ESPACIO ENTRE CAMPOS */

  .efly-school-contact-form-mobile > div,
  .efly-school-contact-form-mobile .form-group,
  .efly-school-contact-form-mobile .field {

    margin-bottom:
      16px !important;

  }


}


/* =========================================================
   MOBILE PEQUEÑO
   ========================================================= */

@media (max-width: 420px) {

  .efly-elevenlabs-mobile-large,
  elevenlabs-convai.efly-elevenlabs-mobile-large,
  elevenlabs-convai-widget.efly-elevenlabs-mobile-large,
  iframe.efly-elevenlabs-mobile-large,
  iframe[src*="elevenlabs"] {

    width:
      96vw !important;

    max-width:
      96vw !important;

    height:
      78dvh !important;

    min-height:
      540px !important;

  }


  .efly-school-contact-form-mobile label {

    font-size:
      15px !important;

  }


  .efly-school-contact-form-mobile input,
  .efly-school-contact-form-mobile select,
  .efly-school-contact-form-mobile textarea {

    font-size:
      16px !important;

  }

}

/* EFLY MOBILE ELEVENLABS FORM CSS END */












/* EFLY AI TECHNOLOGY CSS START */


/* =========================================================
   SECCIÓN
   ========================================================= */

.efly-ai-tech-section {

  position: relative;

  overflow: hidden;

  padding:
    108px 24px 92px;

  background:
    radial-gradient(
      circle at 84% 15%,
      rgba(18,60,140,.72) 0,
      rgba(18,60,140,0) 38%
    ),
    linear-gradient(
      135deg,
      #071E55 0%,
      #09265F 48%,
      #071E55 100%
    );

  color: #FFFFFF;

}


.efly-ai-tech-section::before {

  content: "";

  position: absolute;

  width: 560px;
  height: 560px;

  top: -330px;
  right: -180px;

  border:
    1px solid rgba(255,255,255,.07);

  border-radius: 50%;

}


.efly-ai-tech-section::after {

  content: "";

  position: absolute;

  width: 380px;
  height: 380px;

  bottom: -260px;
  left: -160px;

  border:
    1px solid rgba(255,210,31,.09);

  border-radius: 50%;

}


.efly-ai-tech-shell {

  position: relative;
  z-index: 2;

  width:
    min(100%, 1220px);

  margin:
    0 auto;

  display:
    grid;

  grid-template-columns:
    minmax(0, .96fr)
    minmax(430px, .84fr);

  gap:
    86px;

  align-items:
    center;

}


/* =========================================================
   IZQUIERDA
   ========================================================= */

.efly-ai-tech-copy {

  min-width: 0;

}


.efly-ai-tech-eyebrow {

  display:
    inline-flex;

  align-items:
    center;

  min-height:
    30px;

  padding:
    7px 13px;

  margin-bottom:
    22px;

  border:
    1px solid rgba(255,210,31,.32);

  border-radius:
    999px;

  background:
    rgba(255,210,31,.08);

  color:
    #FFD21F;

  font-size:
    11px;

  font-weight:
    800;

  letter-spacing:
    .11em;

}


.efly-ai-tech-copy h2 {

  max-width:
    690px;

  margin:
    0 0 24px;

  color:
    #FFFFFF;

  font-size:
    clamp(42px, 4.2vw, 64px);

  font-weight:
    800;

  line-height:
    1.02;

  letter-spacing:
    -.045em;

}


.efly-ai-tech-copy h2 span {

  color:
    #FFD21F;

}


.efly-ai-tech-lead {

  max-width:
    670px;

  margin:
    0 0 15px;

  color:
    rgba(255,255,255,.92);

  font-size:
    18px;

  line-height:
    1.65;

  font-weight:
    500;

}


.efly-ai-tech-description {

  max-width:
    670px;

  margin:
    0 0 38px;

  color:
    rgba(255,255,255,.68);

  font-size:
    16px;

  line-height:
    1.7;

}


.efly-ai-tech-points {

  display:
    grid;

  gap:
    22px;

}


.efly-ai-tech-point {

  display:
    grid;

  grid-template-columns:
    42px 1fr;

  gap:
    15px;

  align-items:
    start;

}


.efly-ai-tech-number {

  width:
    38px;

  height:
    38px;

  display:
    flex;

  align-items:
    center;

  justify-content:
    center;

  border:
    1px solid rgba(255,255,255,.13);

  border-radius:
    10px;

  background:
    rgba(255,255,255,.06);

  color:
    #FFD21F;

  font-size:
    11px;

  font-weight:
    800;

  letter-spacing:
    .06em;

}


.efly-ai-tech-point h3 {

  margin:
    1px 0 5px;

  color:
    #FFFFFF;

  font-size:
    16px;

  line-height:
    1.25;

  font-weight:
    750;

}


.efly-ai-tech-point p {

  margin:
    0;

  color:
    rgba(255,255,255,.63);

  font-size:
    14px;

  line-height:
    1.6;

}


/* =========================================================
   VISUAL IA
   ========================================================= */

.efly-ai-tech-visual {

  position:
    relative;

  width:
    100%;

  max-width:
    510px;

  margin:
    0 auto;

  padding:
    25px;

  border:
    1px solid rgba(255,255,255,.15);

  border-radius:
    25px;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.12),
      rgba(255,255,255,.055)
    );

  box-shadow:
    0 36px 75px
    rgba(0,0,0,.27);

  backdrop-filter:
    blur(16px);

  -webkit-backdrop-filter:
    blur(16px);

}


.efly-ai-tech-visual-header {

  display:
    flex;

  justify-content:
    space-between;

  gap:
    20px;

  align-items:
    center;

  padding-bottom:
    20px;

  margin-bottom:
    22px;

  border-bottom:
    1px solid rgba(255,255,255,.10);

}


.efly-ai-tech-visual-header > div:first-child {

  display:
    flex;

  flex-direction:
    column;

  gap:
    3px;

}


.efly-ai-tech-visual-header span {

  color:
    rgba(255,255,255,.46);

  font-size:
    9px;

  font-weight:
    800;

  letter-spacing:
    .1em;

}


.efly-ai-tech-visual-header strong {

  color:
    #FFFFFF;

  font-size:
    16px;

}


.efly-ai-tech-status {

  flex:
    0 0 auto;

  padding:
    7px 10px;

  border-radius:
    999px;

  background:
    rgba(255,210,31,.12);

  color:
    #FFD21F;

  font-size:
    9px;

  font-weight:
    800;

  letter-spacing:
    .08em;

}


.efly-ai-tech-score-row {

  display:
    flex;

  justify-content:
    space-between;

  align-items:
    end;

  gap:
    20px;

}


.efly-ai-tech-score-row > div:first-child {

  display:
    flex;

  flex-direction:
    column;

}


.efly-ai-tech-score-row small {

  color:
    rgba(255,255,255,.52);

  font-size:
    11px;

}


.efly-ai-tech-score-row strong {

  margin-top:
    3px;

  color:
    #FFFFFF;

  font-size:
    38px;

  line-height:
    1;

  letter-spacing:
    -.04em;

}


.efly-ai-tech-topic {

  padding:
    8px 11px;

  border-radius:
    9px;

  background:
    rgba(255,255,255,.08);

  color:
    rgba(255,255,255,.82);

  font-size:
    12px;

  font-weight:
    650;

}


.efly-ai-tech-progress {

  height:
    7px;

  margin:
    15px 0 23px;

  overflow:
    hidden;

  border-radius:
    999px;

  background:
    rgba(255,255,255,.09);

}


.efly-ai-tech-progress span {

  display:
    block;

  height:
    100%;

  border-radius:
    inherit;

  background:
    #FFD21F;

}


.efly-ai-tech-analysis-label {

  margin-bottom:
    8px;

  color:
    rgba(255,255,255,.42);

  font-size:
    9px;

  font-weight:
    800;

  letter-spacing:
    .12em;

}


.efly-ai-tech-analysis-card {

  padding:
    17px 18px;

  border:
    1px solid rgba(255,255,255,.10);

  border-radius:
    15px;

  background:
    rgba(7,30,85,.55);

}


.efly-ai-tech-analysis-card small {

  display:
    block;

  margin-bottom:
    4px;

  color:
    rgba(255,255,255,.48);

  font-size:
    10px;

}


.efly-ai-tech-analysis-card strong {

  display:
    block;

  margin-bottom:
    7px;

  color:
    #FFFFFF;

  font-size:
    16px;

}


.efly-ai-tech-analysis-card p {

  margin:
    0;

  color:
    rgba(255,255,255,.60);

  font-size:
    12px;

  line-height:
    1.5;

}


.efly-ai-tech-arrow {

  padding:
    8px 0;

  text-align:
    center;

  color:
    #FFD21F;

  font-size:
    20px;

  line-height:
    1;

}


.efly-ai-tech-action {

  padding:
    18px;

  border-radius:
    15px;

  background:
    #FFFFFF;

  color:
    #071E55;

  box-shadow:
    0 16px 36px
    rgba(0,0,0,.13);

}


.efly-ai-tech-action > small {

  display:
    block;

  margin-bottom:
    6px;

  color:
    #6B7280;

  font-size:
    9px;

  font-weight:
    800;

  letter-spacing:
    .08em;

}


.efly-ai-tech-action > strong {

  display:
    block;

  margin-bottom:
    12px;

  color:
    #123C8C;

  font-size:
    18px;

}


.efly-ai-tech-action-meta {

  display:
    flex;

  justify-content:
    space-between;

  gap:
    12px;

  padding-top:
    11px;

  border-top:
    1px solid #E8ECF4;

  color:
    #667085;

  font-size:
    11px;

  font-weight:
    600;

}


.efly-ai-tech-after {

  display:
    flex;

  justify-content:
    space-between;

  align-items:
    center;

  gap:
    20px;

  margin-top:
    16px;

  padding:
    14px 16px;

  border:
    1px solid rgba(255,255,255,.09);

  border-radius:
    13px;

  background:
    rgba(255,255,255,.05);

}


.efly-ai-tech-after > div:first-child {

  display:
    flex;

  flex-direction:
    column;

}


.efly-ai-tech-after small {

  color:
    rgba(255,255,255,.46);

  font-size:
    10px;

}


.efly-ai-tech-after strong {

  margin-top:
    2px;

  color:
    #FFFFFF;

  font-size:
    20px;

}


.efly-ai-tech-after-change {

  color:
    #FFD21F;

  font-size:
    16px;

  font-weight:
    800;

}


/* =========================================================
   FRASE FINAL
   ========================================================= */

.efly-ai-tech-bottom {

  position:
    relative;

  z-index:
    2;

  width:
    min(100%, 1220px);

  margin:
    72px auto 0;

  display:
    grid;

  grid-template-columns:
    1fr auto 1fr;

  gap:
    20px;

  align-items:
    center;

}


.efly-ai-tech-bottom span {

  height:
    1px;

  background:
    rgba(255,255,255,.11);

}


.efly-ai-tech-bottom strong {

  max-width:
    580px;

  color:
    rgba(255,255,255,.82);

  font-size:
    15px;

  font-weight:
    600;

  text-align:
    center;

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

  .efly-ai-tech-shell {

    grid-template-columns:
      1fr;

    gap:
      60px;

  }


  .efly-ai-tech-copy {

    max-width:
      760px;

    margin:
      0 auto;

  }


  .efly-ai-tech-visual {

    max-width:
      560px;

  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

  .efly-ai-tech-section {

    padding:
      76px 18px 66px;

  }


  .efly-ai-tech-shell {

    gap:
      46px;

  }


  .efly-ai-tech-eyebrow {

    margin-bottom:
      18px;

    font-size:
      10px;

  }


  .efly-ai-tech-copy h2 {

    margin-bottom:
      20px;

    font-size:
      clamp(36px, 10vw, 48px) !important;

    line-height:
      1.04 !important;

  }


  .efly-ai-tech-lead {

    font-size:
      17px;

    line-height:
      1.6;

  }


  .efly-ai-tech-description {

    margin-bottom:
      32px;

    font-size:
      15px;

  }


  .efly-ai-tech-point {

    grid-template-columns:
      36px 1fr;

    gap:
      12px;

  }


  .efly-ai-tech-number {

    width:
      34px;

    height:
      34px;

  }


  .efly-ai-tech-point h3 {

    font-size:
      15px;

  }


  .efly-ai-tech-point p {

    font-size:
      13px;

  }


  .efly-ai-tech-visual {

    padding:
      18px;

    border-radius:
      20px;

  }


  .efly-ai-tech-score-row strong {

    font-size:
      34px;

  }


  .efly-ai-tech-bottom {

    margin-top:
      52px;

    grid-template-columns:
      1fr;

    gap:
      12px;

  }


  .efly-ai-tech-bottom span {

    display:
      none;

  }


  .efly-ai-tech-bottom strong {

    font-size:
      14px;

    line-height:
      1.5;

  }

}


/* EFLY AI TECHNOLOGY CSS END */



/* EFLY ELEVENLABS REAL MOBILE HEIGHT START */

/* =========================================================
   ELEVENLABS
   ALTURA REAL MOBILE
   Este bloque DEBE quedar al final del CSS para ganar
   contra las reglas antiguas de 504px.
   ========================================================= */

@media (max-width: 859px) {

  /* columna donde vive el widget */
  .ai-conversation-card__widget {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: auto !important;
    margin-right: auto !important;

    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
  }


  /* contenedor directo */
  .ai-conversation-card__widget .elevenlabs-inline-shell {

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    height: 760px !important;
    min-height: 760px !important;
    max-height: none !important;

    margin-left: auto !important;
    margin-right: auto !important;

    overflow: hidden !important;

    border-radius: 16px !important;
  }


  /* COMPONENTE REAL DE ELEVENLABS */
  .ai-conversation-card__widget
  .elevenlabs-inline-shell
  elevenlabs-convai {

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    height: 760px !important;
    min-height: 760px !important;
    max-height: none !important;

    margin: 0 auto !important;
  }


  /* por si el componente aparece sin shell */
  .ai-conversation-card__widget > elevenlabs-convai {

    display: block !important;

    width: 100% !important;

    height: 760px !important;
    min-height: 760px !important;
    max-height: none !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }

}


/* =========================================================
   TELÉFONOS PEQUEÑOS
   Sigue siendo MUCHO más alto que los 504px anteriores.
   ========================================================= */

@media (max-width: 420px) {

  .ai-conversation-card__widget
  .elevenlabs-inline-shell,

  .ai-conversation-card__widget
  .elevenlabs-inline-shell
  elevenlabs-convai,

  .ai-conversation-card__widget
  > elevenlabs-convai {

    height: 720px !important;
    min-height: 720px !important;
    max-height: none !important;
  }

}

/* EFLY ELEVENLABS REAL MOBILE HEIGHT END */



/* EFLY MOBILE WIDGET POSITION FINAL START */

/* =========================================================
   MOBILE
   SUBIR ELEVENLABS MÁS CERCA DEL TEXTO
   ========================================================= */

@media (max-width: 859px) {

  .ai-conversation-card__widget {

    margin-top: 0 !important;

    transform:
      translateY(-32px) !important;

  }


  .ai-conversation-card__widget
  .elevenlabs-inline-shell {

    margin-top: 0 !important;

  }

}


/* En teléfonos pequeños subimos un poco menos
   para conservar respiración visual */

@media (max-width: 420px) {

  .ai-conversation-card__widget {

    transform:
      translateY(-24px) !important;

  }

}

/* EFLY MOBILE WIDGET POSITION FINAL END */



/* EFLY ELEVENLABS INTERNAL SIZE FINAL START */

/* =========================================================
   ELEVENLABS MOBILE
   USA LAS VARIABLES INTERNAS DEL WIDGET
   ========================================================= */

@media (max-width: 859px) {

  /*
   * REDUCIR EL ESPACIO ENTRE TEXTO Y WIDGET
   */

  .ai-conversation-card {

    row-gap:
      10px !important;

    gap:
      10px !important;

  }


  .ai-conversation-card__widget {

    margin-top:
      -38px !important;

    padding-top:
      0 !important;

    transform:
      none !important;

    width:
      100% !important;

  }


  /*
   * CONTENEDOR DEL WIDGET
   */

  .ai-conversation-card__widget
  .elevenlabs-inline-shell {

    width:
      100% !important;

    max-width:
      100% !important;

    height:
      820px !important;

    min-height:
      820px !important;

    max-height:
      820px !important;

    margin:
      0 !important;

    padding:
      0 !important;

    overflow:
      visible !important;

  }


  /*
   * COMPONENTE REAL ELEVENLABS
   *
   * ESTAS DOS VARIABLES SON LAS IMPORTANTES.
   * CAMBIAN EL TAMAÑO INTERNO DEL SHADOW DOM.
   */

  .ai-conversation-card__widget
  elevenlabs-convai {

    --elevenlabs-convai-widget-width:
      100% !important;

    --elevenlabs-convai-widget-height:
      820px !important;


    display:
      block !important;

    width:
      100% !important;

    max-width:
      100% !important;

    height:
      820px !important;

    min-height:
      820px !important;

    max-height:
      820px !important;

    margin:
      0 auto !important;

    transform:
      none !important;

  }


  /*
   * POR SI EL SCRIPT VIEJO LE PONE ESTA CLASE
   */

  elevenlabs-convai.efly-elevenlabs-mobile-large {

    --elevenlabs-convai-widget-height:
      820px !important;

    height:
      820px !important;

    min-height:
      820px !important;

    max-height:
      820px !important;

  }

}


/* =========================================================
   CELULARES ESTRECHOS
   ========================================================= */

@media (max-width: 430px) {

  .ai-conversation-card__widget {

    margin-top:
      -34px !important;

  }


  .ai-conversation-card__widget
  .elevenlabs-inline-shell {

    height:
      760px !important;

    min-height:
      760px !important;

    max-height:
      760px !important;

  }


  .ai-conversation-card__widget
  elevenlabs-convai,

  elevenlabs-convai.efly-elevenlabs-mobile-large {

    --elevenlabs-convai-widget-height:
      760px !important;

    height:
      760px !important;

    min-height:
      760px !important;

    max-height:
      760px !important;

  }

}

/* EFLY ELEVENLABS INTERNAL SIZE FINAL END */



/* EFLY ELEVENLABS TEXT GAP FINAL START */

/* =========================================================
   MOBILE
   ACERCAR EL TEXTO SUPERIOR AL WIDGET ELEVENLABS
   ========================================================= */

@media (max-width: 859px) {

  /*
   * Eliminar espacio del grid entre
   * bloque de texto y widget
   */
  .ai-conversation-card {
    row-gap: 0 !important;
    gap: 0 !important;
  }


  /*
   * El bloque que termina en:
   * "Obtén información sobre E-Fly Mentor Schools..."
   */
  .ai-conversation-card__copy {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }


  .ai-conversation-card__copy ul {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }


  .ai-conversation-card__copy li:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }


  /*
   * SUBIR EL WIDGET
   *
   * Antes estaba aproximadamente en -38px.
   * Ahora lo acercamos mucho más.
   */
  .ai-conversation-card__widget {
    margin-top: -80px !important;
    padding-top: 0 !important;
    transform: none !important;
  }


  .ai-conversation-card__widget
  .elevenlabs-inline-shell {

    margin-top: 0 !important;
    padding-top: 0 !important;

  }

}


/* Teléfonos pequeños */
@media (max-width: 430px) {

  .ai-conversation-card__widget {
    margin-top: -72px !important;
  }

}

/* EFLY ELEVENLABS TEXT GAP FINAL END */



/* EFLY ELEVENLABS MOBILE WIDE START */

@media (max-width: 859px) {

  /*
   * CONTENEDOR AZUL
   */
  .ai-conversation-card__widget {

    width: 100% !important;
    max-width: 100% !important;

  }


  /*
   * SHELL ELEVENLABS
   */
  .ai-conversation-card__widget
  .elevenlabs-inline-shell {

    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    left: auto !important;
    right: auto !important;

    transform: none !important;

    overflow: visible !important;

  }


  /*
   * WIDGET REAL
   *
   * AUMENTAMOS EL ANCHO A 96%.
   * NO tocamos height / min-height.
   */
  .ai-conversation-card__widget
  elevenlabs-convai {

    --elevenlabs-convai-widget-width:
      96% !important;

    width:
      96% !important;

    max-width:
      96% !important;

    flex:
      0 0 96% !important;

    margin-left:
      auto !important;

    margin-right:
      auto !important;

    left:
      auto !important;

    right:
      auto !important;

    transform:
      none !important;

  }

}


/*
 * TELÉFONOS ESTRECHOS:
 * aprovechar todavía más el espacio.
 */
@media (max-width: 430px) {

  .ai-conversation-card__widget
  elevenlabs-convai {

    --elevenlabs-convai-widget-width:
      98% !important;

    width:
      98% !important;

    max-width:
      98% !important;

    flex-basis:
      98% !important;

  }

}

/* EFLY ELEVENLABS MOBILE WIDE END */



/* EFLY CHECKOUT REGISTRATION START */


/* =========================================================
   VENTANA
   ========================================================= */

.checkout-dialog {

  width:
    min(620px, calc(100% - 32px)) !important;

  max-width:
    620px !important;

  max-height:
    calc(100vh - 32px);

  overflow:
    visible;

}


.checkout-dialog::backdrop {

  background:
    rgba(3, 13, 34, .76);

  backdrop-filter:
    blur(7px);

}


.checkout-registration-card {

  max-height:
    calc(100vh - 32px);

  overflow-y:
    auto;

  padding:
    32px 34px 28px !important;

}


/* =========================================================
   TITULO
   ========================================================= */

.checkout-registration-card h2 {

  margin-bottom:
    16px !important;

}


.checkout-summary {

  margin-bottom:
    26px !important;

}


/* =========================================================
   SECCIONES
   ========================================================= */

.checkout-section-title {

  display:
    flex;

  align-items:
    center;

  gap:
    11px;

  margin:
    0 0 16px;

}


.checkout-section-title > div {

  display:
    grid;

  gap:
    2px;

}


.checkout-section-title strong {

  color:
    #071E55;

  font-size:
    14px;

}


.checkout-section-title small {

  color:
    #7B8AA3;

  font-size:
    10px;

  line-height:
    1.35;

}


.checkout-step-number {

  width:
    29px;

  height:
    29px;

  flex:
    0 0 29px;

  display:
    grid;

  place-items:
    center;

  border-radius:
    9px;

  background:
    #123C8C;

  color:
    #FFD21F;

  font-size:
    12px;

  font-weight:
    900;

}


/* =========================================================
   CAMPOS
   ========================================================= */

.checkout-fields {

  display:
    grid;

  grid-template-columns:
    1fr 1fr;

  gap:
    14px;

}


.checkout-field {

  display:
    grid !important;

  gap:
    7px;

  margin:
    0 !important;

}


.checkout-field-full {

  grid-column:
    1 / -1;

}


.checkout-field > span {

  color:
    #071E55;

  font-size:
    11px;

  font-weight:
    800;

}


.checkout-field input,
.checkout-field select {

  width:
    100%;

  height:
    48px;

  border:
    1px solid #D5DFEC;

  border-radius:
    10px;

  background:
    #FFFFFF;

  color:
    #12203A;

  padding:
    0 13px;

  font:
    inherit;

  font-size:
    13px;

  outline:
    none;

  transition:
    border-color .2s ease,
    box-shadow .2s ease;

}


.checkout-field input:focus,
.checkout-field select:focus {

  border-color:
    #123C8C;

  box-shadow:
    0 0 0 3px rgba(18, 60, 140, .10);

}


.checkout-field input::placeholder {

  color:
    #9AA8BC;

}


/* =========================================================
   WHATSAPP
   ========================================================= */

.checkout-phone-row {

  display:
    grid;

  grid-template-columns:
    122px 1fr;

  gap:
    9px;

}


#checkout-phone-code {

  padding-left:
    10px;

}


/* =========================================================
   ERROR
   ========================================================= */

.checkout-form-error {

  display:
    none;

  margin:
    12px 0 0;

  padding:
    10px 12px;

  border-radius:
    9px;

  background:
    #FFF1F0;

  color:
    #A83D37;

  font-size:
    11px;

  font-weight:
    700;

  line-height:
    1.4;

}


.checkout-form-error.is-visible {

  display:
    block;

}


/* =========================================================
   PAGO
   ========================================================= */

.checkout-payment-title {

  margin-top:
    25px;

}


.checkout-card-payment {

  display:
    flex;

  align-items:
    center;

  gap:
    12px;

  min-height:
    70px;

  padding:
    13px 15px;

  border:
    1px solid #DCE5F2;

  border-radius:
    12px;

  background:
    #F7FAFF;

  margin-bottom:
    18px;

}


.checkout-card-icon {

  width:
    40px;

  height:
    40px;

  flex:
    0 0 40px;

  display:
    grid;

  place-items:
    center;

  border-radius:
    10px;

  background:
    #E8F0FF;

  font-size:
    19px;

}


.checkout-card-payment > div:nth-child(2) {

  display:
    grid;

  gap:
    2px;

  flex:
    1;

}


.checkout-card-payment strong {

  color:
    #071E55;

  font-size:
    12px;

}


.checkout-card-payment span {

  color:
    #708099;

  font-size:
    10px;

}


.checkout-secure-badge {

  flex:
    0 0 auto !important;

  padding:
    5px 8px;

  border-radius:
    20px;

  background:
    #EAF6EE;

  color:
    #267A42;

  font-size:
    9px;

  font-weight:
    800;

}


/* =========================================================
   BOTON
   ========================================================= */

.checkout-pay-button {

  min-height:
    52px !important;

  margin-top:
    0 !important;

  font-size:
    13px !important;

}


.payment-note {

  margin-top:
    11px !important;

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 620px) {

  .checkout-dialog {

    width:
      calc(100% - 20px) !important;

    max-height:
      calc(100dvh - 20px);

  }


  .checkout-registration-card {

    padding:
      27px 20px 22px !important;

    max-height:
      calc(100dvh - 20px);

  }


  .checkout-fields {

    grid-template-columns:
      1fr;

    gap:
      13px;

  }


  .checkout-field-full {

    grid-column:
      auto;

  }


  .checkout-phone-row {

    grid-template-columns:
      112px 1fr;

  }


  .checkout-field input,
  .checkout-field select {

    font-size:
      16px;

    height:
      50px;

  }


  .checkout-card-payment {

    padding:
      12px;

  }

}


/* EFLY CHECKOUT REGISTRATION END */





/* EFLY SCHOOL PHONE COUNTRY SAFE START */

.school-phone-row {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 8px;
  width: 100%;
}

.school-phone-row select,
.school-phone-row input {
  width: 100%;
  min-width: 0;
}

.school-country-field {
  display: grid !important;
  gap: 7px;
}

.school-country-field input {
  width: 100%;
}

#school-phone-code {
  min-width: 88px;
  max-width: 88px;
  padding-left: 10px;
  padding-right: 10px;
  font-size: 13px;
}

#school-phone-number {
  width: 100%;
}

@media (max-width: 720px) {

  .school-phone-row {
    grid-template-columns: 82px minmax(0, 1fr);
  }

  #school-phone-code {
    min-width: 82px;
    max-width: 82px;
    font-size: 12px;
  }

}

/* EFLY SCHOOL PHONE COUNTRY SAFE END */


/* EFLY SCHOOL SUCCESS MODAL CSS START */

.efly-school-success-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
}

.efly-school-success-modal.is-visible {
  display: block;
}

.efly-school-success-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 30, 85, 0.58);
  backdrop-filter: blur(4px);
}

.efly-school-success-modal__dialog {
  position: relative;
  width: min(92vw, 520px);
  margin: 8vh auto 0;
  background: #ffffff;
  border: 1px solid rgba(18, 60, 140, 0.12);
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(7, 30, 85, 0.28);
  overflow: hidden;
}

.efly-school-success-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.18);
  color: #ffffff;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

.efly-school-success-modal__header {
  background: linear-gradient(135deg, #123C8C 0%, #1A4FB4 100%);
  color: #ffffff;
  padding: 26px 26px 22px;
}

.efly-school-success-modal__eyebrow {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #FFD21F;
  margin-bottom: 10px;
}

.efly-school-success-modal__title {
  margin: 0;
  font-size: 34px;
  line-height: 1.05;
  font-weight: 800;
  color: #ffffff;
}

.efly-school-success-modal__body {
  padding: 28px 26px 26px;
}

.efly-school-success-modal__alert {
  background: #E9F8EC;
  border: 1px solid #B9E0C2;
  color: #166534;
  border-radius: 14px;
  padding: 18px 20px;
  text-align: center;
  font-size: 18px;
  line-height: 1.45;
  margin-bottom: 18px;
}

.efly-school-success-modal__text {
  margin: 0 0 22px;
  color: #4B5563;
  font-size: 16px;
  line-height: 1.55;
  text-align: center;
}

.efly-school-success-modal__button {
  width: 100%;
  border: 0;
  border-radius: 14px;
  background: #123C8C;
  color: #ffffff;
  padding: 16px 20px;
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(18, 60, 140, 0.24);
}

.efly-school-success-modal__button:hover {
  background: #0F347B;
}

body.efly-school-success-modal-open {
  overflow: hidden;
}

@media (max-width: 640px) {

  .efly-school-success-modal__dialog {
    width: min(94vw, 420px);
    margin-top: 7vh;
    border-radius: 18px;
  }

  .efly-school-success-modal__header {
    padding: 22px 20px 18px;
  }

  .efly-school-success-modal__title {
    font-size: 28px;
  }

  .efly-school-success-modal__body {
    padding: 22px 20px 20px;
  }

  .efly-school-success-modal__alert {
    font-size: 16px;
    padding: 16px 14px;
  }

  .efly-school-success-modal__text {
    font-size: 15px;
  }

  .efly-school-success-modal__button {
    font-size: 15px;
    padding: 15px 18px;
  }
}

/* EFLY SCHOOL SUCCESS MODAL CSS END */



/* EFLY MODAL TRUE CENTER START */


/*
 * OVERLAY COMPLETO DEL VIEWPORT
 */

.efly-school-success-modal {
  position: fixed !important;
  inset: 0 !important;

  width: 100vw !important;
  height: 100dvh !important;

  margin: 0 !important;
  padding: 0 !important;

  z-index: 999999 !important;
}


/*
 * CUANDO ESTÁ ABIERTO:
 * centro matemático horizontal + vertical
 */

.efly-school-success-modal.is-visible {
  display: grid !important;
  place-items: center !important;

  width: 100vw !important;
  height: 100dvh !important;

  padding: 20px !important;
  box-sizing: border-box !important;
}


/*
 * FONDO
 */

.efly-school-success-modal__backdrop {
  position: absolute !important;
  inset: 0 !important;

  width: 100% !important;
  height: 100% !important;

  z-index: 0 !important;
}


/*
 * VENTANA
 */

.efly-school-success-modal__dialog {
  position: relative !important;

  width: min(92vw, 520px) !important;
  max-width: 520px !important;

  margin: 0 !important;

  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;

  transform: none !important;

  z-index: 2 !important;
}


/*
 * MOVIL
 */

@media (max-width:640px) {

  .efly-school-success-modal.is-visible {
    padding: 14px !important;
  }

  .efly-school-success-modal__dialog {
    width: min(94vw, 420px) !important;
    max-width: 420px !important;
    margin: 0 !important;
  }

}


/* fallback para navegadores sin dvh */

@supports not (height:100dvh) {

  .efly-school-success-modal,
  .efly-school-success-modal.is-visible {
    height: 100vh !important;
  }

}


/* EFLY MODAL TRUE CENTER END */



/* ===== E-FLY HERO IMAGE 26/08/2026 ===== */
.hero-product.hero-product-image {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  overflow: visible;
}

.hero-product-image img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 24px;
  box-shadow: 0 28px 70px rgba(3, 15, 45, 0.30);
}

@media (max-width: 900px) {
  .hero-product.hero-product-image {
    width: 100%;
    margin-top: 24px;
  }

  .hero-product-image img {
    width: 100%;
    border-radius: 18px;
  }
}
/* ===== END E-FLY HERO IMAGE ===== */

/* =========================================================
   E-FLY HERO — DEPTH + 35% SCALE
   ========================================================= */

.hero-product.hero-product-image {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  isolation: isolate;
  min-height: 520px;
}

/* Glow principal detrás de la pantalla */
.hero-product.hero-product-image::before {
  content: "";
  position: absolute;
  width: 82%;
  aspect-ratio: 1 / 1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(61, 135, 255, 0.32) 0%,
      rgba(31, 101, 220, 0.17) 38%,
      rgba(18, 60, 140, 0.03) 67%,
      transparent 75%
    );
  filter: blur(12px);
  z-index: -3;
  pointer-events: none;
}

/* Aro decorativo */
.hero-product.hero-product-image::after {
  content: "";
  position: absolute;
  width: 108%;
  height: 78%;
  left: 50%;
  top: 52%;
  transform: translate(-50%, -50%) rotate(-8deg);
  border: 1px solid rgba(120, 178, 255, 0.20);
  border-radius: 50%;
  box-shadow:
    0 0 55px rgba(47, 112, 230, 0.09),
    inset 0 0 45px rgba(80, 145, 255, 0.05);
  z-index: -2;
  pointer-events: none;
}

/* Imagen: 35% más grande */
.hero-product-image img {
  position: relative;
  z-index: 2;

  width: 135%;
  max-width: none;
  height: auto;

  transform: translateY(-2%);
  transform-origin: center center;

  border-radius: 26px;

  filter:
    drop-shadow(0 28px 35px rgba(3, 16, 52, 0.38))
    drop-shadow(0 8px 15px rgba(50, 116, 235, 0.18));

  transition:
    transform 0.45s ease,
    filter 0.45s ease;
}

/* Efecto leve al pasar mouse */
.hero-product-image:hover img {
  transform: translateY(-3%) scale(1.018);

  filter:
    drop-shadow(0 34px 44px rgba(3, 16, 52, 0.42))
    drop-shadow(0 10px 22px rgba(64, 132, 255, 0.24));
}

/* Línea luminosa inferior tipo horizonte */
.hero-product-image {
  background:
    radial-gradient(
      ellipse at 50% 83%,
      rgba(71, 139, 255, 0.18) 0%,
      rgba(71, 139, 255, 0.06) 35%,
      transparent 68%
    );
}

/* Desktop grande */
@media (min-width: 1200px) {
  .hero-product.hero-product-image {
    min-height: 560px;
  }
}

/* Tablet */
@media (max-width: 1000px) {
  .hero-product.hero-product-image {
    min-height: auto;
    margin-top: 38px;
  }

  .hero-product-image img {
    width: 115%;
  }

  .hero-product.hero-product-image::after {
    width: 100%;
  }
}

/* Mobile */
@media (max-width: 700px) {
  .hero-product.hero-product-image {
    min-height: auto;
    margin-top: 30px;
  }

  .hero-product-image img {
    width: 100%;
    transform: none;
    border-radius: 18px;
  }

  .hero-product-image:hover img {
    transform: none;
  }

  .hero-product.hero-product-image::before {
    width: 100%;
  }

  .hero-product.hero-product-image::after {
    width: 96%;
    height: 78%;
  }
}

/* =========================================================
   END HERO DEPTH
   ========================================================= */

/* HERO — mover imagen más a la derecha */
@media (min-width: 1001px) {
  .hero-product.hero-product-image {
    transform: translateX(10%);
  }
}


/* FIX HERO — separar imagen del texto */
@media (min-width: 1001px) {
  .hero-product.hero-product-image {
    transform: translateX(28%);
  }

  .hero-product-image img {
    width: 135%;
    max-width: none;
  }
}

/* ===== HERO POSICION FINAL ===== */
@media (min-width: 1001px) {

  .hero-copy {
    position: relative;
    z-index: 5;
  }

  .hero-product.hero-product-image {
    position: relative !important;
    left: 170px !important;
    transform: none !important;
    z-index: 2;
  }

  .hero-product-image img {
    width: 135% !important;
    max-width: none !important;
  }
}
/* ===== END HERO POSICION FINAL ===== */
