@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Alatsi&display=swap');


:root {
    --primary-color: #052698; 
    --dark-bg: #03002E;       
    --text-color: #FFFFFF;
    --text-color-dark: #333;
    --gray-bg: #f4f4f4;
    --cta-color: #00bfff; 
}

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


html, body { overflow-x: hidden; width: 100%; margin: 0; }

body { color: var(--text-color-dark); font-family: 'Poppins', sans-serif; }


.navbar.navbar-dark { background-color: var(--primary-color); }
.navbar-brand img { height: 80px; }
.navbar-nav .nav-link {
    color:#a1a1a1; font-family: 'Inter'; font-weight: 700; font-size: 16px; line-height: 24px;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link:hover {
    font-weight: 600; opacity: 1.0; color: var(--text-color);
}


.hero {
    color: var(--text-color);
    overflow: visible; 
    position: relative;
    background-image: url('img/fundo2.png');
    background-size: cover;
    background-position: center 80%;
    background-repeat: no-repeat;
    padding: 90px 0 150px 0; 
}
.hero::before {
    content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.4); backdrop-filter: blur(1px); z-index: 0;
}
.hero > * { position: relative; z-index: 1; }
.hero .container .row { position: relative; z-index: 2; }

.hero-text h1 {
    font-family: 'Alatsi'; font-weight: 400; font-size: 60px; line-height: 77px; letter-spacing: -0.02em;
}
.hero-text p {
    font-family: 'Alatsi'; font-weight: 400; font-size: 40px; line-height: 51px;
}
.hero .btn-light {
    color: var(--primary-color); font-weight: bold; padding: 12px 25px;
}


.hero-image  {
    height: 400%; object-fit: contain; margin-bottom: -280px;
}
.hero-image img {
    position: absolute; height: 750px; width: auto;
    bottom: -160px; left: 80%; transform: translateX(-50%); z-index: 5;         
}


.slider-section { background-color: var(--primary-color); padding: 0; position: relative; z-index: 1; }
.slider-section .carousel-item { height: 650px; }
.slider-section .carousel-item img { height: 100%; width: 100%; object-fit: cover; }
.carousel-item img { display: block; margin-left: auto; margin-right: auto; object-fit: contain; }
.carousel-item { height: 500px; }


.about h2, .mission h2 {
    font-family: 'Alatsi'; font-weight: 400; font-size: 50px; line-height: 64px; letter-spacing: -0.02em;
}
.mission h2 { color: #052698; }
.about p, .mission p {
    font-family: 'Alatsi'; font-weight: 400; font-size: 24px; line-height: 31px; text-align: center;
}
.mission p { color: #052698; }
.mission { padding: 60px 0; text-align: center; }


.values { padding: 60px 0; background-color: var(--gray-bg); }
.value-card { text-align: center; padding: 20px; }
.value-card .icon {
    font-size: 48px; color: var(--primary-color); margin-bottom: 20px; background-color: #fcfcfc; width: 90px; height: 90px; line-height: 90px; border-radius: 50%;
}
.fa-lock.icon { background-color: transparent; border: 3px solid var(--primary-color); line-height: 84px; }
.value-card h3 {
    color: #052698; font-family: 'Inter'; font-weight: 700; font-size: 35px; line-height: 48px; text-align: center; letter-spacing: -0.02em;
}
.value-card p {
    font-family: 'Inter'; font-weight: 700; font-size: 18px; color: #052698; line-height: 24px; text-align: center;
}


.footer { background-color: var(--primary-color); color: var(--text-color); padding-top: 20px; padding-bottom: 20px; }
.footer-logo img {
    height: 140px; margin-bottom: 0; margin-top: -15px; margin-left: 150px; max-width: 100%;
}
.footer-info { margin-left: -140px; }
.footer-info1 { padding-left: 200px; }
.footer-info1 h3, .footer-info h3 { font-size: 18px; margin-bottom: 10px; font-weight: bold; }
.footer-info1 p, .footer-info p { font-size: 14px; color: #a0a0a0; line-height: 1.4; margin-bottom: 5px; }
.social-icons { margin-top: 20px; }
.social-icons a { color: var(--text-color); text-decoration: none; font-size: 25px; transition: color 0.3s; }
.social-icons a:hover { color: var(--cta-color); }


.projects-section { background-color: #010F58; padding: 60px 0; min-height: 80vh; }
.section-title {
    font-family: 'Alatsi'; font-weight: 400; font-size: 50px; line-height: 64px; letter-spacing: -0.02em; color: #ffff; margin-bottom: 10px;
}
.project-card {
    background-color: #ffffff; border-radius: 20px; overflow: hidden; margin-bottom: 100px; box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}
.project-card .row { min-height: 400px; }
.project-title {
    font-family: 'Alatsi'; font-weight: 400; font-size: 34px; line-height: 31px; margin-top: -80px; color: #052698;
}
.project-desc {
    font-family: 'Inter'; font-weight: 700; font-size: 20px; line-height: 24px; margin-top: 50px; text-align: justify; color: #052698;
}
.project-img { max-height: 850px; width: auto; margin: 0 auto; display: block; padding: 0px; }
.project-card .col-md-6 {
    padding: 30px !important; display: flex; flex-direction: column; align-items: flex-start; justify-content: center;  
}
.gray-placeholder { background-color: #adb5bd; height: 550px; width: 100%; }
.btn-custom {
    background-color: #052698; color: #fff; padding: 15px 24px; border-radius: 5px; font-weight: 600; font-size: 14px; border: none; margin-top: 15px; transition: background 0.3s; text-decoration: none; display: inline-block;
}
.btn-custom:hover { background-color: #031b6e; color: #fff; }


.lamina-hero, .tech-hero { background-color: #010F58; padding: 60px 0; color: #fff; }
.tech-hero { background-color: #052698; width: 100%; min-height: 550px; display: flex; align-items: center; padding-bottom: 40px; }
.page-title, .tech-title, .contact-title {
    font-family: 'Alatsi'; font-weight: 400; font-size: 50px; line-height: 64px; letter-spacing: -0.02em; margin-bottom: 60px;
}
.contact-title { color: #052698; margin-bottom: 40px; }
.tech-hero-desc { font-family: 'Alatsi'; font-weight: 400; font-size: 24px; line-height: 31px; text-align: justify; margin-top: 30px; }
.hero-man-img { max-height: 550px; width: auto; display: block; margin: 0 auto; margin-top: 100px; }
.btn-white { font-family: 'Inter'; background-color: #ffffff; color: #052698; font-weight: 700; padding: 12px 30px; border-radius: 5px; text-decoration: none; transition: opacity 0.3s; }
.btn-white:hover { opacity: 0.9; color: #052698; }
.lamina-feature, .tech-content, .contact-section { background-color: #f4f4f4; padding: 80px 0; }
.tech-content { background-color: #EFEFEF; color: #333; }
.lamina-tech { background-color: #010F58; padding: 80px 0; }
.bg-dark-blue { background-color: #010F58; }
.feature-text, .tech-text, .contact-subtitle { font-family: 'Inter'; color: #010F58; font-size: 20px; font-weight: 700; line-height: 1.6; margin-bottom: 20px; text-align: justify; }
.tech-text { color: #ffffff; font-size: 18px; }
.contact-subtitle { font-family: 'Alatsi'; font-size: 24px; font-weight: 400; text-align: center; }
.tech-item { margin-bottom: 50px; }
.tech-item h3 { color: #052698; font-family: 'Alatsi'; font-weight: 400; font-size: 40px; line-height: 51px; letter-spacing: -0.02em; }
.tech-item p { color: #052698; font-family: 'Alatsi'; font-weight: 400; font-size: 24px; line-height: 31px; text-align: justify; margin-top: 30px; }
.contact-section { min-height: 70vh; }
.cognita-form .form-label { color: #052698; font-family: 'Alatsi'; font-weight: 400; font-size: 24px; text-align: center; }
.cognita-form .form-control { background-color: #FFFFFF; border: none; border-radius: 8px; padding: 15px; font-size: 16px; color: #333; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
.btn-submit { background-color: #052698; color: #FFFFFF; font-family: 'Inter'; font-weight: 600; font-size: 16px; padding: 12px 40px; border-radius: 8px; border: none; transition: background 0.3s ease; }
.btn-submit:hover { background-color: #031b6e; color: #FFFFFF; }




@media (max-width: 992px) {
    
   
    .navbar-brand img { height: 50px; }

    
    .hero {
        padding: 40px 0 40px 0 !important;
        overflow: hidden !important;
        text-align: center !important;
    }
    .hero .container .row {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }
    .hero-text {
        width: 100% !important;
        padding: 0 15px !important;
        z-index: 10 !important;
        text-align: center !important;
    }

    
    .hero-text h1 {
        font-size: 32px !important; 
        line-height: 1.2 !important;
        margin-bottom: 15px !important;
        text-align: center !important;
    }
    .hero-text p {
        font-size: 18px !important; 
        line-height: 1.5 !important;
        text-align: center !important;
        margin-bottom: 25px !important;
    }
    .hero .btn-light {
        font-size: 16px !important;
        padding: 12px 25px !important; 
        display: inline-block !important;
        margin: 0 auto !important;
    }

    
    .hero-image {
        display: none !important;
    }

   
    .slider-section .carousel-item, .carousel-item { height: 220px !important; }
    .slider-section .carousel-item img { 
        object-fit: cover !important; 
        object-position: 20% center !important; 
    }

    
    .footer { text-align: center !important; padding: 30px 0 10px 0 !important; }
    .footer .row { display: flex !important; flex-direction: column !important; gap: 20px !important; }
    
    .footer .col-md-4, .footer .col-md-5, .footer .col-md-3 {
        width: 100% !important; margin: 0 !important; padding: 0 15px !important; text-align: center !important;
    }
    .footer-logo img {
        margin: 0 auto 15px auto !important; height: 50px !important; display: block !important;
    }
    .footer-info { margin-left: 0 !important; }
    .footer-info1 { padding-left: 0 !important; margin-left: 0 !important; }
    .social-icons { justify-content: center !important; }
    .footer .text-end { text-align: center !important; }

    
    .footer-info h3, .footer-info1 h3 { font-size: 20px !important; margin-bottom: 8px !important; }
    .footer-info p, .footer-info1 p { font-size: 16px !important; line-height: 1.4 !important; }

    
    .about h2, .mission h2 {
        font-size: 30px !important; 
        margin-bottom: 15px !important;
        line-height: 1.2 !important;
    }
    .about p, .mission p {
        font-size: 17px !important; 
        line-height: 1.5 !important;
        padding: 0 15px !important; 
    }
    .values .value-card h3 {
        font-size: 22px !important; 
    }
    .values .value-card p {
        font-size: 16px !important; 
        padding: 0 10px !important;
    }

    
    .project-card { margin-bottom: 30px !important; }
    .project-card .row { display: flex !important; flex-direction: column !important; min-height: auto !important; }
    
    .project-title { 
        margin-top: 0 !important; 
        font-size: 28px !important; 
        text-align: center !important; 
    }
    .project-desc { 
        margin-top: 10px !important; 
        font-size: 17px !important; 
        text-align: center !important; 
        line-height: 1.5 !important; 
    }
    .project-img { max-height: 250px !important; }
    .gray-placeholder { height: 200px !important; }
    .project-card .col-md-6 { padding: 20px !important; align-items: center !important; text-align: center !important; }

    
    .tech-hero, .lamina-hero, .contact-section { padding: 30px 0 !important; min-height: auto !important; }
    
    .tech-title, .page-title, .contact-title { 
        font-size: 32px !important; 
        text-align: center !important; 
        margin-bottom: 20px !important;
    }
    .hero-man-img { display: none !important; }
    
    .tech-hero-desc, .feature-text, .tech-text { 
        font-size: 17px !important; 
        text-align: center !important; 
        line-height: 1.6 !important;
        padding: 0 10px !important;
    }
    .contact-subtitle { font-size: 18px !important; padding: 0 10px !important; }
    
    .tech-item h3 { font-size: 24px !important; } 
    .tech-item p { font-size: 17px !important; text-align: left !important; } 
    
    .cognita-form .form-label { font-size: 20px !important; }
    
    .btn-white { font-size: 14px !important; } 
}