/* ==========================================================
   LA GUARDIA TRANSPORTES
========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Inter',sans-serif;

    background:#050608;

    color:#FFF;

    overflow-x:hidden;

}

img{

    max-width:100%;
    display:block;

}

a{

    text-decoration:none;

}

.container{

    max-width:1400px;

}

/* =======================================================
   HEADER
======================================================= */

:root{
    --primary:#0077ff;
    --dark:#050608;
    --white:#ffffff;
    --transition:.35s ease;
}

#header{

    position:absolute;
    top:0;
    left:0;
    width:100%;
    z-index:999;

}

#header .navbar{

    padding:18px 0;
    transition:.35s ease;

}

#header .container{

    max-width:1400px;

}

.logo{

    width:450px;
    transition:.35s ease;

}

.navbar-nav{

    margin-left:auto;
    align-items:center;

}

.nav-item{

    margin:0 10px;

}

.nav-link{

    color:#FFF !important;
    font-size:15px;
    font-weight:500;
    transition:.30s ease;
    position:relative;

}

.nav-link:hover{

    color:var(--primary) !important;

}

.nav-link::after{

    content:'';
    position:absolute;
    left:0;
    bottom:-6px;
    width:0;
    height:2px;
    background:var(--primary);
    transition:.30s ease;

}

.nav-link:hover::after{

    width:100%;

}

.header-social{

    display:flex;
    align-items:center;
    margin-left:25px;

}

.header-social a{

    color:#FFF;
    font-size:20px;
    margin:0 10px;
    transition:.30s ease;

}

.header-social a:hover{

    color:var(--primary);
    transform:translateY(-2px);

}

.btn-intranet{

    margin-left:30px;
    border-radius:50px;
    padding:11px 24px;
    font-weight:600;
    background:#0077ff;
    border:none;
    transition:.30s ease;

}

.btn-intranet:hover{

    transform:translateY(-2px);
    box-shadow:0 12px 30px rgba(0,119,255,.35);

}

.navbar-toggler{

    border:none;
    box-shadow:none !important;

}

.navbar-toggler:focus{

    box-shadow:none;

}

.navbar-toggler-icon{

    filter:brightness(100);

}

/* Header após scroll */

#header.scrolled{

    position:fixed;

}

#header.scrolled .navbar{

    background:rgba(5,6,8,.88);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    padding:18px 0;

    box-shadow:0 10px 35px rgba(0,0,0,.25);

}

#header.scrolled .logo{

    width:165px;

}

/* Mobile */

@media(max-width:991px){

    #header .navbar{

        background:#050608;

        padding:18px 0;

    }

    .navbar-collapse{

        margin-top:25px;

        text-align:center;

    }

    .nav-item{

        margin:10px 0;

    }

    .header-social{

        justify-content:center;

        margin:25px 0;

    }

    .btn-intranet{

        width:100%;

        margin:15px 0 0;

    }

}

/* =======================================================
   HERO
======================================================= */

#hero{

    position:relative;

    min-height:100vh;

    display:flex;

    align-items:center;

    background:url("../img/wall.png") center center;

    background-size:cover;

    background-repeat:no-repeat;

    overflow:hidden;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(

        to right,

        rgba(0,0,0,.55) 0%,

        rgba(0,0,0,.35) 18%,

        rgba(0,0,0,.10) 40%,

        rgba(0,0,0,0) 65%

    );

}

.hero-content{

    position:relative;

    z-index:2;

    max-width:760px;

    padding-top:120px;

}

.hero-content h1{

    font-size:76px;

    font-weight:800;

    line-height:1;

    color:#FFF;

    margin-bottom:35px;

    text-transform:uppercase;

    letter-spacing:-2px;

}

.hero-content h1 span{

    background:linear-gradient(180deg,#FFFFFF,#A8A8A8);

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

}

.hero-content p{

    color:#E4E4E4;

    font-size:24px;

    line-height:1.7;

    max-width:700px;

    margin-bottom:45px;

}

.hero-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.hero-buttons .btn{

    border-radius:50px;

    padding:16px 34px;

    font-weight:600;

}

.hero-buttons .btn-outline-light{

    border-width:2px;

}

.hero-buttons .btn-outline-light:hover{

    background:#FFF;

    color:#000;

}

.hero-buttons .btn-primary{

    background:#0077ff;

    border:none;

}

.hero-buttons .btn-primary:hover{

    background:#0063d4;

}

@media(max-width:991px){

    .hero-content{

        text-align:center;

        padding-top:170px;

    }

    .hero-content h1{

        font-size:52px;

    }

    .hero-content p{

        font-size:20px;

    }

    .hero-buttons{

        justify-content:center;

    }

}

@media(max-width:576px){

    .hero-content h1{

        font-size:40px;

        line-height:1.05;

    }

    .hero-content p{

        font-size:18px;

    }

    .hero-buttons .btn{

        width:100%;

    }

}

/* =======================================================
        QUEM SOMOS
======================================================= */

#quem_somos{

    background:#1b1b1f;

    padding:120px 0;

}

.about-text{

    padding-right:40px;

}

.section-tag{

    color:#0077ff;

    font-weight:700;

    letter-spacing:2px;

    font-size:15px;

    display:block;

    margin-bottom:20px;

}

.about-text h2{

    font-size:48px;

    font-weight:800;

    color:#fff;

    margin-bottom:30px;

    line-height:1.15;

}

.about-text p{

    color:#B8B8B8;

    font-size:19px;

    line-height:1.8;

}

/* Accordion */

.accordion{

    --bs-accordion-bg:transparent;

    --bs-accordion-border-color:#0077ff;

    --bs-accordion-btn-bg:transparent;

    --bs-accordion-active-bg:#0077ff;

    --bs-accordion-active-color:#fff;

    --bs-accordion-btn-color:#fff;

    --bs-accordion-color:#ddd;

}

.accordion-item{

    margin-bottom:18px;

    border:1px solid #0077ff;

    border-radius:12px!important;

    overflow:hidden;

}

.accordion-button{

    font-size:20px;

    font-weight:600;

    padding:22px 28px;

    box-shadow:none!important;

}

.accordion-button::after{

    filter:invert(1);

}

.accordion-body{

    color:#CFCFCF;

    line-height:1.8;

    padding:0 28px 24px;

}

@media(max-width:991px){

    #quem_somos{

        padding:80px 0;

    }

    .about-text{

        padding-right:0;

        margin-bottom:50px;

        text-align:center;

    }

    .about-text h2{

        font-size:38px;

    }

}

/* =======================================================
        PILARES
======================================================= */

#pilares{

    background:#000;

    padding:70px 0 120px;

}

.pillar-card{

    border:1px solid #0077ff;

    border-radius:18px;

    padding:40px;

    height:100%;

    transition:.35s;

    background:#050608;

}

.pillar-card:hover{

    transform:translateY(-8px);

    border-color:#3d95ff;

    box-shadow:0 20px 45px rgba(0,119,255,.15);

}

.pillar-card i{

    font-size:48px;

    color:#0077ff;

    margin-bottom:25px;

}

.pillar-card h3{

    color:#fff;

    font-size:30px;

    font-weight:700;

    margin-bottom:20px;

}

.pillar-card p{

    color:#B8B8B8;

    line-height:1.8;

    margin:0;

}

/* =======================================================
        SOLUÇÕES
======================================================= */

#solucoes{

    background:#050608;

    padding:120px 0;

}

.section-title{

    max-width:700px;

    margin:0 auto 70px;

}

.section-title span{

    color:#0077ff;

    font-size:15px;

    font-weight:700;

    letter-spacing:2px;

}

.section-title h2{

    color:#FFF;

    font-size:52px;

    font-weight:800;

    margin:18px 0;

}

.section-title p{

    color:#B8B8B8;

    font-size:20px;

    line-height:1.8;

}

.solution-card{

    background:#111215;

    border:1px solid rgba(0,119,255,.35);

    border-radius:22px;

    overflow:hidden;

    transition:.35s;

    height:100%;

}

.solution-card:hover{

    transform:translateY(-10px);

    border-color:#0077ff;

    box-shadow:0 20px 45px rgba(0,119,255,.18);

}

.solution-card img{

    width:100%;

    height:330px;

    object-fit:cover;

    transition:.6s;

}

.solution-card:hover img{

    transform:scale(1.06);

}

.solution-content{

    padding:28px;

}

.solution-content h3{

    color:#FFF;

    font-size:26px;

    font-weight:700;

    margin-bottom:18px;

}

.solution-content p{

    color:#BEBEBE;

    line-height:1.7;

    margin:0;

}

@media(max-width:991px){

    #solucoes{

        padding:90px 0;

    }

    .section-title h2{

        font-size:38px;

    }

}

/* =======================================================
   CONTATO
======================================================= */

#contato{

    padding:110px 0;

    background:#050608;

}

.section-badge{

    color:#0077ff;

    font-size:15px;

    font-weight:700;

    letter-spacing:2px;

    display:block;

    margin-bottom:20px;

}

.contact-title{

    color:#FFF;

    font-size:52px;

    font-weight:800;

    margin-bottom:25px;

}

.contact-text{

    color:#CFCFCF;

    font-size:20px;

    line-height:1.8;

    margin-bottom:40px;

}

.contact-info div{

    color:#FFF;

    margin-bottom:18px;

    font-size:18px;

    display:flex;

    align-items:center;

}

.contact-info i{

    color:#0077ff;

    font-size:22px;

    width:40px;

}

.contact-form{

    padding:45px;

    border:1px solid rgba(255,255,255,.08);

    border-radius:22px;

    background:#0C0D11;

}

.contact-form label{

    color:#FFF;

    margin-bottom:8px;

    font-weight:500;

}

.contact-form .form-control{

    background:transparent;

    border:1px solid rgba(255,255,255,.15);

    color:#FFF;

    border-radius:12px;

    padding:15px;

    transition:.30s;

}

.contact-form .form-control::placeholder{

    color:#8B8B8B;

}

.contact-form .form-control:focus{

    border-color:#0077ff;

    box-shadow:0 0 0 .15rem rgba(0,119,255,.15);

    background:transparent;

    color:#FFF;

}

textarea.form-control{

    resize:none;

}

.btn-send{

    width:100%;

    height:60px;

    border-radius:14px;

    font-weight:700;

    font-size:16px;

    letter-spacing:.5px;

    background:#0077ff;

    border:none;

    transition:.30s;

}

.btn-send:hover{

    transform:translateY(-2px);

    box-shadow:0 12px 30px rgba(0,119,255,.35);

}

@media(max-width:991px){

    #contato{

        padding:80px 0;

    }

    .contact-title{

        font-size:40px;

    }

    .contact-text{

        font-size:18px;

    }

    .contact-form{

        padding:30px;

    }

}