/* =========================
   ROOT
========================= */

:root{

    --primary:#00bfff;
    --primary2:#008cff;

    --dark:#020b12;

    --text:#ffffff;

    --gray:#cfcfcf;
}

/* =========================
   RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

html{
    scroll-behavior:smooth;
}

body{

    background:#000;
    color:#fff;
    overflow-x:hidden;
}

/* =========================
   ANCHOR FIX
========================= */

section,
footer{

    scroll-margin-top:140px;
}

/* =========================
   HEADER
========================= */

header{

    width:100%;
    position:fixed;
    top:0;
    left:0;
    z-index:1000;
    height:110px;
    background:
    rgba(255,255,255,.08);
    backdrop-filter:blur(18px);
    border-bottom:
    1px solid rgba(0,191,255,.15);
    box-shadow:
    0 8px 30px rgba(0,0,0,.25);
    transition:.4s ease;
}

/* NAVBAR */

.navbar{

    max-width:1400px;
    height:100%;
    margin:auto;
    padding:0 40px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

/* LOGO */

.logo-container{
    display:flex;
    align-items:center;
    gap:15px;
}

.logo-img{
    width:80px;
    height:80px;
    object-fit:contain;
    background:#fff;
    border-radius:18px;
    padding:6px;
    box-shadow:0 0 25px rgba(0,191,255,0.5);
    transition:0.3s;
}

.logo-img:hover{
    transform:scale(1.05);
}

.logo-text h1{
    color:#ffffff;
    font-size:24px;
    font-weight:700;
    line-height:1;
    letter-spacing:1px;
}

.logo-text span{
    color:#00bfff;
    font-size:16px;
    font-weight:600;
    letter-spacing:4px;
}

/* MENU */

.menu{
    display:flex;
    align-items:center;
    gap:30px;
    list-style:none;
}

.menu li a{
    color:#ffff;
    text-decoration:none;
    font-size:17px;
    font-weight:500;
    display:flex;
    align-items:center;
    gap:8px;
    transition:0.3s;
    position:relative;
}

.menu li a i{
    color:#00bfff;
    font-size:16px;
}

.menu li a:hover{
    color:#00bfff;
}

.menu li a::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-6px;
    width:0%;
    height:2px;
    background:#00bfff;
    transition:0.3s;
}

.menu li a:hover::after{
    width:100%;
}

/* HAMBURGER */

.hamburger{
    display:none;
    color:#fff;
    font-size:30px;
    cursor:pointer;
}

/* RESPONSIVE */

@media(max-width:900px){

    .navbar{
        padding:15px 20px;
    }

    .logo-img{
        width:60px;
        height:60px;
    }

    .logo-text h1{
        font-size:18px;
    }

    .logo-text span{
        font-size:12px;
        letter-spacing:2px;
    }

    .hamburger{
        display:block;
    }

    .menu{
        position:absolute;
        top:100%;
        left:0;
        width:100%;
        background:#000;
        flex-direction:column;
        padding:30px 0;
        gap:25px;
        display:none;
        border-top:1px solid rgba(255,255,255,0.1);
    }

    .menu.active{
        display:flex;
    }

}

/* =========================
   CORPORATE SECTION
========================= */

.corporate-section{

    position:relative;

    padding:180px 8% 120px;

    background:
    linear-gradient(
    135deg,
    #03131f 0%,
    #071d2d 30%,
    #041018 60%,
    #000 100%
    );

    overflow:hidden;
}

/* LOGO BG */

.corp-bg-logo{

    position:absolute;

    inset:0;

    background:
    url('../img/logo4.png')
    center center no-repeat;

    background-size:500px;

    opacity:.03;

    animation:floatLogo 8s ease-in-out infinite;

    pointer-events:none;
}

/* LIGHT EFFECTS */

.light{

    position:absolute;

    border-radius:50%;

    filter:blur(120px);

    opacity:.25;
}

.light-1{

    width:300px;
    height:300px;

    background:#00aaff;

    top:-100px;
    left:-100px;
}

.light-2{

    width:350px;
    height:350px;

    background:#0066ff;

    bottom:-120px;
    right:-100px;
}

/* =========================
   TITLE
========================= */

.corp-title{

    position:relative;

    z-index:2;

    text-align:center;

    margin-bottom:90px;
}

.corp-title span{

    color:var(--primary);

    letter-spacing:5px;

    font-size:.9rem;

    font-weight:600;
}

.corp-title h2{

    color:#fff;

    font-size:4rem;

    line-height:1.1;

    margin:20px 0;

    font-weight:800;

    text-shadow:
    0 0 20px rgba(0,191,255,.25);
}

.corp-title p{

    color:#bdbdbd;

    max-width:700px;

    margin:auto;

    line-height:1.9;
}

/* =========================
   GRID
========================= */

.corp-grid{

    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;
}

/* CARDS GRANDES */

.quienes-card,
.terminos-card{

    grid-column:1 / -1;
}

/* QUIENES SOMOS */

.quienes-card{

    text-align:center;
}

/* RESPONSIVE */

@media(max-width:900px){

    .corp-grid{

        grid-template-columns:1fr;
    }

    .quienes-card,
    .terminos-card{

        grid-column:auto;
    }
}

/* =========================
   CARD
========================= */

.corp-card{

    position:relative;

    background:
    linear-gradient(
    180deg,
    rgba(255,255,255,.08),
    rgba(255,255,255,.03)
    );

    border:
    1px solid rgba(255,255,255,.08);
    border-radius:32px;
    padding:45px;
    backdrop-filter:blur(18px);
    overflow:hidden;
    transition:.45s ease;
    box-shadow:
    0 10px 40px rgba(0,0,0,.25);
}

.corp-card::before{

    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:3px;
    background:
    linear-gradient(
    90deg,
    transparent,
    #00aaff,
    transparent
    );
}

.corp-card::after{

    content:"";
    position:absolute;
    top:-100%;
    left:-100%;
    width:250px;
    height:250px;
    background:
    radial-gradient(
    circle,
    rgba(255,255,255,.18),
    transparent 70%
    );

    transition:.6s;
}

.corp-card:hover::after{

    top:-20%;
    left:60%;
}

.corp-card:hover{

    transform:translateY(-12px);
    box-shadow:
    0 0 40px rgba(0,170,255,.25);
}

/* CARD NUMBER */

.card-number{

    position:absolute;

    top:20px;
    right:25px;
    font-size:4rem;
    font-weight:800;
    color:rgba(255,255,255,.05);
}

/* CARD TITLES */

.corp-card h3{

    color:#fff;
    font-size:2rem;
    margin-bottom:25px;
    display:flex;
    align-items:center;
    gap:15px;
}

.corp-card h3 i{

    color:var(--primary);
}

/* CARD TEXT */

.corp-card p{

    color:#ddd;
    line-height:2;
}

.corp-card ul{

    list-style:none;
}

.corp-card ul li{

    color:#eee;
    margin-bottom:18px;
    display:flex;
    align-items:center;
    gap:12px;
}

.corp-card ul li i{

    color:#00ccff;
}

.subtitle-terms{
    color:var(--primary);
    font-weight:700;
    font-size:20px;
    display:block;
    margin-top:40px;
}

/*----------TERMINOS DESPLEGABLES-------------------*/

.terms-box{

    margin-top:25px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    padding:20px;
    transition:.3s ease;
}

.terms-container{

    margin-top:40px;
    display:flex;
    flex-direction:column;
    gap:20px;
}

.terms-box summary{

    cursor:pointer;
    font-size:20px;
    font-weight:700;
    color:var(--primary);
    list-style:none;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.terms-box summary::-webkit-details-marker{
    display:none;
}

.terms-box summary::after{

    content:"+";
    font-size:24px;
    transition:.3s;
}

.terms-box[open] summary::after{

    content:"−";
}

.terms-box p{

    margin-top:20px;
    line-height:1.9;
    color:#d6d6d6;
    font-size:15px;
}

.terms-box:hover{

    border-color:
    rgba(0,191,255,.35);
    transform:
    translateY(-3px);
    box-shadow:
    0 0 30px rgba(0,191,255,.12);
}

@media(max-width:768px){

    .terms-box{

        padding:18px;
    }

    .terms-box summary{

        font-size:17px;
    }

    .terms-box p{

        font-size:14px;
    }

}

/* ===== FOOTER ===== */

.footer{

    background:
    linear-gradient(
    180deg,
    #02111c,
    #000
    );

    padding:90px 10% 25px;

    border-top:
    1px solid rgba(0,191,255,.15);
}

/* LINEA GLOW */

.footer::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:3px;
    background:#00bfff;
    box-shadow:0 0 20px #00bfff;
}

/* CONTAINER */

.footer-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:40px;
}

/* BOXES */

.footer-box h2{
    color:#fff;
    margin-bottom:20px;
    font-size:28px;
}

.footer-box h3{
    color:#00bfff;
    margin-bottom:20px;
    font-size:22px;
    display:flex;
    align-items:center;
    gap:10px;
}

.footer-box p{
    color:#ccc;
    line-height:1.8;
    margin-bottom:15px;
    font-size:15px;
}

/* LOGO */

.footer-logo{
    width:100px;
    background:#fff;
    border-radius:20px;
    padding:8px;
    margin-bottom:20px;
    box-shadow:0 0 25px rgba(0,191,255,0.5);
}

/* LINKS */

.footer-box a{

    display:flex;
    align-items:flex-start;
    gap:14px;
    color:#ccc;
    text-decoration:none;
    margin-bottom:22px;
    transition:0.3s;
    font-size:15px;
    line-height:1.6;
    word-break:break-word;
    padding-bottom:12px;
    border-bottom:1px solid rgba(255,255,255,0.06);
}

.footer-box a i{

    color:#00bfff;
    font-size:18px;
    min-width:12px;
    margin-top:2px;
}

.footer-box a:hover{

    color:#00bfff;
    transform:translateX(6px);
    border-color:rgba(0,191,255,0.25);
}

/* REDES */

.social-icons{
    display:flex;
    gap:15px;
    margin-top:20px;
}

.social-icons a{
    width:45px;
    height:45px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#111;
    border-radius:50%;
    color:#fff;
    font-size:18px;
    transition:0.3s;
    border:1px solid rgba(255,255,255,0.1);
}

.social-icons a:hover{
    background:#00bfff;
    color:#000;
    transform:translateY(-5px);
    box-shadow:0 0 20px #00bfff;
}

/* COPYRIGHT */

.footer-bottom{
    margin-top:50px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,0.1);
    text-align:center;
}

.footer-bottom p{
    color:#888;
    font-size:14px;
}

/* RESPONSIVE */

@media(max-width:768px){

    .footer{
        padding:60px 20px 20px;
    }

    .footer-container{
        gap:50px;
    }

}

/* RESPONSIVE */

@media(max-width:900px){

    nav{
        padding:20px;
    }

    .hamburger{
        display:block;
    }

    .menu{
        position:absolute;
        top:80px;
        right:0;
        background:#000;
        width:250px;
        flex-direction:column;
        padding:20px;
        display:none;
        box-shadow:0 10px 30px rgba(0,0,0,.1);
    }

    .menu.active{
        display:flex;
    }

    .slide-content{
        left:20px;
        right:20px;
    }

    .slide-content h1,
    .promo-content h2{
        font-size:45px;
    }

    .about{
        grid-template-columns:1fr;
    }

    .section-title h2{
        font-size:35px;
    }

    .about-content h2{
        font-size:35px;
    }

}

@media(max-width:600px){

    .slide-content h1,
    .promo-content h2{
        font-size:35px;
    }

    .slide-content p,
    .promo-content p{
        font-size:16px;
    }

    .products,
    .about,
    .contact,
    .avisos{
        padding:80px 20px;
    }

    .stats{
        padding:40px 20px;
    }

}

.light{
    pointer-events: none;
    position:absolute;
    border-radius:50%;
    filter:blur(120px);
    opacity:.25;
    z-index:0;
}

.light-1{
    width:300px;
    height:300px;
    background:#00aaff;
    top:-100px;
    left:-100px;
}

.light-2{

    width:350px;
    height:350px;

    background:#0066ff;

    bottom:-120px;
    right:-100px;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:900px){

    .hero h1{

        font-size:3.2rem;
    }

    .corp-title h2{

        font-size:2.8rem;
    }

    .large{

        grid-column:span 1;
    }

    .menu{

        position:absolute;

        top:100%;
        right:20px;

        width:260px;

        background:
        rgba(0,0,0,1);
        backdrop-filter:blur(20px);

        flex-direction:column;

        padding:30px;

        display:none;

        border-radius:25px;

        box-shadow:
        0 15px 40px rgba(0,0,0,.15);
    }

    .menu.active{

        display:flex;
    }

    .hamburger{

        display:block;
    }

    .corp-card{

        padding:35px;
    }

    .corp-bg-logo{

        background-size:320px;
    }
}

@media(max-width:600px){

    header{

        height:90px;
    }

    .navbar{

        padding:0 20px;
    }

    .hero{

        margin-top:90px;

        min-height:calc(100vh - 90px);

        padding:80px 7% 40px;
    }

    .hero h1{

        font-size:2.5rem;
    }

    .hero p{

        font-size:1rem;
    }

    .hero-buttons{

        flex-direction:column;
    }

    .btn-primary,
    .btn-secondary{

        justify-content:center;
    }

    .logo-img{

        width:60px;
        height:60px;
    }

    .logo-text h1{

        font-size:18px;
    }

    .corp-title h2{

        font-size:2.2rem;
    }
}

@media(max-width:900px){

    .corp-grid{
        grid-template-columns:1fr;
        grid-template-areas:
            "quienes"
            "mision"
            "vision"
            "objetivo"
            "terminos";
    }

}

@media(max-width:900px){

    .corp-grid{
        grid-template-columns:1fr;
    }

    .quienes-card,
    .terminos-card{
        grid-column:auto;
    }

}

/* =========================
   ANIMATION
========================= */

@keyframes floatLogo{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-15px);
    }

    100%{
        transform:translateY(0px);
    }
}