/* ===================================== */
/* RESET */
/* ===================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    scroll-behavior:smooth;
}

body{

    font-family:'Inter', sans-serif;

    background:#FFFFFF;

    color:#0F172A;

    overflow-x:hidden;

    line-height:1.6;

}


/* ===================================== */
/* VARIABLES */
/* ===================================== */

:root{

    --dark:#07111F;
    --surface:#0F172A;

    --white:#FFFFFF;

    --gray:#F8FAFC;

    --text:#334155;

    --orange:#FF6B00;

    --border:rgba(15,23,42,0.08);

}


/* ===================================== */
/* GENERAL */
/* ===================================== */

section{

    padding:140px 8%;

}

.section-header{

    margin-bottom:70px;

}

.section-header span{

    color:var(--orange);

    font-size:14px;

    font-weight:700;

    letter-spacing:2px;

}

.section-header h2{

    font-size:58px;

    line-height:1.1;

    margin-top:20px;

    max-width:750px;

    font-weight:800;

}


/* ===================================== */
/* NAVBAR */
/* ===================================== */

.navbar{

    width:100%;

    padding:18px 8%;

    position:fixed;

    top:0;
    left:0;

    z-index:1000;

    display:flex;
    justify-content:space-between;
    align-items:center;

    background:rgba(255,255,255,0.75);

    backdrop-filter:blur(14px);

    border-bottom:1px solid rgba(15,23,42,0.05);

}

.logo{

    display:flex;
    align-items:center;

    gap:12px;

    font-weight:800;

    letter-spacing:2px;

    color:var(--dark);

}

.logo span{

    width:12px;
    height:12px;

    border-radius:50%;

    background:var(--orange);

}

nav{

    display:flex;

    gap:40px;

}

nav a{

    text-decoration:none;

    color:#475569;

    font-size:15px;

    font-weight:500;

    transition:0.3s;

}

nav a:hover{

    color:var(--dark);

}

.btn-admin{

    background:var(--dark);

    color:var(--white);

    text-decoration:none;

    padding:12px 22px;

    border-radius:14px;

    font-size:14px;

    font-weight:600;

    transition:0.3s;

}

.btn-admin:hover{

    transform:translateY(-3px);

    background:var(--orange);

}


/* ===================================== */
/* HERO */
/* ===================================== */

.hero{

    min-height:100vh;

    background:
            linear-gradient(
            135deg,
            #07111F,
            #0F172A
            );

    position:relative;

    overflow:hidden;

    display:flex;
    align-items:center;

    padding:150px 8% 100px;

}


/* BLURS */

.blur{

    position:absolute;

    border-radius:50%;

    filter:blur(120px);

}

.blur-one{

    width:350px;
    height:350px;

    background:rgba(255,107,0,0.18);

    top:100px;
    right:-100px;

}

.blur-two{

    width:250px;
    height:250px;

    background:rgba(255,255,255,0.08);

    bottom:-50px;
    left:-50px;

}


/* HERO CONTAINER */

.hero-container{

    width:100%;

    display:grid;
    grid-template-columns:1.1fr 1fr;

    gap:100px;

    align-items:center;

    position:relative;

    z-index:2;

}


/* HERO LEFT */

.hero-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:12px 18px;

    border-radius:30px;

    background:rgba(255,255,255,0.08);

    border:1px solid rgba(255,255,255,0.08);

    color:#CBD5E1;

    margin-bottom:35px;

    font-size:14px;

}

.hero-badge i{

    color:var(--orange);

}

.hero-left h1{

    font-size:64px;

    line-height:1.08;

    color:var(--white);

    margin-bottom:30px;

    font-weight:800;

}

.hero-left p{

    color:#CBD5E1;

    font-size:20px;

    line-height:1.9;

    max-width:650px;

    margin-bottom:45px;

}


/* BUTTONS */

.hero-buttons{

    display:flex;

    gap:20px;

    margin-bottom:60px;

}

.btn-primary{

    background:var(--orange);

    color:var(--white);

    text-decoration:none;

    padding:16px 28px;

    border-radius:14px;

    font-weight:600;

    transition:0.3s;

    box-shadow:
    0 10px 30px rgba(255,107,0,0.18);

}

.btn-primary:hover{

    transform:translateY(-4px);

}

.btn-secondary{

    color:var(--white);

    text-decoration:none;

    border:1px solid rgba(255,255,255,0.15);

    padding:16px 28px;

    border-radius:16px;

    transition:0.3s;

}

.btn-secondary:hover{

    background:rgba(255,255,255,0.08);

}



/* HERO RIGHT */

.hero-right{

    display:flex;
    justify-content:center;
    align-items:center;

}

.hero-image{

    width:100%;

    max-width:580px;

    position:relative;

}

.hero-image img{

    width:100%;

    border-radius:36px;

    object-fit:cover;

    box-shadow:
    0 25px 60px rgba(15,23,42,0.12);

    border:1px solid rgba(255,255,255,0.08);

}




.dashboard-card h3{

    color:var(--white);

    font-size:34px;

    margin-bottom:20px;

}

.dashboard-card p{

    color:#CBD5E1;

    line-height:1.9;

    margin-bottom:40px;

}



/* ===================================== */
/* NOSOTROS */
/* ===================================== */

.nosotros{

    background:#FFFFFF;

    position:relative;

    overflow:hidden;

}


.nosotros-container{

    display:grid;
    grid-template-columns:1.1fr 1fr;

    gap:100px;

    align-items:center;

}


/* LEFT */

.section-tag{

    color:var(--orange);

    font-size:14px;

    font-weight:700;

    letter-spacing:2px;

}


.nosotros-left h2{

    font-size:58px;

    line-height:1.08;

    margin:25px 0;

    max-width:650px;

}


.nosotros-left p{

    color:#475569;

    font-size:18px;

    line-height:1.9;

    max-width:620px;

    margin-bottom:45px;

}


/* FEATURES */

.about-features{

    display:flex;
    flex-direction:column;

    gap:22px;

}


.feature{

    display:flex;
    align-items:center;

    gap:14px;

}


.feature i{

    color:var(--orange);

    font-size:18px;

}


.feature span{

    color:#334155;

    font-weight:500;

}


/* RIGHT */

.nosotros-right{

    display:flex;
    justify-content:center;

}


.about-visual{

    width:100%;

    max-width:480px;

    position:relative;

}


/* BIG CARD */

.big-card{

    background:
    linear-gradient(
    135deg,
    #07111F,
    #0F172A
    );

    border-radius:34px;

    padding:50px;

    color:white;

    box-shadow:
    0 30px 80px rgba(15,23,42,0.12);

    position:relative;

    overflow:hidden;

}


.big-card::before{

    content:'';

    position:absolute;

    width:180px;
    height:180px;

    background:
    rgba(255,255,255,0.05);

    border-radius:50%;

    top:-80px;
    right:-60px;

}


.big-card span{

    color:#CBD5E1;

    font-size:14px;

}


.big-card h3{

    font-size:38px;

    line-height:1.2;

    margin-top:20px;

}


/* MINI CARDS */

.small-cards{

    display:flex;

    gap:20px;

    margin-top:-40px;

    padding:0 30px;

}


.mini-card{

    flex:1;

    background:white;

    border:1px solid rgba(15,23,42,0.06);

    border-radius:24px;

    padding:30px;

    box-shadow:
    0 20px 50px rgba(15,23,42,0.08);

    backdrop-filter:blur(12px);

}


.mini-card h4{

    font-size:32px;

    color:var(--orange);

    margin-bottom:10px;

}


.mini-card p{

    color:#475569;

    line-height:1.7;

}

/* ===================================== */
/* SERVICIOS */
/* ===================================== */

.servicios{

    background:#F8FAFC;

    position:relative;

    overflow:hidden;

}


.services-header{

    margin-bottom:70px;

}


.services-header h2{

    font-size:58px;

    line-height:1.08;

    margin-top:20px;

    max-width:750px;

}


/* LAYOUT */

.services-layout{

    display:grid;
    grid-template-columns:1fr 1.1fr;

    gap:35px;

    align-items:stretch;

}


/* MAIN CARD */

.service-main-card{

    background:
    linear-gradient(
    135deg,
    #07111F,
    #0F172A
    );

    border-radius:36px;

    padding:55px;

    position:relative;

    overflow:hidden;

    box-shadow:
    0 30px 80px rgba(15,23,42,0.12);

}


.service-main-card::before{

    content:'';

    position:absolute;

    width:220px;
    height:220px;

    background:
    rgba(255,255,255,0.05);

    border-radius:50%;

    top:-100px;
    right:-80px;

}


/* BADGE */

.service-badge{

    display:inline-flex;

    padding:12px 18px;

    border-radius:30px;

    background:
    rgba(255,255,255,0.08);

    border:
    1px solid rgba(255,255,255,0.08);

    color:#CBD5E1;

    font-size:14px;

    margin-bottom:35px;

}


/* TEXT */

.service-main-card h3{

    color:white;

    font-size:44px;

    line-height:1.15;

    margin-bottom:25px;

}


.service-main-card p{

    color:#CBD5E1;

    line-height:1.9;

    font-size:17px;

    max-width:450px;

}


/* LINE */

.service-line{

    width:100%;

    height:1px;

    background:
    rgba(255,255,255,0.08);

    margin:45px 0;

}


/* TAGS */

.service-tags{

    display:flex;

    flex-wrap:wrap;

    gap:14px;

}


.service-tags span{

    padding:12px 18px;

    border-radius:30px;

    background:
    rgba(255,255,255,0.08);

    border:
    1px solid rgba(255,255,255,0.08);

    color:white;

    font-size:14px;

}


/* GRID */

.services-grid{

    display:grid;
    grid-template-columns:1fr 1fr;

    gap:25px;

}


/* SMALL CARDS */

.service-card{

    background:white;

    border-radius:28px;

    padding:38px;

    border:
    1px solid rgba(15,23,42,0.06);

    transition:0.35s;

    box-shadow:
    0 15px 40px rgba(15,23,42,0.05);

}


.service-card:hover{

    transform:
    translateY(-8px);

    box-shadow:
    0 25px 60px rgba(15,23,42,0.08);

}


/* ICON */

.service-card i{

    width:62px;
    height:62px;

    border-radius:18px;

    display:flex;
    justify-content:center;
    align-items:center;

    background:
    rgba(255,107,0,0.08);

    color:var(--orange);

    font-size:24px;

    margin-bottom:28px;

}


/* TEXT */

.service-card h4{

    font-size:26px;

    margin-bottom:18px;

    color:#07111F;

}


.service-card p{

    color:#475569;

    line-height:1.8;

}


/* RESPONSIVE */

@media(max-width:1100px){

    .services-layout{

        grid-template-columns:1fr;

    }

}


@media(max-width:768px){

    .services-grid{

        grid-template-columns:1fr;

    }

    .services-header h2{

        font-size:40px;

    }

    .service-main-card h3{

        font-size:34px;

    }

}


/* ===================================== */
/* CONTACTO */
/* ===================================== */

.contacto{

    background:white;

    position:relative;

    overflow:hidden;

}


/* CONTAINER */

.contact-container{

    display:grid;
    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}


/* LEFT */

.contact-left{

    position:relative;

}


.contact-left h2{

    font-size:58px;

    line-height:1.08;

    margin:25px 0;

    max-width:600px;

}


.contact-left p{

    color:#475569;

    font-size:18px;

    line-height:1.9;

    max-width:560px;

    margin-bottom:50px;

}


/* CONTACT BOXES */

.contact-boxes{

    display:flex;
    flex-direction:column;

    gap:22px;

}


/* SINGLE BOX */

.contact-box{

    display:flex;
    align-items:center;

    gap:18px;

    padding:26px;

    border-radius:26px;

    background:white;

    border:
    1px solid rgba(15,23,42,0.06);

    box-shadow:
    0 15px 40px rgba(15,23,42,0.05);

    transition:0.3s;

}


.contact-box:hover{

    transform:translateX(8px);

}


/* ICON */

.contact-box i{

    width:60px;
    height:60px;

    border-radius:18px;

    background:
    rgba(255,107,0,0.08);

    display:flex;
    justify-content:center;
    align-items:center;

    color:var(--orange);

    font-size:22px;

}


/* TEXT */

.contact-box h4{

    font-size:18px;

    margin-bottom:6px;

    color:#07111F;

}


.contact-box span{

    color:#64748B;

}


/* RIGHT */

.contact-right{

    display:flex;
    justify-content:center;

}


/* FORM */

.contact-form{

    width:100%;

    max-width:520px;

    background:
    linear-gradient(
    135deg,
    #07111F,
    #0F172A
    );

    border-radius:36px;

    padding:50px;

    position:relative;

    overflow:hidden;

    box-shadow:
    0 30px 80px rgba(15,23,42,0.12);

}


/* GLOW */

.contact-form::before{

    content:'';

    position:absolute;

    width:220px;
    height:220px;

    background:
    rgba(255,255,255,0.04);

    border-radius:50%;

    top:-100px;
    right:-80px;

}


/* INPUT GROUP */

.input-group{

    margin-bottom:22px;

    position:relative;

    z-index:2;

}


/* INPUTS */

.contact-form input,
.contact-form textarea{

    width:100%;

    padding:20px;

    border:none;

    outline:none;

    border-radius:18px;

    background:
    rgba(255,255,255,0.06);

    border:
    1px solid rgba(255,255,255,0.08);

    color:white;

    font-size:15px;

    backdrop-filter:blur(10px);

}


.contact-form input::placeholder,
.contact-form textarea::placeholder{

    color:#CBD5E1;

}


.contact-form textarea{

    height:160px;

    resize:none;

}


/* BUTTON */

.contact-form button{

    width:100%;

    padding:18px;

    border:none;

    border-radius:18px;

    background:var(--orange);

    color:white;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:0.35s;

    display:flex;
    justify-content:center;
    align-items:center;

    gap:12px;

    margin-top:10px;

    position:relative;

    z-index:2;

}


/* HOVER */

.contact-form button:hover{

    transform:translateY(-5px);

    box-shadow:
    0 20px 40px rgba(255,107,0,0.25);

}


/* RESPONSIVE */

@media(max-width:1100px){

    .contact-container{

        grid-template-columns:1fr;

    }

}


@media(max-width:768px){

    .contact-left h2{

        font-size:40px;

    }

    .contact-form{

        padding:35px;

    }

}

/* ===================================== */
/* RESPONSIVE */
/* ===================================== */

@media(max-width:1100px){

    .hero-container,
    .nosotros-container,
    .services-layout,
    .contact-container,
    .footer-container{

        grid-template-columns:1fr;

    }

    .hero-left{

        text-align:center;

    }

    .hero-buttons{

        justify-content:center;

    }

    .trust-container{

        grid-template-columns:
        repeat(2,220px);

    }

}


@media(max-width:768px){

    section{

        padding:100px 7%;

    }

    .navbar{

        flex-direction:column;

        gap:18px;

    }

    nav{

        flex-wrap:wrap;

        justify-content:center;

        gap:20px;

    }

    .hero{

        padding-top:180px;

    }

    .hero-left h1{

        font-size:42px;

    }

    .hero-left p{

        font-size:17px;

    }

    .hero-buttons{

        flex-direction:column;

    }

    .trust-container{

        grid-template-columns:1fr;

    }

    .nosotros-left h2,
    .services-header h2,
    .contact-left h2{

        font-size:40px;

    }

    .service-main-card h3{

        font-size:32px;

    }

    .services-grid{

        grid-template-columns:1fr;

    }

    .small-cards{

        flex-direction:column;

        margin-top:20px;

        padding:0;

    }

    .contact-form{

        padding:35px 25px;

    }

    footer{

        padding:80px 7% 30px;

    }

}
/* ===================================== */
/* TRUST BAR PREMIUM */
/* ===================================== */

.trust-bar{

    width:100%;

    display:flex;
    justify-content:center;

    margin-top:90px;

}

.trust-container{

    display:grid;
    grid-template-columns:repeat(4,220px);

    gap:18px;

    width:auto;

    max-width:1100px;
    justify-content: center;

}

.trust-item{

    display:flex;
    align-items:center;
    justify-content:center;

    gap:12px;

    padding:18px 20px;

    border-radius:18px;

    background:
linear-gradient(
180deg,
rgba(255,255,255,0.08),
rgba(255,255,255,0.03)
);

    border:
    1px solid rgba(255,255,255,0.12);

    backdrop-filter:blur(18px);

    box-shadow:
    0 10px 40px rgba(0,0,0,0.18);

    transition:0.35s;

    animation:pulseCard 4s ease-in-out infinite;
    overflow: hidden;
    position: relative;

}
.trust-item::before{

    content:'';

    position:absolute;

    width:120px;
    height:120px;

    background:
    rgba(255,255,255,0.04);

    border-radius:50%;

    top:-60px;
    right:-40px;

}

/* HOVER */

.trust-item:hover{

    transform:translateY(-6px);

    background:
    rgba(255,255,255,0.09);

}


/* ICON */

.trust-item i{

    color:var(--orange);

    font-size:18px;

}


/* TEXT */

.trust-item span{

    color:#E2E8F0;

    font-size:15px;

    font-weight:500;

}


/* ANIMATION */

@keyframes pulseCard{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-6px);

    }

    100%{

        transform:translateY(0px);

    }

}


/* DELAY */

.trust-item:nth-child(2){

    animation-delay:0.4s;

}

.trust-item:nth-child(3){

    animation-delay:0.8s;

}

.trust-item:nth-child(4){

    animation-delay:1.2s;

}
/* ===================================== */
/* FOOTER */
/* ===================================== */

footer{

    background:
    linear-gradient(
    135deg,
    #07111F,
    #0B1324
    );

    position:relative;

    overflow:hidden;

    padding:
    100px 8% 40px;

}


/* GLOW */

footer::before{

    content:'';

    position:absolute;

    width:320px;
    height:320px;

    background:
    rgba(255,107,0,0.05);

    border-radius:50%;

    top:-120px;
    right:-100px;

    filter:blur(40px);

}


/* CONTAINER */

.footer-container{

    display:grid;
    grid-template-columns:
    1.3fr 1fr 1fr;

    gap:60px;

    position:relative;

    z-index:2;

}


/* LOGO */

.footer-logo{

    display:flex;
    align-items:center;

    gap:14px;

    margin-bottom:28px;

}


.footer-logo span{

    width:14px;
    height:14px;

    border-radius:50%;

    background:var(--orange);

    box-shadow:
    0 0 20px rgba(255,107,0,0.4);

}


.footer-logo h3{

    color:white;

    letter-spacing:2px;

    font-size:20px;

}


/* LEFT */

.footer-left p{

    color:#94A3B8;

    line-height:1.9;

    max-width:420px;

}


/* TITLES */

.footer-links h4,
.footer-contact h4{

    color:white;

    margin-bottom:28px;

    font-size:18px;

}


/* LINKS */

.footer-links{

    display:flex;
    flex-direction:column;

}


.footer-links a{

    color:#94A3B8;

    text-decoration:none;

    margin-bottom:16px;

    transition:0.3s;

    width:fit-content;

}


.footer-links a:hover{

    color:white;

    transform:translateX(6px);

}


/* CONTACT ITEMS */

.footer-item{

    display:flex;
    align-items:center;

    gap:14px;

    margin-bottom:20px;

    color:#94A3B8;

}


.footer-item i{

    color:var(--orange);

}


/* BOTTOM */

.footer-bottom{

    margin-top:70px;

    padding-top:30px;

    border-top:
    1px solid rgba(255,255,255,0.08);

    text-align:center;

    position:relative;

    z-index:2;

}


.footer-bottom p{

    color:#64748B;

    font-size:14px;

}


/* RESPONSIVE */

@media(max-width:1100px){

    .footer-container{

        grid-template-columns:1fr;

    }

}


@media(max-width:768px){

    footer{

        padding:
        80px 8% 30px;

    }
}