.container {
    max-width: 1300px;
    margin: auto
}

.text-center {
    text-align: center
}

.border-bottom {
    height: 3px;
    width: 15.3rem;
    background-color: #1e90ff;
    margin: 1rem auto
}

.btn {
    padding: 16px 34px;
    border-radius: 6px;
    font-weight: 700;
    transition: 0.3s;
    display: inline-block
}

.btn-primary {
    background: #001a4d;
    color: #fff
}

    .btn-primary:hover {
        background: #fff;
        color: #001a4d;
        transform: translateY(-3px)
    }

.btn-secondary {
    background: #001a4d;
    color: #fff
}

    .btn-secondary:hover {
        background: #fff;
        color: #001a4d;
        transform: translateY(-3px)
    }

.whatsapp-btn {
    position: fixed;
    right: 25px;
    bottom: 25px;
    width: 55px;
    height: 55px;
    border: 2px solid #25d366;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    color: #25d366;
    z-index: 9999;
    box-shadow: 0 10px 25px rgba(20,30,50,0.92);
    transition: 0.3s
}

    .whatsapp-btn:hover {
        transform: scale(1.1)
    }

#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(20,30,50,0.92);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 99999
}

.loader {
    width: 60px;
    height: 60px;
    border: 5px solid rgba(255,255,255,0.08);
    border-top: 5px solid #1e90ff;
    border-radius: 50%;
    animation: spin 1s linear infinite
}

#preloader p {
    margin-top: 15px;
    color: #fff;
    font-size: 16px;
    letter-spacing: 1px
}

@keyframes spin {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    background: rgba(20,30,50,0.92);
    backdrop-filter: blur(2px);
    border-bottom: 1px solid #fff
}

    header #navbar {
        width: 90%;
        height: 90px;
        display: flex;
        align-items: center;
        justify-content: space-between
    }

        header #navbar .nav-logo {
            display: flex;
            align-items: center
        }

            header #navbar .nav-logo img {
                height: 80px;
                width: auto;
                display: block
            }

        header #navbar .nav-menu {
            display: flex;
            align-items: center;
            gap: 35px
        }

            header #navbar .nav-menu li {
                list-style: none
            }

            header #navbar .nav-menu a {
                font-size: 17px;
                font-weight: 600;
                color: #fff;
                text-decoration: none;
                position: relative;
                transition: 0.3s
            }

                header #navbar .nav-menu a::after {
                    content: "";
                    position: absolute;
                    left: 0;
                    bottom: -8px;
                    width: 0%;
                    height: 2px;
                    background: #1e90ff;
                    transition: 0.3s
                }

                header #navbar .nav-menu a:hover {
                    color: #1e90ff
                }

                    header #navbar .nav-menu a:hover::after {
                        width: 100%
                    }

        header #navbar .menu-btn {
            display: none;
            flex-direction: column;
            gap: 5px;
            cursor: pointer
        }

            header #navbar .menu-btn span {
                width: 28px;
                height: 3px;
                background: #fff;
                border-radius: 5px
            }

#hero {
    position: relative;
    min-height: 100vh;
    overflow: hidden
}

    #hero .hero-slide {
        position: absolute;
        inset: 0;
        opacity: 0;
        transition: 0.8s ease
    }

        #hero .hero-slide.active {
            opacity: 1
        }

    #hero .hero-bg {
        position: absolute;
        inset: 0;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat
    }

        #hero .hero-bg::after {
            content: "";
            position: absolute;
            inset: 0;
            background: rgba(0,0,0,0.55)
        }

    #hero .hero-logo {
        position: absolute;
        inset: 0;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center
    }

    #hero .hero-center-title {
        font-size: 28px;
        font-weight: 700;
        letter-spacing: 5px;
        text-transform: uppercase;
        color: rgba(255,255,255,0.92);
        text-shadow: 0 4px 20px rgba(0,0,0,0.8);
        opacity: 0;
        transform: translateX(-120px);
        transition: all 1.2s ease
    }

        #hero .hero-center-title.animate {
            animation: slideInText 1.4s ease forwards
        }

@keyframes slideInText {
    from {
        opacity: 0;
        transform: translateX(-180px)
    }

    to {
        opacity: 0.9;
        transform: translateX(0)
    }
}

#hero .hero-slide.active .hero-center-title {
    transform: translateX(0);
    opacity: 0.25
}

#hero .hero-content {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 140px 8%
}

#hero .hero-subtitle {
    color: #1e90ff;
    margin-bottom: 20px;
    font-weight: 700;
    font-size: 20px;
    text-transform: uppercase
}

#hero .hero-title {
    font-size: 70px;
    line-height: 1.1;
    color: #fff;
    margin-bottom: 25px;
    max-width: 850px
}

#hero .hero-text {
    color: rgba(255,255,255,0.9);
    line-height: 1.8;
    font-size: 18px;
    margin-bottom: 35px;
    max-width: 700px
}

#hero .hero-buttons {
    display: flex;
    gap: 20px;
    flex-wrap: wrap
}

#hero .slider-indicators {
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    display: flex;
    flex-direction: column;
    gap: 10px
}

    #hero .slider-indicators .bar {
        width: 4px;
        height: 30px;
        border-radius: 3px;
        cursor: pointer;
        transition: 0.3s ease;
        background: rgba(255,255,255,0.4)
    }

        #hero .slider-indicators .bar.active {
            background: #fff;
            height: 45px
        }

#info-section {
    width: 90%;
    max-width: 1300px;
    margin: auto;
    margin-top: -80px;
    position: relative;
    z-index: 5;
    padding: 20px
}

    #info-section .infos {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 25px
    }

    #info-section .infos-card {
        backdrop-filter: blur(7px);
        padding: 35px;
        border-radius: 3px;
        transition: 0.4s;
        border: 3px solid #001a4d;
        position: relative;
        overflow: hidden;
        min-height: 280px
    }

        #info-section .infos-card img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: 0
        }

        #info-section .infos-card::before {
            content: "";
            position: absolute;
            inset: 0;
            backdrop-filter: blur(3px);
            -webkit-backdrop-filter: blur(3px);
            background: rgba(0,0,0,0.85);
            z-index: 1
        }

        #info-section .infos-card .card-title, #info-section .infos-card p {
            position: relative;
            z-index: 2
        }

        #info-section .infos-card .card-tittle {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 20px
        }

            #info-section .infos-card .card-tittle i {
                z-index: 2;
                font-size: 28px;
                color: #1e90ff;
                line-height: 1;
                display: flex;
                align-items: center;
                justify-content: center
            }

            #info-section .infos-card .card-tittle h3 {
                z-index: 2;
                color: #1e90ff;
                font-size: 24px;
                margin: 0;
                line-height: 1;
                display: flex;
                align-items: center
            }

        #info-section .infos-card p {
            color: #fff;
            line-height: 1.8
        }

#stats-section {
    width: 90%;
    max-width: 1300px;
    margin: 100px auto
}

#stats-section-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 25px
}

    #stats-section-container .stat-box {
        background: rgba(20,30,50,0.92) !important;
        padding: 45px 25px;
        border-radius: 18px;
        text-align: center;
        border: 2px solid #001a4d !important;
        transition: 0.3s
    }

        #stats-section-container .stat-box:hover {
            transform: translateY(-8px);
            border-color: #001a4d !important
        }

        #stats-section-container .stat-box h2 {
            color: #1e90ff !important;
            font-size: 48px;
            margin-bottom: 10px
        }

        #stats-section-container .stat-box p {
            color: #fff !important;
            font-size: 17px
        }

#about {
    width: 90%;
    max-width: 1300px;
    margin: 120px auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center
}

    #about .about-image img {
        border: 2px solid #001a4d;
        border-radius: 20px;
        height: 100%;
        object-fit: cover;
        box-shadow: 0 20px 40px #111
    }

    #about .about-content span {
        font-size: 20px;
        color: #1e90ff;
        font-weight: 700
    }

    #about .about-content h2 {
        font-size: 40px;
        line-height: 1;
        margin: 20px 0
    }

    #about .about-content p {
        color: #fff;
        line-height: 1.9;
        margin-bottom: 25px
    }

#project {
    max-width: 1300px;
    margin: 130px auto;
    background: #0f1720
}

#project-title {
    text-align: center;
    margin-bottom: 60px
}

    #project-title h1 {
        font-size: 44px;
        margin: 20px 0;
        color: #1e90ff
    }

    #project-title p {
        color: #fff;
        line-height: 1.8;
        font-size: 20px
    }

#project-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px
}

    #project-grid .project-card {
        background: rgba(20,30,50,0.92);
        border-radius: 16px;
        overflow: hidden;
        transition: 0.4s;
        border: 1px solid #001a4d
    }

        #project-grid .project-card:hover {
            transform: translateY(-8px)
        }

        #project-grid .project-card img {
            width: 100%;
            object-fit: cover;
            display: block;
        }

        #project-grid .project-card .project-content {
            padding: 18px
        }

            #project-grid .project-card .project-content h3 {
                color: #1e90ff;
                font-size: 18px;
                margin-bottom: 15px
            }

            #project-grid .project-card .project-content p {
                color: #fff;
                line-height: 1.5;
                font-size: 15px
            }

#services-section {
    width: 90%;
    max-width: 1300px;
    margin: 140px auto
}

    #services-section .services-header {
        text-align: center;
        margin-bottom: 60px
    }

        #services-section .services-header .services-mini-title {
            color: #1e90ff;
            font-weight: 700;
            font-size: 30px;
            letter-spacing: 1px
        }

        #services-section .services-header h1 {
            font-size: 44px;
            margin: 20px 0
        }

        #services-section .services-header p {
            font-size: 20px;
            color: #fff;
            line-height: 1.8;
            max-width: 700px;
            margin: auto
        }

    #services-section .services-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 30px
    }

    #services-section .service-card {
        background: rgba(20,30,50,0.92);
        border-radius: 18px;
        overflow: hidden;
        transition: 0.3s;
        border: 1px solid #001a4d
    }

        #services-section .service-card:hover {
            transform: translateY(-10px);
            border-color: #001a4d
        }

        #services-section .service-card img {
            width: 100%;
            height: 240px;
            object-fit: cover
        }

        #services-section .service-card .service-content {
            padding: 25px
        }

            #services-section .service-card .service-content h3 {
                color: #1e90ff;
                margin-bottom: 15px
            }

            #services-section .service-card .service-content p {
                color: #fff;
                line-height: 1.8
            }

#contact {
    width: 90%;
    max-width: 1300px;
    margin: 120px auto
}

#contact-container .contact-title {
    color: #1e90ff;
    width: 9rem;
    font-size: 42px;
    margin-bottom: 10px
}

#contact-container .contact-subtitle {
    color: #fff;
    margin-bottom: 40px;
    line-height: 1.6
}

#contact-container .contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px
}

#contact-container .contact-grid-form {
    display: flex;
    flex-direction: column;
    gap: 15px
}

    #contact-container .contact-grid-form input {
        padding: 15px;
        border: none;
        outline: none;
        border-radius: 8px;
        background: #18222f;
        color: #fff
    }

    #contact-container .contact-grid-form textarea {
        padding: 15px;
        border: none;
        outline: none;
        border-radius: 8px;
        background: #18222f;
        color: #fff;
        min-height: 140px;
        resize: none
    }

    #contact-container .contact-grid-form button {
        padding: 15px;
        border: none;
        color: #fff;
        background: #001a4d;
        font-weight: bold;
        cursor: pointer;
        border-radius: 8px;
        transition: 0.3s
    }

        #contact-container .contact-grid-form button:hover {
            background: #fff;
            color: #001a4d
        }

#contact-container .contact-grid .contact-info {
    background: #18222f;
    padding: 30px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    gap: 25px
}

    #contact-container .contact-grid .contact-info i {
        color: #1e90ff;
        align-items: center;
        margin-right: 10px
    }

    #contact-container .contact-grid .contact-info a {
        color: #fff;
        transition: 0.3s
    }

        #contact-container .contact-grid .contact-info a:hover {
            color: #1e90ff;
            padding-left: 5px
        }

    #contact-container .contact-grid .contact-info h4 {
        color: #1e90ff;
        margin-bottom: 5px
    }

#map-section {
    width: 90%;
    max-width: 1300px;
    margin: 80px auto
}

    #map-section p {
        color: #fff;
        margin-bottom: 40px;
        line-height: 1.6
    }

    #map-section h2 {
        color: #1e90ff;
        width: 12.2rem;
        font-size: 32px;
        margin-bottom: 20px
    }

    #map-section .map-box iframe {
        border-radius: 12px
    }

#about-text-section {
    width: 90%;
    max-width: 1300px;
    margin: 140px auto 50px auto
}

    #about-text-section .about-text-container {
        background: rgba(20,30,50,0.92);
        padding: 25px;
        border-radius: 20px;
        border: 1px solid #001a4d
    }

        #about-text-section .about-text-container .about-mini-title {
            color: #1e90ff;
            font-size: 30px;
            font-weight: 700
        }

        #about-text-section .about-text-container h1 {
            color: #1e90ff;
            font-size: 52px;
            line-height: 1.2;
            margin: 10px 0 30px 0
        }

        #about-text-section .about-text-container p {
            color: #fff;
            line-height: 2;
            margin-bottom: 25px;
            font-size: 17px
        }

#mission-vision {
    width: 90%;
    max-width: 1300px;
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px
}

    #mission-vision .mission-card, #mission-vision .vision-card {
        background: rgba(20,30,50,0.92);
        padding: 40px;
        border: 1px solid #001a4d;
        border-radius: 16px;
        transition: 0.3s
    }

        #mission-vision .mission-card:hover, #mission-vision .vision-card:hover {
            transform: translateY(-8px)
        }

        #mission-vision .mission-card h2, #mission-vision .vision-card h2 {
            color: #1e90ff;
            margin-bottom: 20px
        }

        #mission-vision .mission-card p, #mission-vision .vision-card p {
            color: #fff;
            line-height: 1.8
        }

#references-section {
    width: 90%;
    max-width: 1300px;
    margin: 100px auto
}

    #references-section .references-header {
        text-align: center;
        margin-bottom: 60px
    }

        #references-section .references-header .mini-title {
            color: #1e90ff;
            font-size: 28px;
            font-weight: 700
        }

        #references-section .references-header h1 {
            font-size: 44px;
            margin: 20px 0
        }

        #references-section .references-header p {
            font-size: 18px;
            color: #fff;
            line-height: 1.8
        }

    #references-section #references-wrapper {
        overflow: hidden
    }

    #references-section #references-grid {
        display: flex;
        gap: 25px;
        overflow-x: auto;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none
    }

        #references-section #references-grid::-webkit-scrollbar {
            display: none
        }

    #references-section .reference-box {
        flex: 0 0 calc((100% - 75px) / 4);
        background: rgba(20,30,50,0.92);
        border-radius: 18px;
        padding: 35px 20px;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        border: 1px solid #001a4d;
        scroll-snap-align: center
    }

        #references-section .reference-box img {
            width: 90px;
            height: 90px;
            object-fit: contain;
            margin-bottom: 20px
        }

        #references-section .reference-box h3 {
            color: #fff;
            font-size: 18px
        }

    #references-section .ref-controls {
        display: flex;
        justify-content: center;
        gap: 20px;
        margin-top: 25px
    }

    #references-section .ref-btn {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        border: 1px solid rgba(255,255,255,0.2);
        background: rgba(255,255,255,0.1);
        backdrop-filter: blur(6px);
        color: #fff;
        font-size: 20px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: 0.3s ease
    }

footer {
    background: rgba(20,30,50,0.92);
    padding-top: 60px;
    border-top: 1px solid #fff;
}

footer .footer-logo {
    display: flex;
    align-items: center
}

        footer .footer-logo img {
            width: 170px;
            object-fit: contain
        }

    footer .footer {
        width: 90%;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 40px;
        padding-bottom: 50px
    }

    footer .footer-box h3 {
        color: #1e90ff;
        margin-bottom: 25px;
        font-size: 24px
    }

    footer .footer-box i {
        color: #1e90ff;
        margin-right: 10px
    }

    footer .footer-box .location {
        color: #fff;
        margin-top: 1.2rem;
        align-items: baseline
    }

    footer .footer-box p, footer .footer-box a {
        color: #fff;
        display: flex;
        align-items: center;
        line-height: 1.7;
        transition: 0.3s;
    }

        footer .footer-box a:hover {
            color: #1e90ff;
            padding-left: 5px
        }

    footer .footer-bottom {
        border-top: 1px solid #fff;
        text-align: center;
        padding: 25px;
        color: #fff;
        font-size: 14px
    }

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

body {
    font-family: "Inter", sans-serif;
    background: #0f1720;
    color: #fff;
    overflow-x: hidden
}

a {
    text-decoration: none;
    color: inherit
}

ul {
    list-style: none
}

img {
    width: 100%;
    display: block
}

@media (max-width: 1200px) {
    #hero .hero-content .hero-title {
        font-size: 58px
    }

    #about {
        gap: 40px
    }

        #about .about-content h2 {
            font-size: 42px
        }

    #about-text-section .about-text-container h1 {
        font-size: 44px
    }

    #stats-section-container {
        grid-template-columns: repeat(2, 1fr)
    }

    #project-grid {
        grid-template-columns: repeat(3, 1fr)
    }

    #project-title h1 {
        font-size: 38px
    }

    #references-section .references-header h1 {
        font-size: 44px
    }

    #references-section .references-header .mini-title {
        font-size: 34px
    }

    #references-section #references-grid {
        grid-template-columns: repeat(3, 1fr)
    }

    #contact-container .contact-title {
        font-size: 38px
    }

    #contact-container .contact-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px
    }

    #map-section h2 {
        font-size: 30px
    }

    footer .footer {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px
    }

        footer .footer .footer-box:nth-child(1), footer .footer .footer-box:nth-child(2) {
            grid-row: 1
        }

        footer .footer .footer-box:nth-child(3), footer .footer .footer-box:nth-child(4) {
            grid-row: 2
        }
}

@media (max-width: 992px) {
    header #navbar {
        height: 80px
    }

        header #navbar .nav-menu {
            position: fixed;
            top: 80px;
            right: -100%;
            width: 280px;
            height: calc(100vh - 80px);
            background: rgba(20,30,50,0.92);
            flex-direction: column;
            justify-content: flex-start;
            align-items: flex-start;
            padding: 40px 30px;
            gap: 25px;
            transition: 0.4s;
            border-left: 1px solid #fff
        }

            header #navbar .nav-menu.active {
                right: 0
            }

            header #navbar .nav-menu li {
                width: 100%
            }

            header #navbar .nav-menu a {
                font-size: 18px;
                width: auto;
                display: block
            }

                header #navbar .nav-menu a::after {
                    display: none
                }

                header #navbar .nav-menu a:hover {
                    color: #1e90ff
                }

        header #navbar .menu-btn {
            display: flex
        }

    #hero {
        padding: 140px 5% 100px
    }

        #hero .hero-logo img {
            width: 150px;
            margin-bottom: 18px
        }

        #hero .hero-center-title {
            font-size: 40px;
            line-height: 1.2;
            text-align: center
        }

        #hero .hero-content .hero-subtitle {
            font-size: 19px
        }

        #hero .hero-content .hero-title {
            font-size: 48px;
            line-height: 1.2
        }

        #hero .hero-content .hero-text {
            font-size: 17px;
            max-width: 100%
        }

        #hero .hero-content .hero-buttons {
            flex-direction: column;
            align-items: flex-start;
            width: 100%
        }

            #hero .hero-content .hero-buttons .btn {
                width: 100%;
                text-align: center
            }

        #hero .slider-indicators {
            right: 15px
        }

        #hero .hero-center-title {
            font-size: 21px
        }

    #info-section {
        margin-top: -50px
    }

        #info-section .infos {
            grid-template-columns: 1fr
        }

    #about {
        grid-template-columns: 1fr;
        gap: 40px
    }

        #about .about-image {
            order: 1
        }

            #about .about-image img {
                width: 100%
            }

        #about .about-content {
            order: 2
        }

            #about .about-content h2 {
                font-size: 43px
            }

            #about .about-content span {
                font-size: 28px
            }

    #about-text-section {
        margin: 120px auto 80px auto
    }

        #about-text-section .about-text-container {
            padding: 35px
        }

            #about-text-section .about-text-container .about-mini-title {
                font-size: 28px
            }

            #about-text-section .about-text-container h1 {
                font-size: 38px
            }

            #about-text-section .about-text-container p {
                font-size: 17px;
                line-height: 1.9
            }

        #about-text-section footer .footer {
            grid-template-columns: repeat(2, 1fr);
            gap: 35px
        }

    #stats-section {
        margin: 80px auto
    }

    #stats-section-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px
    }

        #stats-section-container .stat-box {
            padding: 35px 20px
        }

            #stats-section-container .stat-box h2 {
                font-size: 40px
            }

    #mission-vision {
        grid-template-columns: 1fr;
        gap: 20px
    }

        #mission-vision .mission-card, #mission-vision .vision-card {
            padding: 35px
        }

    #services-section .services-header h1 {
        font-size: 32px
    }

    #services-section .services-header p {
        font-size: 17px
    }

    #services-section .services-header span {
        font-size: 28px !important
    }

    #services-section .service-content h3 {
        font-size: 24px
    }

    #services-section .service-content p {
        font-size: 15px;
        line-height: 1.7
    }

    #project {
        padding: 20px 6% 20px 6%
    }

    #project-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px
    }

    #project-title h1 {
        font-size: 28px
    }

    #project-title p {
        font-size: 17px
    }

    #references-section {
        margin: 120px auto 80px auto
    }

        #references-section .references-header h1 {
            font-size: 34px
        }

        #references-section .references-header .mini-title {
            font-size: 28px
        }

        #references-section .references-header p {
            font-size: 17px
        }

        #references-section .reference-box {
            flex: 0 0 calc((100% - 25px) / 2);
            padding: 30px 15px
        }

            #references-section .reference-box img {
                width: 80px;
                height: 80px
            }

    #contact-container .contact-title {
        font-size: 28px
    }

    #contact-container .contact-subtitle {
        font-size: 17px
    }

    #contact-container .contact-grid {
        grid-template-columns: 1fr;
        gap: 25px
    }

    #contact-container .contact-grid-form button {
        width: 100%
    }

    #contact-container .contact-info {
        padding: 25px
    }

    #map-section {
        margin: 60px auto
    }

        #map-section h2 {
            font-size: 28px
        }

        #map-section p {
            font-size: 17px
        }
}

@media (max-width: 768px) {
    #hero {
        padding: 120px 5% 80px
    }

        #hero .hero-content .hero-title {
            font-size: 34px;
            line-height: 1.2
        }

        #hero .hero-content .hero-text {
            font-size: 17px
        }

        #hero .hero-content .hero-subtitle {
            font-size: 20px
        }

        #hero .hero-content .hero-buttons {
            flex-direction: column;
            align-items: center
        }

            #hero .hero-content .hero-buttons .btn {
                width: 100%;
                text-align: center
            }

        #hero .hero-center-title {
            font-size: 20px
        }

    #about {
        margin: 90px auto
    }

        #about .about-content h2 {
            font-size: 34px
        }

        #about .about-content span {
            font-size: 23px
        }

    #about-text-section {
        margin: 100px auto 70px auto
    }

        #about-text-section .about-text-container {
            padding: 30px
        }

            #about-text-section .about-text-container .about-mini-title {
                font-size: 23px
            }

            #about-text-section .about-text-container h1 {
                font-size: 34px;
                line-height: 1.3
            }

            #about-text-section .about-text-container p {
                font-size: 17px;
                line-height: 1.8
            }

    #stats-section-container {
        grid-template-columns: 1fr
    }

        #stats-section-container .stat-box h2 {
            font-size: 36px
        }

        #stats-section-container .stat-box p {
            font-size: 15px
        }

    #mission-vision .mission-card, #mission-vision .vision-card {
        padding: 30px
    }

        #mission-vision .mission-card h2, #mission-vision .vision-card h2 {
            font-size: 34px
        }

        #mission-vision .mission-card p, #mission-vision .vision-card p {
            font-size: 17px
        }

    #services-section .services-header h1 {
        font-size: 34px
    }

    #services-section .services-header p {
        font-size: 17px;
        line-height: 1.7
    }

    #services-section .services-header .services-mini-title {
        font-size: 23px
    }

    #services-section .services-grid {
        grid-template-columns: repeat(2, 1fr) !important
    }

        #services-section .services-grid .service-card img {
            height: 200px
        }

        #services-section .services-grid .service-card .service-content {
            padding: 20px
        }

            #services-section .services-grid .service-card .service-content h3 {
                font-size: 20px
            }

            #services-section .services-grid .service-card .service-content p {
                font-size: 14px
            }

    #project {
        margin-top: 20px;
        padding: 90px 5%
    }

    #project-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px
    }

    #project-title h1 {
        font-size: 23px
    }

    #project-title p {
        font-size: 17px
    }

    #project .project-card .project-content h3 {
        font-size: 16px
    }

    #project .project-card .project-content p {
        font-size: 14px
    }

    #references-section {
        margin: 100px auto 70px auto
    }

        #references-section .references-header h1 {
            font-size: 34px
        }

        #references-section .references-header .mini-title {
            font-size: 23px
        }

        #references-section .references-header p {
            font-size: 17px
        }

        #references-section .reference-box {
            flex: 0 0 85%;
            padding: 25px 15px
        }

            #references-section .reference-box img {
                width: 75px;
                height: 75px
            }

            #references-section .reference-box h3 {
                font-size: 16px
            }

        #references-section #references-grid {
            gap: 15px
        }

        #references-section .ref-indicators {
            bottom: 12px
        }

    #contact {
        padding-top: 20px;
        margin: 100px auto
    }

    #contact-container .contact-title {
        width: 8rem;
        font-size: 23px
    }

    #contact-container .contact-subtitle {
        font-size: 17px
    }

    #contact-container .contact-grid-form input, #contact-container .contact-grid-form textarea {
        font-size: 14px
    }

    #contact-container .contact-grid-form button {
        font-size: 15px
    }

    #contact-container .contact-grid .contact-info h4 {
        font-size: 16px
    }

    #contact-container .contact-grid .contact-info p, #contact-container .contact-grid .contact-info a {
        font-size: 16px
    }

    #map-section h2 {
        width: 12.2rem;
        font-size: 23px
    }

    #map-section p {
        font-size: 17px
    }

    #map-section .map-box iframe {
        height: 320px
    }

    footer {
        padding-top: 50px
    }

        footer .footer {
            grid-template-columns: 1fr
        }
}

@media (max-width: 576px) {
    header #navbar {
        width: 92%
    }

        header #navbar .logo {
            font-size: 24px
        }

        header #navbar .nav-menu {
            width: 50%
        }

    #hero {
        padding: 100px 5% 70px
    }

        #hero .hero-logo img {
            width: 120px;
            margin-bottom: 15px
        }

        #hero .hero-logo h1 {
            font-size: 19px
        }

        #hero .hero-center-title {
            font-size: 28px;
            line-height: 1.2;
            text-align: center
        }

        #hero .hero-content .hero-subtitle {
            font-size: 18px
        }

        #hero .hero-content .hero-title {
            font-size: 29px;
            line-height: 1.2
        }

        #hero .hero-content .hero-text {
            font-size: 15px;
            line-height: 1.6
        }

        #hero .hero-content .hero-buttons {
            flex-direction: column;
            gap: 10px;
            width: 100%
        }

            #hero .hero-content .hero-buttons .btn {
                width: 100%;
                text-align: center
            }

        #hero .slider-indicators {
            right: 10px
        }

            #hero .slider-indicators .bar {
                height: 24px
            }

                #hero .slider-indicators .bar.active {
                    height: 36px
                }

    #info-section .infos-card {
        padding: 25px
    }

        #info-section .infos-card h3 {
            font-size: 20px
        }

    #about {
        width: 92%
    }

        #about .about-content h2 {
            font-size: 28px
        }

        #about .about-content p {
            font-size: 14px
        }

    #about-text-section {
        width: 92%;
        margin: 90px auto 60px auto
    }

        #about-text-section .about-text-container {
            padding: 22px
        }

            #about-text-section .about-text-container .about-mini-title {
                font-size: 20px
            }

            #about-text-section .about-text-container h1 {
                font-size: 26px;
                margin-bottom: 20px
            }

            #about-text-section .about-text-container p {
                font-size: 14px;
                line-height: 1.7;
                margin-bottom: 18px
            }

    #stats-section {
        width: 92%;
        margin: 60px auto
    }

    #stats-section-container .stat-box {
        padding: 28px 15px
    }

        #stats-section-container .stat-box h2 {
            font-size: 32px
        }

        #stats-section-container .stat-box p {
            font-size: 14px
        }

    #mission-vision {
        width: 92%
    }

        #mission-vision .mission-card, #mission-vision .vision-card {
            padding: 22px
        }

            #mission-vision .mission-card h2, #mission-vision .vision-card h2 {
                font-size: 20px
            }

            #mission-vision .mission-card p, #mission-vision .vision-card p {
                font-size: 15px;
                line-height: 1.7
            }

    #services-section .services-header h1 {
        font-size: 28px;
        line-height: 1.3
    }

    #services-section .services-header p {
        font-size: 15px
    }

    #services-section .services-header .services-mini-title {
        font-size: 20px
    }

    #services-section .services-grid {
        grid-template-columns: 1fr !important
    }

        #services-section .services-grid .service-card img {
            height: 180px
        }

        #services-section .services-grid .service-card .service-content {
            padding: 18px
        }

            #services-section .services-grid .service-card .service-content h3 {
                font-size: 18px
            }

            #services-section .services-grid .service-card .service-content p {
                font-size: 13px;
                line-height: 1.6
            }

    #project {
        margin-top: 30px;
        padding: 80px 5%
    }

    #project-grid {
        grid-template-columns: 1fr;
        gap: 15px
    }

    #project-title h1 {
        font-size: 20px
    }

    #project-title p {
        font-size: 15px;
        line-height: 1.6
    }

    #project .project-card img {
        aspect-ratio: 16 / 9
    }

    #project .project-card .project-content {
        padding: 15px
    }

        #project .project-card .project-content h3 {
            font-size: 16px
        }

        #project .project-card .project-content p {
            font-size: 13px
        }

    #references-section {
        width: 92%;
        margin: 100px auto 70px auto
    }

        #references-section .references-header h1 {
            font-size: 24px;
            margin: 15px 0
        }

        #references-section .references-header .mini-title {
            font-size: 20px
        }

        #references-section .references-header p {
            font-size: 15px;
            line-height: 1.6
        }

        #references-section .reference-box {
            flex: 0 0 100%;
            padding: 20px
        }

            #references-section .reference-box img {
                width: 60px;
                height: 60px
            }

            #references-section .reference-box h3 {
                font-size: 15px
            }

        #references-section #references-grid {
            gap: 12px
        }

        #references-section .ref-indicators {
            bottom: 10px
        }

    #contact {
        padding-top: 20px;
        width: 92%;
        margin: 80px auto
    }

    #contact-container .contact-title {
        width: 5.7rem;
        font-size: 20px
    }

    #contact-container .contact-subtitle {
        font-size: 13px;
        line-height: 1.5
    }

    #contact-container .contact-grid-form input, #contact-container .contact-grid-form textarea {
        padding: 12px;
        font-size: 13px
    }

    #contact-container .contact-grid-form textarea {
        min-height: 120px
    }

    #contact-container .contact-grid-form button {
        padding: 12px;
        font-size: 14px
    }

    #contact-container .contact-grid .contact-info {
        padding: 20px
    }

        #contact-container .contact-grid .contact-info h4 {
            font-size: 15px
        }

        #contact-container .contact-grid .contact-info p, #contact-container .contact-grid .contact-info a {
            font-size: 15px
        }

    #map-section {
        width: 92%;
        margin: 60px auto
    }

        #map-section h2 {
            width: 9.9rem;
            font-size: 20px
        }

        #map-section p {
            font-size: 15px
        }

        #map-section .map-box iframe {
            height: 260px
        }

    footer .footer {
        grid-template-columns: 1fr;
        gap: 25px
    }

        footer .footer .footer-box {
            grid-row: auto !important
        }

    footer .footer-box h3 {
        font-size: 20px
    }

    footer .footer-box p, footer .footer-box a {
        font-size: 14px
    }

    footer .footer-bottom {
        font-size: 13px;
        padding: 20px 10px
    }

    .whatsapp-btn {
        width: 55px;
        height: 55px;
        font-size: 26px;
        right: 15px;
        bottom: 15px
    }
}
