@media (max-width:992px){

.hero-container{

grid-template-columns:1fr;

gap:50px;


}

/* HEADER */

.logo img{
    width:55px;
}

.logo-text h2{
    font-size:24px;
}

.logo-text span{
    font-size:12px;
}

.hero-content{

text-align:center;

}

.hero-content p{

margin:auto;
margin-bottom:35px;

}

.hero-buttons{

justify-content:center;

}

.hero-card{

max-width:500px;

margin:auto;

}

.hero-content h1{

font-size:3rem;

}

}

@media (max-width:768px){

    #header.scrolled .menu-toggle{
        color:#0B2341;
    }

}

.services-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:20px;
    width:100%;
    max-width:100%;
    padding:0 16px;
}

.service-card{
    width:100%;
    max-width:100%;
    margin:0;
    padding:24px 20px;
}

.service-card h3{
    font-size:22px;
    line-height:1.3;
}

.service-card p{
    font-size:14px;
    line-height:1.7;
}

.service-card .icon{
    margin-bottom:18px;
}

#services,
.services-container,
.services-grid{
    width:100%;
    max-width:100%;
    overflow:hidden;
}

.service-card{
    box-sizing:border-box;
}

@media (min-width:769px) and (max-width:992px){

    .services-grid{
        grid-template-columns:repeat(2, 1fr);
        gap:24px;
    }
}

.footer{
    padding:50px 0 20px;
}

.footer-container{
    display:grid;
    grid-template-columns:1fr;
    gap:30px;
    width:100%;
    max-width:100%;
    padding:0 18px;
    text-align:center;
}

.footer-logo,
.footer-links,
.footer-contact,
.footer-social{
    width:100%;
    max-width:100%;
}

.footer-logo img{
    max-width:170px;
    margin:0 auto 15px;
}

.footer p{
    font-size:14px;
    line-height:1.7;
}

.footer h3{
    font-size:18px;
    margin-bottom:15px;
}

.footer-links ul,
.footer-contact ul{
    padding:0;
    margin:0;
    list-style:none;
}

.footer-links li,
.footer-contact li{
    margin-bottom:10px;
}

.footer-social{
    display:flex;
    justify-content:center;
    gap:14px;
    margin-top:10px;
}

.footer-bottom{
    margin-top:30px;
    padding:18px 16px 0;
    text-align:center;
    font-size:13px;
    line-height:1.6;
}

.footer,
.footer-container,
.footer-bottom{
    width:100%;
    max-width:100%;
    overflow:hidden;
    box-sizing:border-box;
}

@media (min-width:769px) and (max-width:992px){

    .footer-container{
        grid-template-columns:repeat(2, 1fr);
        text-align:left;
    }

    .footer-social{
        justify-content:flex-start;
    }
}



@media (max-width:768px){

    .footer{
        margin-top:60px;
    }

    .footer-top{
        display:grid;
        grid-template-columns:1fr;
        gap:35px;
        padding:50px 18px;
        text-align:center;
    }

    .footer-brand{
        width:100%;
    }

    .footer-logo{
        width:150px;
        margin:0 auto 20px;
    }

    .footer-brand p{
        font-size:14px;
        line-height:1.7;
        margin-bottom:22px;
    }

    .footer h4{
        font-size:18px;
        margin-bottom:18px;
    }

    .footer ul{
        padding:0;
        margin:0;
    }

    .footer ul li{
        margin-bottom:12px;
    }

    .footer-contact li{
        display:flex;
        justify-content:center;
        align-items:flex-start;
        gap:10px;
        text-align:left;
    }

    .social-links{
        justify-content:center;
    }

    .regulatory .container{
        flex-direction:column;
        align-items:center;
        text-align:center;
        padding:25px 18px;
    }

    .regulatory i{
        font-size:26px;
    }

    .regulatory p{
        font-size:13px;
        line-height:1.7;
    }

    .footer-bottom{
        padding:22px 18px;
    }

    .footer-bottom .container{
        flex-direction:column;
        justify-content:center;
        text-align:center;
        gap:15px;
    }

    .footer-bottom div{
        flex-direction:column;
        gap:10px;
    }

    .footer-bottom p{
        font-size:13px;
    }

}
@media (max-width:768px){

    .mission-grid{
        display:grid;
        grid-template-columns:1fr;
        gap:20px;
    }

    .mission-card{
        width:100%;
        max-width:100%;
    }

}

@media (max-width:768px){

    .why-us-content{
        display:flex;
        flex-direction:column;
        gap:30px;
    }

    .why-us-stats{
        display:grid;
        grid-template-columns:1fr;
        gap:15px;
        width:100%;
    }

    .stat-card{
        width:100%;
        max-width:100%;
    }

}

@media (max-width:768px){

    .about-hero h1{
        font-size:42px;
        line-height:1.1;
    }

}

@media (max-width:768px){

    .logo img{
        width:38px;
    }

}

@media (max-width:768px){

    .about-hero{
        min-height:auto !important;
        padding:130px 0 60px !important;
    }

    .about-hero .container,
    .about-hero-container,
    .about-hero-content,
    .about-grid{
        display:block !important;
        grid-template-columns:1fr !important;
        width:100% !important;
        max-width:100% !important;
        margin:0 auto !important;
        padding-left:18px !important;
        padding-right:18px !important;
    }

    .about-hero-content,
    .about-content{
        width:100% !important;
        max-width:100% !important;
        text-align:center !important;
    }

    .about-hero h1,
    .about-hero-content h1,
    .about-content h1{
        width:100% !important;
        max-width:100% !important;
        font-size:38px !important;
        line-height:1.12 !important;
        margin:20px auto !important;
        text-align:center !important;
    }

    .about-hero p,
    .about-hero-content p,
    .about-content p{
        width:100% !important;
        max-width:360px !important;
        margin:0 auto 20px !important;
        font-size:15px !important;
        line-height:1.8 !important;
        text-align:center !important;
    }

    .about-hero-image,
    .about-image{
        width:100% !important;
        max-width:330px !important;
        margin:30px auto 0 !important;
    }

    .about-hero-image img,
    .about-image img{
        display:block !important;
        width:100% !important;
        height:auto !important;
        margin:auto !important;
    }
}

@media (max-width:480px){

    .about-hero h1,
    .about-hero-content h1,
    .about-content h1{
        font-size:32px !important;
    }
}

@media (max-width:768px){

    .why-us{
        padding:60px 0;
    }

    .why-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:30px !important;
        width:100%;
        max-width:100%;
    }

    .why-content{
        width:100%;
        max-width:100%;
    }

    .why-content h2{
        font-size:36px;
        line-height:1.15;
        text-align:center;
    }

    .why-content > p{
        font-size:15px;
        line-height:1.8;
        text-align:center;
    }

    .why-list{
        display:flex;
        flex-direction:column;
        gap:20px;
        width:100%;
    }

    .why-item{
        display:flex;
        align-items:flex-start;
        gap:14px;
        width:100%;
    }

    .why-item i{
        flex-shrink:0;
    }

    .stats-box{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:16px;
        width:100% !important;
        max-width:100% !important;
    }

    .stat-card{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        padding:28px 20px;
        text-align:center;
        box-sizing:border-box;
    }

    .stat-card h3{
        font-size:38px;
        margin-bottom:8px;
    }

    .stat-card span{
        display:block;
        font-size:15px;
    }
}

@media (max-width:768px){

    .why-us .container{
        width:100%;
        max-width:100%;
        padding-left:18px;
        padding-right:18px;
    }
}

@media (max-width:768px){

    .services-hero h1{
        font-size:38px !important;
        line-height:1.1 !important;
    }

}

@media (max-width:768px){

    .benefits{
        padding:60px 0;
    }

    .benefits .container{
        width:100%;
        max-width:100%;
        padding-left:18px;
        padding-right:18px;
    }

    .benefits-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:35px !important;
        width:100%;
        max-width:100%;
    }

    .benefits-image{
        width:100%;
        max-width:340px;
        margin:0 auto;
    }

    .benefits-image img{
        display:block;
        width:100% !important;
        height:auto !important;
        margin:0 auto;
        border-radius:18px;
    }

    .benefits-content{
        width:100%;
        max-width:100%;
        text-align:center;
    }

    .benefits-content h2{
        font-size:36px !important;
        line-height:1.15 !important;
        margin:18px auto;
    }

    .benefits-content > p{
        font-size:15px;
        line-height:1.8;
        margin-bottom:28px;
    }

    .benefit-item{
        display:flex;
        align-items:flex-start;
        gap:14px;
        width:100%;
        margin-bottom:22px;
        text-align:left;
    }

    .benefit-item i{
        flex-shrink:0;
        margin-top:4px;
    }

    .benefit-item div{
        width:100%;
    }

    .benefit-item h3{
        font-size:20px;
        line-height:1.3;
        margin-bottom:8px;
    }

    .benefit-item p{
        font-size:14px;
        line-height:1.7;
    }
}

@media (max-width:480px){

    .benefits-content h2{
        font-size:32px !important;
    }
}

@media (max-width:768px){

    .contact-section{
        padding:60px 0;
    }

    .contact-section .container{
        width:100%;
        max-width:100%;
        padding-left:18px;
        padding-right:18px;
    }

    .contact-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:28px !important;
        width:100%;
        max-width:100%;
    }

    .contact-form,
    .contact-info{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        box-sizing:border-box;
    }

    .contact-form{
        padding:28px 20px;
    }

    .contact-form input,
    .contact-form textarea,
    .contact-form select{
        width:100%;
        max-width:100%;
        box-sizing:border-box;
    }

    .contact-info{
        padding:28px 20px;
    }

    .contact-item{
        display:flex;
        align-items:flex-start;
        gap:14px;
        width:100%;
    }

    .contact-item i{
        flex-shrink:0;
    }
}

@media (max-width:768px){

    .contacto-banner{
        min-height:auto;
        padding:130px 18px 55px;
    }

    .contacto-banner h1{
        font-size:42px;
        line-height:1.1;
    }

    .contacto-banner p{
        font-size:15px;
        line-height:1.7;
        max-width:100%;
    }
}

@media (max-width:768px){

    .map-section,
    .map-section iframe{
        width:100%;
        max-width:100%;
    }

    .map-section iframe{
        height:320px;
        display:block;
    }
}

@media (max-width:768px){

    .menu-toggle{
        color:#0B2341 !important;
    }

}

@media (max-width:768px){

    #header{
        padding:12px 0 !important;
        background:#fff !important;
    }

    .nav-container{
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        flex-wrap:nowrap !important;
    }

    .menu-toggle{
        display:block !important;
        visibility:visible !important;
        opacity:1 !important;
        flex-shrink:0 !important;
        background:transparent !important;
        border:none !important;
        box-shadow:none !important;
        color:#0B2341 !important;
        font-size:32px !important;
        line-height:1 !important;
        padding:5px !important;
        cursor:pointer !important;
        z-index:10001 !important;
    }

    nav{
        display:none !important;
    }

    nav.active{
        display:block !important;
        position:absolute !important;
        top:100% !important;
        left:0 !important;
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        margin:0 !important;
        padding:0 !important;
        background:#fff !important;
        box-shadow:0 8px 18px rgba(0,0,0,.12) !important;
        z-index:9999 !important;
    }

    nav.active .nav-menu{
        position:static !important;
        display:flex !important;
        flex-direction:column !important;
        align-items:center !important;
        justify-content:flex-start !important;
        width:100% !important;
        height:auto !important;
        min-height:0 !important;
        margin:0 !important;
        padding:6px 0 !important;
        gap:0 !important;
        background:#fff !important;
    }

    nav.active .nav-menu li{
        width:100% !important;
        margin:0 !important;
        padding:0 !important;
        text-align:center !important;
    }

    nav.active .nav-menu a{
        display:block !important;
        width:100% !important;
        margin:0 !important;
        padding:11px 0 !important;
        color:#0B2341 !important;
        font-size:17px !important;
        font-weight:600 !important;
    }

    nav.active .nav-menu a:hover{
        color:#D4A63E !important;
        background:#f7f7f7 !important;
    }
}

@media (max-width:768px){

    #header .menu-toggle{
        display:block !important;
        visibility:visible !important;
        opacity:1 !important;
        position:relative !important;
        flex-shrink:0 !important;
        z-index:10001 !important;

        background:transparent !important;
        border:none !important;
        box-shadow:none !important;
        padding:6px !important;

        color:#0B2341 !important;
        font-size:34px !important;
        line-height:1 !important;
        cursor:pointer !important;
    }

    #header nav{
        display:none !important;
    }

    #header nav.active{
        display:block !important;
    }
    
}

@media (max-width:768px){

    html,
    body{
        width:100%;
        max-width:100%;
        overflow-x:hidden;
    }

    .contact-section{
        width:100%;
        max-width:100%;
        padding:45px 0 !important;
        overflow:hidden;
    }

    .contact-section .container{
        width:100% !important;
        max-width:100% !important;
        padding-left:18px !important;
        padding-right:18px !important;
        margin:0 auto !important;
        box-sizing:border-box !important;
    }

    .contact-grid{
        display:grid !important;
        grid-template-columns:minmax(0, 1fr) !important;
        width:100% !important;
        max-width:100% !important;
        gap:25px !important;
    }

    .contact-form{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        padding:25px 18px !important;
        margin:0 !important;
        box-sizing:border-box !important;
        overflow:hidden !important;
    }

    .contact-form h2{
        font-size:34px !important;
        line-height:1.15 !important;
        margin-bottom:30px !important;
    }

    .contact-form form,
    .form-group{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }

    .contact-form input,
    .contact-form select,
    .contact-form textarea{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
        font-size:16px !important;
        padding:16px !important;
    }

    .contact-form textarea{
        min-height:180px !important;
        resize:vertical;
    }

    .contact-form button,
    .contact-form .btn{
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
        margin-top:10px !important;
    }
}

@media (max-width:768px){

    .contact-info{
        overflow:hidden !important;
    }

    .contact-item{
        width:100% !important;
        min-width:0 !important;
    }

    .contact-item > div{
        min-width:0 !important;
        max-width:100% !important;
    }

    .contact-item p,
    .contact-item a{
        max-width:100% !important;
        overflow-wrap:anywhere !important;
        word-break:break-word !important;
        white-space:normal !important;
    }
}

@media (max-width:768px){

    .contact-info{
        width:100% !important;
        max-width:100% !important;
        overflow:hidden !important;
        box-sizing:border-box !important;
    }

    .contact-item{
        display:grid !important;
        grid-template-columns:70px minmax(0, 1fr) !important;
        align-items:center !important;
        gap:16px !important;
        width:100% !important;
        max-width:100% !important;
        box-sizing:border-box !important;
    }

    .contact-item .icon,
    .contact-item > i{
        width:70px !important;
        height:70px !important;
        min-width:70px !important;
    }

    .contact-item > div{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        overflow:hidden !important;
    }

    .contact-item p,
    .contact-item span,
    .contact-item a{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
        word-break:break-word !important;
        font-size:15px !important;
        line-height:1.5 !important;
    }
}

/* CORRECCIÓN FINAL: datos de contacto en celular */
@media (max-width:768px){

    .contact-info{
        width:100% !important;
        max-width:100% !important;
        padding:24px 16px !important;
        box-sizing:border-box !important;
        overflow:hidden !important;
    }

    .contact-info .contact-item{
        display:grid !important;
        grid-template-columns:72px minmax(0, 1fr) !important;
        align-items:center !important;
        column-gap:16px !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
    }

    .contact-info .contact-item > *{
        min-width:0 !important;
        max-width:100% !important;
        box-sizing:border-box !important;
    }

    .contact-info .contact-item .contact-icon,
    .contact-info .contact-item .icon,
    .contact-info .contact-item > i{
        width:72px !important;
        height:72px !important;
        min-width:72px !important;
        max-width:72px !important;
    }

    .contact-info .contact-item div,
    .contact-info .contact-item .contact-details,
    .contact-info .contact-item .contact-text{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        overflow:hidden !important;
    }

    .contact-info .contact-item h3,
    .contact-info .contact-item h4{
        margin:0 0 6px !important;
        font-size:20px !important;
        line-height:1.25 !important;
    }

    .contact-info .contact-item p,
    .contact-info .contact-item span,
    .contact-info .contact-item a,
    .contact-info .contact-item a[href^="mailto:"]{
        display:block !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin:0 !important;
        font-size:15px !important;
        line-height:1.45 !important;
        white-space:normal !important;
        overflow-wrap:anywhere !important;
        word-break:break-word !important;
        hyphens:auto !important;
    }
}

@media (max-width:420px){
    .contact-info .contact-item{
        grid-template-columns:64px minmax(0, 1fr) !important;
        column-gap:12px !important;
    }

    .contact-info .contact-item .contact-icon,
    .contact-info .contact-item .icon,
    .contact-info .contact-item > i{
        width:64px !important;
        height:64px !important;
        min-width:64px !important;
        max-width:64px !important;
    }

    .contact-info .contact-item p,
    .contact-info .contact-item span,
    .contact-info .contact-item a{
        font-size:14px !important;
    }
}