body{
    font-family:'Poppins',sans-serif;
    background:#ffffff;
    color:#1e293b;
}

.navbar-brand{
    font-size:1.5rem;
}

.nav-link{
    font-weight:500;
}

.btn-primary{
    background:#1E4DB7;
    border:none;
}

.btn-primary:hover{
    background:#163c90;
}
.hero{
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    background: linear-gradient(135deg,#ffffff 0%,#eef4ff 100%);
    overflow: hidden;
}
.hero::before{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 420px;
    height: 420px;
    background: rgba(45,99,216,.08);
    border-radius: 50%;
    transform: translate(35%,-25%);
    z-index: 0;
}
.hero .container{
    position: relative;
    z-index: 1;
}

.hero h1{

color:#173A8F;

font-weight:700;

}

.hero p{

font-size:1.2rem;

color:#555;

}

.hero-image{

max-width:100%;

animation:flotar 5s ease-in-out infinite;

}

@keyframes flotar{

0%{

transform:translateY(0px);

}

50%{

transform:translateY(-12px);

}

100%{

transform:translateY(0px);

}

}
/*==========================
    NAVBAR PREMIUM
===========================*/

.navbar{

    transition:.4s;

    padding:12px 0;

}

.navbar-brand{

   color:var(--primary);

    font-size:1.2rem;

    line-height:1.1;

}

.navbar-brand small{

    color:var(--gray);

}

.nav-link{

   color:var(--primary);

    font-weight:500;

    margin-left:10px;

    transition:.3s;

}

.nav-link:hover{

    color:#6F42C1 !important;

}

.btn-primary{

    background:var(--primary);

    border:none;

}

.btn-primary:hover{

    background:#6F42C1;

}

.navbar img{

    transition:.4s;

}
/*=========================
ABOUT
=========================*/

.about{

padding:100px 0;

background:var(--white);

}

.about h2{

color:var(--primary);

font-weight:700;

}

.about p{

color:var(--gray);

line-height:1.8;

font-size:1.05rem;

}

.about img{

transition:.5s;

}

.about img:hover{

transform:scale(1.02);

}

.about i{

font-size:20px;

margin-right:10px;

color:var(--primary);

}
/*=========================
SERVICIOS
==========================*/

.services{

background:#f8fbff;

padding:100px 0;

}

.service-card{

background:var(--white);

padding:40px;

border-radius:20px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.4s;

height:100%;

}

.service-card:hover{

transform:translateY(-10px);

}

.service-card .icon{

font-size:45px;

color:var(--primary);

margin-bottom:25px;

}

.service-card h4{

font-weight:700;

margin-bottom:20px;

color:var(--primary);

}

.service-card p{

color:var(--gray);

line-height:1.7;

}

.service-card a{

text-decoration:none;

font-weight:600;

color:var(--primary);

}

/*=========================
SECTORES
==========================*/

.sectors{

background:var(--white);

padding:100px 0;

}

.sector-card{

background:var(--light);

border-radius:var(--radius);

padding:35px 20px;

text-align:center;

height:100%;

transition:var(--transition);

}

.sector-card:hover{

transform:translateY(-6px);

box-shadow:var(--shadow);

}

.sector-card i{

font-size:34px;

color:var(--primary);

margin-bottom:15px;

display:block;

}

.sector-card h5{

font-weight:600;

color:var(--dark);

margin:0;

}

/*=========================
METODOLOGÍA
==========================*/

.methodology{

background:#f8fbff;

padding:100px 0;

}

.step-card{

background:var(--white);

border-radius:var(--radius);

padding:35px 25px;

height:100%;

box-shadow:var(--shadow-sm);

position:relative;

transition:var(--transition);

}

.step-card:hover{

transform:translateY(-6px);

}

.step-card .step-num{

position:absolute;

top:15px;

right:20px;

font-size:2rem;

font-weight:700;

color:var(--light);

}

.step-card i{

font-size:32px;

color:var(--primary);

margin-bottom:18px;

display:block;

}

.step-card h5{

font-weight:700;

color:var(--primary);

margin-bottom:10px;

}

.step-card p{

color:var(--gray);

font-size:.95rem;

line-height:1.6;

margin:0;

}

/*=========================
POR QUÉ TRABAJAR CON NOSOTROS
==========================*/

.stats{

background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%);

padding:80px 0;

}

.stat-item{

height:100%;

padding:10px 15px;

}

.stat-item i{

font-size:32px;

color:var(--white);

margin-bottom:16px;

display:block;

}

.stat-item h5{

color:var(--white);

font-weight:700;

margin-bottom:10px;

}

.stat-item p{

color:rgba(255,255,255,.85);

margin:0;

font-size:.95rem;

line-height:1.6;

}

/*=========================
CTA
==========================*/

.cta{

background:linear-gradient(135deg,var(--secondary) 0%,var(--accent) 100%);

}

.cta .btn-light{

font-weight:600;

color:var(--primary);

}

.cta .btn-outline-light{

font-weight:600;

}

/*=========================
FOOTER
==========================*/

.site-footer{

background:var(--dark);

}

.footer-links li{

margin-bottom:10px;

color:rgba(255,255,255,.65);

}

.footer-links a{

color:rgba(255,255,255,.65);

text-decoration:none;

transition:var(--transition);

}

.footer-links a:hover{

color:var(--white);

}

/*=========================
NAVBAR SCROLLED
==========================*/

.navbar-scrolled{

box-shadow:var(--shadow-sm);

}

/*=========================
FORMULARIO DE CONTACTO
==========================*/

.contact-form{

background:var(--white);

}

.contact-card{

background:var(--light);

border-radius:var(--radius-lg);

padding:40px;

}

.contact-card .form-label{

font-weight:600;

color:var(--dark);

margin-bottom:6px;

}

.contact-card .form-control{

border-radius:12px;

border:1px solid var(--border);

padding:12px 16px;

}

.contact-card .form-control:focus{

border-color:var(--primary-light);

box-shadow:0 0 0 3px rgba(45,99,216,.15);

}
/*=========================
BLOG - PÚBLICO
==========================*/

.blog-hero{

background:linear-gradient(135deg,var(--light) 0%,var(--white) 100%);

}

.blog-list{

background:var(--white);

}

.blog-card{

display:block;

background:var(--white);

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

border-radius:var(--radius);

overflow:hidden;

text-decoration:none;

color:inherit;

height:100%;

transition:var(--transition);

}

.blog-card:hover{

transform:translateY(-6px);

box-shadow:var(--shadow);

}

.blog-card-image{

height:190px;

overflow:hidden;

background:var(--light);

}

.blog-card-image img{

width:100%;

height:100%;

object-fit:cover;

}

.blog-card-placeholder{

width:100%;

height:100%;

display:flex;

align-items:center;

justify-content:center;

}

.blog-card-placeholder i{

font-size:38px;

color:var(--primary-light);

opacity:.5;

}

.blog-card-body{

padding:22px;

}

.blog-card-tag{

display:inline-block;

background:var(--light);

color:var(--primary);

font-size:.75rem;

font-weight:600;

padding:4px 12px;

border-radius:20px;

margin-bottom:10px;

}

.blog-card-body h5{

font-weight:700;

color:var(--dark);

margin-bottom:8px;

}

.blog-card-body p{

color:var(--gray);

font-size:.92rem;

line-height:1.6;

margin-bottom:14px;

}

.blog-card-date{

color:var(--gray);

font-size:.82rem;

}

/*=========================
BLOG - ARTÍCULO INDIVIDUAL
==========================*/

.blog-back-link{

display:inline-block;

color:var(--primary);

font-weight:600;

text-decoration:none;

margin-bottom:20px;

}

.blog-post-meta{

color:var(--gray);

font-size:.9rem;

}

.blog-post-content{

font-size:1.05rem;

line-height:1.9;

color:var(--dark);

}

.blog-post-content p{

margin-bottom:1.2em;

}

.blog-post-content h3,
.blog-post-content h4{

font-weight:700;

margin-top:1.4em;

margin-bottom:.6em;

color:var(--primary);

}

.blog-post-content ul,
.blog-post-content ol{

padding-left:1.4em;

margin-bottom:1.2em;

}

.blog-post-content a{

color:var(--primary-light);

}

.blog-post-content blockquote{

border-left:4px solid var(--primary-light);

padding-left:18px;

color:var(--gray);

font-style:italic;

margin:1.4em 0;

}

/*=========================
PANEL DE ADMINISTRACIÓN
==========================*/

.admin-login-body{

background:var(--light);

font-family:var(--font);

display:flex;

align-items:center;

justify-content:center;

min-height:100vh;

margin:0;

}

.admin-login-wrap{

width:100%;

display:flex;

justify-content:center;

padding:20px;

}

.admin-login-card{

background:var(--white);

border-radius:var(--radius);

box-shadow:var(--shadow);

padding:45px 40px;

max-width:400px;

width:100%;

text-align:center;

}

.admin-body{

background:#f6f8fb;

font-family:var(--font);

min-height:100vh;

}

.admin-topbar{

background:var(--dark);

padding:14px 0;

}

.admin-brand{

color:var(--white);

font-weight:700;

text-decoration:none;

display:flex;

align-items:center;

gap:10px;

}

.admin-table{

background:var(--white);

border-radius:var(--radius);

overflow:hidden;

box-shadow:var(--shadow-sm);

}

.admin-empty-state{

background:var(--white);

border-radius:var(--radius);

padding:60px 20px;

text-align:center;

color:var(--gray);

box-shadow:var(--shadow-sm);

}

.admin-empty-state i{

font-size:34px;

display:block;

margin-bottom:14px;

opacity:.5;

}

.admin-form label.form-label{

font-weight:600;

color:var(--dark);

}

.admin-side-card{

background:var(--white);

border-radius:var(--radius);

padding:24px;

box-shadow:var(--shadow-sm);

}

/*=========================
MODAL SOLICITAR DIAGNÓSTICO
==========================*/

.diagnostico-modal-content{

border-radius:var(--radius);

border:none;

}

.diagnostico-section-title{

font-weight:700;

color:var(--primary);

font-size:.85rem;

text-transform:uppercase;

letter-spacing:.04em;

margin-bottom:12px;

margin-top:8px;

}

.diagnostico-checks{

display:grid;

grid-template-columns:repeat(2, 1fr);

gap:6px 16px;

background:var(--light);

border-radius:12px;

padding:16px 18px;

}

@media (max-width: 576px){

.diagnostico-checks{

grid-template-columns:1fr;

}

}

/*=========================
PANEL - SOLICITUDES DE DIAGNÓSTICO
==========================*/

.diagnostico-item{

background:var(--white);

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

overflow:hidden;

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

box-shadow:var(--shadow-sm);

}

.diagnostico-item .accordion-button:not(.collapsed){

background:var(--light);

color:var(--dark);

box-shadow:none;

}

.diagnostico-item .accordion-button:focus{

box-shadow:none;

}

/*=========================
PÁGINA "PRÓXIMAMENTE"
==========================*/

.coming-soon-section{

min-height:75vh;

display:flex;

align-items:center;

justify-content:center;

background:linear-gradient(135deg,var(--light) 0%,var(--white) 100%);

padding:60px 20px;

}

.coming-soon-logo{

height:70px;

}
