@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');


:root{
    --navy:#071B3A;
    --blue:#0D4A8D;
    --orange:#F59A17;
    --white:#FFFFFF;
    --text:#1F2937;

    --glass:rgba(255,255,255,.12);
    --glass-border:rgba(255,255,255,.18);

    --shadow:0 18px 45px rgba(0,0,0,.18);

    --transition:.35s ease;
}


*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}


html{
    scroll-behavior:smooth;
    scroll-padding-top:100px;
}


body{
    min-height:100vh;

    font-family:'Poppins',sans-serif;

    color:var(--text);

    line-height:1.7;

    overflow-x:hidden;

    background:
        linear-gradient(
            rgba(7,27,58,.72),
            rgba(7,27,58,.68)
        ),
        url('../images/hero.webp');

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    background-attachment:fixed;
}


body.page-loading,
body.menu-open{
    overflow:hidden;
}


img{
    display:block;
    max-width:100%;
}


a{
    text-decoration:none;
}


ul{
    list-style:none;
}


button{
    font:inherit;
}


.container{
    width:min(1200px,92%);
    margin-inline:auto;
}


section{
    padding:100px 0;
}


/* HEADER */

header{
    position:fixed;

    top:0;
    left:0;

    width:100%;

    padding:16px 0;

    background:rgba(7,27,58,.74);

    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);

    border-bottom:
        1px solid rgba(255,255,255,.07);

    z-index:1000;

    transition:
        padding var(--transition),
        background var(--transition),
        box-shadow var(--transition);
}


header.scrolled{
    padding:8px 0;

    background:rgba(7,27,58,.96);

    box-shadow:
        0 12px 35px rgba(0,0,0,.20);
}


.navbar{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:30px;
}


.logo{
    display:flex;

    align-items:center;

    gap:12px;

    color:#fff;
}


.logo img{
    width:auto;
    height:70px;

    transition:height var(--transition);
}


header.scrolled .logo img{
    height:52px;
}


.logo-text h2{
    color:#fff;

    font-size:17px;

    line-height:1.25;

    transition:font-size var(--transition);
}


.logo-text p{
    color:rgba(255,255,255,.70);

    font-size:11px;
}


header.scrolled .logo-text h2{
    font-size:15px;
}


.nav-menu{
    display:flex;

    align-items:center;

    gap:28px;
}


.nav-menu a{
    position:relative;

    display:block;

    color:#fff;

    font-size:14px;

    font-weight:500;
}


.nav-menu a::after{
    content:"";

    position:absolute;

    left:0;
    bottom:-7px;

    width:0;
    height:2px;

    background:var(--orange);

    transition:width var(--transition);
}


.nav-menu a:hover::after,
.nav-menu a.active::after{
    width:100%;
}


.nav-menu a.active{
    color:var(--orange);
}


.menu-toggle{
    display:none;
}


/* HERO */

.hero{
    min-height:100vh;

    display:flex;

    align-items:center;

    padding-top:150px;

    color:#fff;
}


.hero-content{
    width:min(720px,100%);
}


.hero-badge{
    display:inline-block;

    margin-bottom:24px;

    padding:9px 17px;

    color:#FFD18B;

    font-size:13px;

    background:rgba(245,154,23,.15);

    border:
        1px solid rgba(245,154,23,.40);

    border-radius:999px;

    backdrop-filter:blur(10px);
}


.hero h1{
    margin-bottom:24px;

    color:#fff;

    font-size:clamp(45px,5vw,68px);

    line-height:1.08;

    letter-spacing:-2px;
}


.hero h1 span{
    color:var(--orange);
}


.hero p{
    max-width:650px;

    margin-bottom:34px;

    color:rgba(255,255,255,.90);

    font-size:17px;
}


.hero-actions{
    display:flex;

    flex-wrap:wrap;

    gap:14px;
}


.btn{
    min-height:50px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:13px 24px;

    border-radius:12px;

    font-weight:600;

    transition:
        transform var(--transition),
        background var(--transition),
        box-shadow var(--transition);
}


.btn-primary{
    color:#fff;

    background:var(--orange);

    box-shadow:
        0 12px 30px rgba(245,154,23,.25);
}


.btn-primary:hover{
    color:#fff;

    transform:translateY(-3px);

    box-shadow:
        0 16px 40px rgba(245,154,23,.42);
}


.btn-outline{
    color:#fff;

    border:1px solid rgba(255,255,255,.70);

    background:rgba(255,255,255,.05);
}


.btn-outline:hover{
    transform:translateY(-3px);

    background:rgba(255,255,255,.14);
}


/* SECTION TITLE */

.section-title{
    margin-bottom:55px;

    text-align:center;
}


.section-title h2{
    color:#fff;

    font-size:clamp(34px,4vw,45px);

    line-height:1.2;

    text-shadow:
        0 4px 18px rgba(0,0,0,.35);
}


.section-title p{
    max-width:700px;

    margin:10px auto 0;

    color:rgba(255,255,255,.88);
}


/* GLASS */

.glass-card{
    background:var(--glass);

    border:
        1px solid var(--glass-border);

    border-radius:24px;

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    box-shadow:var(--shadow);
}


/* STATS */

.stats{
    position:relative;

    z-index:10;

    margin-top:-65px;

    padding:0 0 60px;
}


.stats-wrapper{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    overflow:hidden;

    background:rgba(255,255,255,.94);

    border-radius:24px;

    box-shadow:
        0 18px 50px rgba(0,0,0,.20);
}


.stat-item{
    padding:30px 15px;

    text-align:center;

    border-right:
        1px solid rgba(7,27,58,.08);
}


.stat-item:last-child{
    border-right:0;
}


.stat-item h3{
    color:var(--blue);

    font-size:36px;

    line-height:1.2;
}


.stat-item p{
    margin-top:6px;

    color:#667085;

    font-size:13px;
}


/* ABOUT */

.about-grid{
    display:grid;

    grid-template-columns:1.15fr 1fr;

    gap:30px;

    align-items:stretch;
}


.about-content{
    padding:38px;
}


.about-content h3,
.vision-card h3{
    margin-bottom:16px;

    color:#FFD18B;
}


.about-content p,
.vision-card p,
.vision-card li{
    color:rgba(255,255,255,.90);
}


.about-content p:not(:last-child){
    margin-bottom:16px;
}


.about-vision{
    display:grid;

    gap:22px;
}


.vision-card{
    padding:30px;
}


.vision-card li:not(:last-child){
    margin-bottom:9px;
}


/* FEATURES */

.features-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:22px;
}


.feature-card{
    padding:30px;

    color:#fff;

    transition:
        transform var(--transition),
        background var(--transition);
}


.feature-card:hover{
    transform:translateY(-7px);

    background:rgba(255,255,255,.17);
}


.feature-icon{
    margin-bottom:16px;

    font-size:38px;
}


.feature-card h3{
    margin-bottom:10px;

    color:#FFD18B;
}


.feature-card p{
    color:rgba(255,255,255,.86);

    font-size:14px;
}


/* ARMADA */

.armada-grid{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;
}


.armada-card{
    position:relative;

    overflow:hidden;

    background:#fff;

    border:
        1px solid transparent;

    border-radius:24px;

    box-shadow:
        0 12px 35px rgba(0,0,0,.14);

    transition:
        transform .45s ease,
        box-shadow .45s ease,
        border-color .45s ease;
}


.armada-card::before{
    content:"";

    position:absolute;

    top:0;
    left:-120%;

    width:70px;
    height:100%;

    z-index:3;

    pointer-events:none;

    background:
        rgba(255,255,255,.30);

    transform:skewX(-25deg);

    transition:left .7s ease;
}


.armada-card::after{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:0;
    height:4px;

    z-index:4;

    background:var(--orange);

    transition:width .4s ease;
}


.armada-card:hover{
    transform:translateY(-11px);

    border-color:
        rgba(245,154,23,.28);

    box-shadow:
        0 30px 60px rgba(0,0,0,.24);
}


.armada-card:hover::before{
    left:130%;
}


.armada-card:hover::after{
    width:100%;
}


.armada-image{
    height:245px;

    overflow:hidden;

    background:#EAF1F8;
}


.armada-image img{
    width:100%;
    height:100%;

    object-fit:cover;

    object-position:center;

    transition:transform .55s ease;
}


.armada-card:hover .armada-image img{
    transform:scale(1.07);
}


.armada-content{
    padding:25px;
}


.armada-content h3{
    margin-bottom:9px;

    color:var(--navy);

    transition:color var(--transition);
}


.armada-card:hover .armada-content h3{
    color:var(--orange);
}


.armada-content p{
    min-height:68px;

    color:#667085;

    font-size:14px;
}


.armada-button{
    display:inline-flex;

    margin-top:18px;

    padding:11px 18px;

    color:#fff;

    background:var(--blue);

    border-radius:10px;

    font-weight:600;

    transition:
        background var(--transition),
        transform var(--transition);
}


.armada-card:hover .armada-button{
    background:var(--orange);

    transform:translateY(-2px);
}


/* TIMELINE */

.timeline{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:22px;
}


.timeline-item{
    padding:30px;

    text-align:center;

    color:#fff;
}


.timeline-number{
    width:58px;
    height:58px;

    display:flex;

    align-items:center;
    justify-content:center;

    margin:0 auto 18px;

    color:#fff;

    background:var(--orange);

    border-radius:50%;

    font-size:22px;

    font-weight:700;
}


.timeline-item h3{
    margin-bottom:9px;

    color:#FFD18B;
}


.timeline-item p{
    color:rgba(255,255,255,.86);

    font-size:14px;
}


/* CONTACT */

.contact-grid{
    display:grid;

    grid-template-columns:1fr 1fr 1.35fr;

    gap:25px;

    align-items:stretch;
}


.contact-card{
    padding:28px;

    color:#fff;
}


.contact-card h3{
    margin-bottom:16px;

    color:#FFD18B;
}


.contact-card p{
    margin-bottom:20px;

    color:rgba(255,255,255,.88);
}


.map-card iframe{
    width:100%;
    height:260px;

    display:block;

    border:0;

    border-radius:15px;
}


/* FOOTER */

.footer{
    padding:34px 20px;

    color:rgba(255,255,255,.70);

    text-align:center;

    background:rgba(7,27,58,.98);
}


.footer-menu{
    display:flex;

    align-items:center;
    justify-content:center;

    flex-wrap:wrap;

    margin-bottom:13px;
}


.footer-menu a{
    color:#fff;

    font-size:14px;

    font-weight:500;

    transition:color var(--transition);
}


.footer-menu a:hover{
    color:var(--orange);
}


.footer-menu span{
    margin:0 12px;

    color:rgba(255,255,255,.30);
}


.footer p{
    font-size:13px;
}


.footer strong{
    color:#fff;
}


/* WHATSAPP */

.whatsapp-float{
    position:fixed;

    right:24px;
    bottom:24px;

    width:62px;
    height:62px;

    display:flex;

    align-items:center;
    justify-content:center;

    color:#fff;

    background:#25D366;

    border-radius:50%;

    box-shadow:
        0 12px 30px rgba(0,0,0,.25);

    font-size:27px;

    z-index:900;

    transition:transform var(--transition);
}


.whatsapp-float:hover{
    transform:translateY(-4px) scale(1.05);
}


/* PRELOADER */

.preloader{
    position:fixed;

    inset:0;

    width:100%;
    height:100dvh;

    min-height:100svh;

    display:flex;

    align-items:center;
    justify-content:center;

    background:
        radial-gradient(
            circle at center,
            #10396B 0%,
            #071B3A 55%,
            #031126 100%
        );

    z-index:99999;

    opacity:1;
    visibility:visible;

    transition:
        opacity .7s ease,
        visibility .7s ease;
}


.preloader.preloader-hidden{
    opacity:0;

    visibility:hidden;

    pointer-events:none;
}


.preloader-content{
    width:min(90%,420px);

    color:#fff;

    text-align:center;

    animation:
        preloaderContentIn .8s ease both;
}


.preloader-logo-wrapper{
    position:relative;

    isolation:isolate;

    width:160px;
    height:160px;

    display:flex;

    align-items:center;
    justify-content:center;

    margin:0 auto 28px;
}


.preloader-logo-wrapper::before{
    content:"";

    position:absolute;

    inset:16px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(245,154,23,.14),
            rgba(245,154,23,.04) 50%,
            transparent 72%
        );

    box-shadow:
        0 0 35px rgba(245,154,23,.16);

    z-index:0;
}


.preloader-ring{
    position:absolute;

    inset:0;

    width:160px;
    height:160px;

    display:block;

    margin:auto;

    border:
        3px solid rgba(255,255,255,.14);

    border-top-color:var(--orange);

    border-right-color:#FFD18B;

    border-radius:50%;

    z-index:1;

    animation:
        preloaderRingRotate 1.2s linear infinite;
}


.preloader-logo{
    position:relative;

    width:105px;
    height:105px;

    object-fit:contain;

    z-index:2;

    filter:
        drop-shadow(
            0 10px 25px rgba(0,0,0,.35)
        );

    animation:
        preloaderLogoPulse 1.6s ease-in-out infinite;
}


.preloader-content h2{
    color:#fff;

    font-size:clamp(20px,3vw,28px);

    line-height:1.3;

    letter-spacing:1px;
}


.preloader-content p{
    margin-top:7px;

    color:rgba(255,255,255,.68);

    font-size:13px;
}


.preloader-progress{
    position:relative;

    width:190px;
    height:3px;

    margin:25px auto 0;

    overflow:hidden;

    background:rgba(255,255,255,.12);

    border-radius:999px;
}


.preloader-progress span{
    position:absolute;

    top:0;
    left:-100%;

    width:100%;
    height:100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--orange),
            #FFD18B,
            transparent
        );

    animation:
        preloaderProgress 1.2s ease-in-out infinite;
}


@keyframes preloaderRingRotate{
    to{
        transform:rotate(360deg);
    }
}


@keyframes preloaderLogoPulse{
    0%,
    100%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.05);
    }
}


@keyframes preloaderProgress{
    from{
        left:-100%;
    }

    to{
        left:100%;
    }
}


@keyframes preloaderContentIn{
    from{
        opacity:0;

        transform:
            translateY(15px)
            scale(.96);
    }

    to{
        opacity:1;

        transform:
            translateY(0)
            scale(1);
    }
}


/* REVEAL */

.reveal{
    opacity:0;

    transform:translateY(35px);

    transition:
        opacity .75s ease,
        transform .75s ease;
}


.reveal.show{
    opacity:1;

    transform:none;
}


/* TABLET */

@media (max-width:992px){

    .features-grid,
    .timeline{
        grid-template-columns:repeat(2,1fr);
    }


    .armada-grid{
        grid-template-columns:repeat(2,1fr);
    }


    .contact-grid{
        grid-template-columns:1fr 1fr;
    }


    .map-card{
        grid-column:1 / -1;
    }

}


/* MOBILE */

@media (max-width:768px){

    html{
        scroll-padding-top:78px;
    }


    body{
        background-attachment:scroll;

        background-position:65% center;
    }


    section{
        padding:72px 0;
    }


    .container{
        width:min(100% - 30px,1200px);
    }


    header{
        padding:9px 0;
    }


    header.scrolled{
        padding:6px 0;
    }


    .logo img{
        height:50px;
    }


    header.scrolled .logo img{
        height:43px;
    }


    .logo-text h2{
        font-size:12px;
    }


    .logo-text p{
        font-size:8px;
    }


    .menu-toggle{
        position:relative;

        width:44px;
        height:44px;

        display:flex;

        flex-direction:column;

        align-items:center;
        justify-content:center;

        gap:6px;

        padding:0;

        border:0;

        border-radius:12px;

        background:rgba(255,255,255,.10);

        cursor:pointer;

        z-index:1002;
    }


    .menu-toggle span{
        width:23px;
        height:2px;

        display:block;

        background:#fff;

        border-radius:999px;

        transition:
            transform var(--transition),
            opacity var(--transition);
    }


    .menu-toggle.active span:nth-child(1){
        transform:
            translateY(8px)
            rotate(45deg);
    }


    .menu-toggle.active span:nth-child(2){
        opacity:0;
    }


    .menu-toggle.active span:nth-child(3){
        transform:
            translateY(-8px)
            rotate(-45deg);
    }


    .nav-menu{
        position:fixed;

        top:0;
        right:-100%;

        width:min(82vw,340px);
        height:100dvh;

        display:flex;

        flex-direction:column;

        align-items:stretch;
        justify-content:center;

        gap:5px;

        padding:100px 28px 40px;

        background:rgba(7,27,58,.98);

        backdrop-filter:blur(20px);
        -webkit-backdrop-filter:blur(20px);

        box-shadow:
            -20px 0 50px rgba(0,0,0,.30);

        transition:
            right .4s cubic-bezier(.77,0,.18,1);

        z-index:1001;
    }


    .nav-menu.active{
        right:0;
    }


    .nav-menu a{
        padding:13px 4px;

        font-size:16px;

        border-bottom:
            1px solid rgba(255,255,255,.08);
    }


    .hero{
        min-height:100svh;

        padding:
            115px 0
            70px;

        background-attachment:scroll;
    }


    .hero h1{
        font-size:clamp(36px,11vw,50px);

        letter-spacing:-1.5px;
    }


    .hero p{
        font-size:15px;
    }


    .stats{
        margin-top:0;

        padding-bottom:40px;
    }


    .stats-wrapper{
        grid-template-columns:repeat(2,1fr);
    }


    .stat-item{
        padding:24px 10px;

        border-bottom:
            1px solid rgba(7,27,58,.08);
    }


    .stat-item h3{
        font-size:29px;
    }


    .about-grid,
    .features-grid,
    .armada-grid,
    .timeline,
    .contact-grid{
        grid-template-columns:1fr;
    }


    .map-card{
        grid-column:auto;
    }


    .about-content,
    .vision-card,
    .feature-card,
    .timeline-item,
    .contact-card{
        padding:25px;
    }


    .armada-image{
        height:230px;
    }


    .armada-content p{
        min-height:auto;
    }


    .armada-card:hover{
        transform:none;
    }


    .armada-card:hover .armada-image img{
        transform:none;
    }


    .footer{
        padding:30px 15px;
    }


    .footer-menu a{
        font-size:13px;
    }


    .footer-menu span{
        margin:0 8px;
    }


    .footer p{
        font-size:12px;
    }


    .whatsapp-float{
        right:16px;

        bottom:
            calc(16px + env(safe-area-inset-bottom));

        width:56px;
        height:56px;

        font-size:24px;
    }


    .preloader-logo-wrapper,
    .preloader-ring{
        width:140px;
        height:140px;
    }


    .preloader-logo{
        width:90px;
        height:90px;
    }


    .preloader-progress{
        width:165px;
    }

}


/* SMALL MOBILE */

@media (max-width:420px){

    .container{
        width:min(100% - 24px,1200px);
    }


    .logo-text p{
        display:none;
    }


    .hero-actions{
        flex-direction:column;
    }


    .hero-actions .btn{
        width:100%;
    }


    .hero h1{
        font-size:clamp(33px,10.5vw,44px);
    }


    .armada-image{
        height:210px;
    }

}


/* REDUCED MOTION */

@media (prefers-reduced-motion:reduce){

    html{
        scroll-behavior:auto;
    }


    .reveal{
        opacity:1;
        transform:none;
        transition:none;
    }


    .armada-card,
    .armada-image img,
    .feature-card{
        transition:none;
    }

}