/* Espacio útil en móvil y tablet, sin ocultar contenido. */
img,video{max-width:100%;height:auto}iframe{max-width:100%}
.cards>*,.hero-grid>*,.form-grid>*{min-width:0;overflow-wrap:anywhere}
button,.btn{touch-action:manipulation}
@media(max-width:1024px){
 .section{padding:44px 0}.container{width:min(1160px,calc(100% - 32px))}
 .nav{height:64px;gap:12px}.nav-links{top:68px;max-height:calc(100svh - 84px);overflow-y:auto}
 .hero-grid{gap:28px;padding:40px 0 48px}.cards{gap:16px}
 .nav-links a{min-height:40px;display:flex;align-items:center;width:100%}
 .menu-btn{min-width:44px;min-height:44px}
 input,select,textarea{font-size:16px;max-width:100%}
 .btn{min-height:44px;white-space:normal;text-align:center}
}
@media(min-width:681px) and (max-width:980px){
 .cards,.steps,.security-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
 .container{width:calc(100% - 24px)}.section{padding:32px 0}
 .nav{gap:8px;height:60px}.brand{min-width:0;gap:8px}.brand-mark{width:34px;height:34px;flex-shrink:0}
 .brand small{font-size:.65rem}.brand strong{font-size:1.1rem}
 .nav-actions{gap:6px}.nav-actions .btn{padding:8px 10px;font-size:.8rem}
 .nav-links{left:10px;right:10px;top:64px;padding:10px;gap:4px}
 .hero-grid{padding:28px 0 32px;gap:24px}h1{font-size:clamp(1.9rem,8vw,2.8rem)}
 .hero-actions{gap:8px}.hero-actions .btn{flex:1 1 140px}
 .trust-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}
 .cards{gap:12px}.course-card,.service-card{padding:16px}
 .contact-card,.payment-card,.form-card,.resource-card{padding:16px}
 .section-head{margin-bottom:20px}.mock-grid{gap:10px}.mock-content{padding:12px}
 .form-grid{gap:10px}.footer-inner{gap:16px}
}
@media(max-width:1024px){
 .barisystem-ad-grid{grid-template-columns:minmax(0,1fr)}
 .barisystem-ad-grid>*,.trust-card>*{min-width:0;overflow-wrap:anywhere}
 .barisystem-services>*{max-width:100%;white-space:normal;overflow-wrap:anywhere}
}
/* Un único acceso a la cuenta; funciones de gestión sólo dentro del portal. */
.nav{gap:20px;position:relative}.nav>.brand{flex:0 1 190px;min-width:130px}
.nav-links{gap:22px;flex:1;justify-content:center}.nav-links>a,.nav-more>summary{white-space:nowrap}
.nav-actions{flex-shrink:0;gap:8px}.nav-actions>.btn{min-height:42px;padding:10px 14px;white-space:nowrap}
.nav-more{position:relative}.nav-more summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;font-weight:700}
.nav-more summary::-webkit-details-marker{display:none}.nav-more summary::after{content:'';width:6px;height:6px;border-right:2px solid;border-bottom:2px solid;transform:rotate(45deg);margin-top:-4px}
.nav-more[open] summary::after{transform:rotate(225deg);margin-top:4px}
.nav-more-links{display:grid;gap:4px;position:absolute;top:100%;right:0;width:230px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 22px #16163a20}
.nav-more-links a{padding:10px 12px;border-radius:8px;line-height:1.4;font-size:.88rem;white-space:normal}
.nav-more-links a:hover,.nav-more-links a:focus-visible{background:#eeedfb}
.nav-links [hidden]{display:none!important}
.nav a:focus-visible,.nav summary:focus-visible,.menu-btn:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.fp-menu-icon{display:block;width:20px;height:14px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}
.fp-menu-icon::before{content:'';position:absolute;top:4px;left:0;right:0;border-top:2px solid currentColor}
.menu-btn[aria-expanded=true] .fp-menu-icon{border-bottom:0;height:0;transform:rotate(-45deg)}
.menu-btn[aria-expanded=true] .fp-menu-icon::before{top:-2px;transform:rotate(90deg)}
@media(max-width:1100px){
 .nav{gap:12px;height:64px}.nav>.brand{flex:1}.nav-actions .fp-login{display:inline-flex}
 .nav-actions .fp-contact{display:none}
 .menu-btn{display:flex;align-items:center;justify-content:center;padding:10px;min-width:44px;min-height:44px}
 .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:0 0 12px 12px;padding:8px;max-height:calc(100svh - 80px);overflow-y:auto;box-shadow:0 8px 16px #16163a20;gap:4px}
 .nav-links.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .nav-links>a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:8px;font-size:.9rem}
 .nav-more{grid-column:1/-1;min-width:0}.nav-more summary{padding:10px 12px;justify-content:space-between}
 .nav-more-links{position:static;width:100%;box-shadow:none;border:0;border-radius:8px;background:#f6f6ff;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px}
 .nav-more-links a{min-width:0;min-height:44px;font-size:.85rem;overflow-wrap:anywhere}
 .nav-more[open]{border-top:1px solid var(--line)}
}
@media(max-width:600px){
 .nav{height:60px;gap:8px}.nav-actions{gap:6px}
 .nav>.brand{min-width:0;max-width:none;gap:8px}.nav .brand-mark{width:32px;height:36px;flex-shrink:0}
 .nav .brand-text{font-size:.95rem}.nav .brand-text small{font-size:.55rem;letter-spacing:.01em;max-width:128px}
 .nav-actions .fp-login{font-size:.8rem;padding:8px 10px;min-height:42px}
}

.nav-more-links .nav-contact-mobile{display:none}
@media(max-width:1100px){.nav-more-links .nav-contact-mobile{display:flex}}
