/* RESET */
html{

    scroll-behavior:smooth;

}
@keyframes fadeUp{

0%{
opacity:0;
transform:translateY(50px);
}

100%{
opacity:1;
transform:translateY(0);
}

}
/* TOP BAR */

.top-bar{

    background:#003366;
    color:white;

    text-align:center;

    padding:10px;

    font-size:15px;

}

.top-bar strong{

    color:#FFD54F;

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

body{

    font-family:Segoe UI,Arial,sans-serif;
    background:#f5f7fb;
    color:#222;

}

/* NAVIGATION */

nav{

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:15px 8%;

    background:white;

    position:sticky;
    top:0;

    box-shadow:0 2px 15px rgba(0,0,0,.08);

    z-index:1000;

}

.logo img{

    height:70px;

}

nav ul{

    list-style:none;
    display:flex;
    gap:35px;

}

nav a{

    text-decoration:none;
    color:#003366;
    font-weight:600;
    transition:.3s;

}

nav a:hover{

    color:#0a84ff;

}

/* HERO */

.hero{

    display:flex;
    align-items:center;
    justify-content:space-between;

    min-height:90vh;

    padding:80px 8%;

    background:linear-gradient(135deg,#eef5ff,#ffffff);

overflow:hidden;

}

.hero-text{

    width:50%;
animation:fadeUp 1.2s ease;

}

.hero-text h1{

    font-size:64px;

    font-weight:800;

    color:#003366;

    line-height:1.2;

    margin-bottom:20px;

}

.hero-text h2{

    color:#0a84ff;

    margin-bottom:25px;

}

.hero-text p{

    font-size:20px;

    line-height:1.8;

    margin-bottom:40px;

}

.buttons{

    display:flex;

    gap:20px;

}

.btn-primary,
.btn-secondary{

    padding:16px 35px;

    border-radius:8px;

    text-decoration:none;

    font-weight:bold;

}

.btn-primary{

    background:#0057d9;

    color:white;

    transition:.3s;

    box-shadow:0 10px 30px rgba(0,87,217,.25);

}


.btn-secondary{

    border:2px solid #0057d9;

    color:#0057d9;

}

.btn-primary:hover{

    transform:translateY(-4px);

    background:#003e99;

}

.btn-secondary:hover{

    background:#0057d9;

    color:white;

    transform:translateY(-4px);

}
.hero-image{

    width:45%;

}

.hero-image img{

    width:100%;

}
/* STATISTICS */

.stats{

display:grid;

grid-template-columns:repeat(4,1fr);

padding:60px 8%;

background:#003366;

color:white;

text-align:center;

}

.stats h2{

font-size:48px;

margin-bottom:10px;

color:#FFD54F;

}

.stats p{

font-size:20px;

}

@media(max-width:900px){

.stats{

grid-template-columns:repeat(2,1fr);

gap:40px;

}

}

/* RESPONSIVE */

@media(max-width:900px){

.hero{

flex-direction:column;

text-align:center;

}

.hero-text{

width:100%;

}

.hero-image{

width:90%;

margin-top:50px;

}

nav{

flex-direction:column;

}

nav ul{

margin-top:20px;

flex-wrap:wrap;

justify-content:center;

}

.hero-text h1{

	font-size:42px;

}
}
/* SERVICES */

.services{

    padding:90px 8%;
    background:#f9fbff;

}

.section-title{

    text-align:center;
    margin-bottom:60px;

}

.section-title h2{

    font-size:42px;
    color:#003366;
    margin-bottom:15px;

}

.section-title p{

    font-size:18px;
    color:#666;

}

.service-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:30px;

}

.service-card{

    background:white;
    border-radius:15px;
    padding:35px;

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

    transition:.4s;

    cursor:pointer;

}

.service-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 40px rgba(0,87,217,.20);

}

.service-card h3{

    color:#0057d9;
    margin-bottom:20px;

}

.service-card p{

    line-height:1.8;
    color:#555;

}
/* WHATSAPP */

.whatsapp{

    position:fixed;
    right:25px;
    bottom:25px;

    width:60px;
    height:60px;

    background:#25D366;

    color:white;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:30px;

    text-decoration:none;

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

    transition:.3s;

}
/* WHY CHOOSE US */

.why-us{

    padding:90px 8%;
    background:#ffffff;

}

.why-grid{

    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;

}

.why-card{

    background:#f8fbff;

    padding:35px;

    border-radius:15px;

    border-top:5px solid #0057d9;

    transition:0.4s;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

}

.why-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 40px rgba(0,87,217,.18);

}

.why-card h3{

    color:#003366;

    margin-bottom:15px;

}

.why-card p{

    color:#555;

    line-height:1.8;

}
/* ABOUT */

.about{

    display:flex;
    align-items:center;
    gap:60px;

    padding:100px 8%;

    background:#f8fbff;

}

.about-image{

    flex:1;

}

.about-image img{

    width:100%;

    border-radius:20px;

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

}

.about-content{

    flex:1;

}

.about-content h2{

    font-size:42px;

    color:#003366;

    margin-bottom:25px;

}

.about-content p{

    font-size:18px;

    line-height:1.9;

    color:#555;

    margin-bottom:20px;

}

.about-boxes{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

    margin-top:30px;

}

.about-box{

    background:white;

    padding:25px;

    border-radius:15px;

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

    border-left:5px solid #0057d9;

}

.about-box h3{

    color:#003366;

    margin-bottom:12px;

}

/* Mobile */

@media(max-width:900px){

    .about{

        flex-direction:column;

    }

    .about-boxes{

        grid-template-columns:1fr;

    }

}
/* FEATURED SERVICES */

.featured{

    padding:100px 8%;

    background:white;

}

.featured-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:30px;

}

.featured-card{

    text-align:center;

    padding:40px;

    border-radius:18px;

    background:#f8fbff;

    transition:.4s;

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

}

.featured-card span{

    font-size:50px;

    display:block;

    margin-bottom:20px;

}

.featured-card h3{

    color:#003366;

    margin-bottom:15px;

}

.featured-card p{

    color:#555;

    line-height:1.8;

}

.featured-card:hover{

    transform:translateY(-10px);

    box-shadow:0 18px 40px rgba(0,87,217,.18);

}
/* FOOTER */

.footer{

    background:#003366;

    color:white;

    padding:80px 8% 30px;

}

.footer-container{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:40px;

}

.footer-column h3{

    margin-bottom:20px;

    color:#FFD54F;

}

.footer-column p{

    line-height:1.8;

    margin-bottom:12px;

}

.footer-column ul{

    list-style:none;

}

.footer-column ul li{

    margin-bottom:12px;

}

.footer-column ul li a{

    color:white;

    text-decoration:none;

    transition:.3s;

}

.footer-column ul li a:hover{

    color:#FFD54F;

}

.footer-bottom{

    text-align:center;

    border-top:1px solid rgba(255,255,255,.2);

    margin-top:40px;

    padding-top:20px;

}
.nav-btn{

    background:#0057d9;

    color:white;

    padding:12px 24px;

    border-radius:30px;

    text-decoration:none;

    font-weight:bold;

    transition:.3s;

}

.nav-btn:hover{

    background:#003366;

    transform:translateY(-3px);

}
.trust-bar{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    background:#0057d9;

    color:white;

    text-align:center;

    padding:20px;

    font-weight:bold;

}
/* NOTICE */

.notice-preview{

    padding:90px 8%;

    background:#f7f9fc;

}

.notice-container{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(350px,1fr));

    gap:30px;

}

.notice-card{

    background:white;

    padding:35px;

    border-radius:15px;

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

    transition:.3s;

}

.notice-card:hover{

    transform:translateY(-8px);

}

.notice-date{

    display:inline-block;

    background:#0057d9;

    color:white;

    padding:6px 14px;

    border-radius:20px;

    margin-bottom:15px;

    font-size:14px;

}

.notice-card h3{

    color:#003366;

    margin-bottom:15px;

}

.notice-card p{

    line-height:1.8;

    color:#555;

}

.notice-card a{

    display:inline-block;

    margin-top:20px;

    color:#0057d9;

    text-decoration:none;

    font-weight:bold;

}
/* GALLERY */

.gallery-preview{

    padding:100px 8%;

    background:white;

}

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

    gap:20px;

}

.gallery-grid img{

    width:100%;

    height:260px;

    object-fit:cover;

    border-radius:15px;

    transition:.4s;

    cursor:pointer;

    box-shadow:0 10px 20px rgba(0,0,0,.08);

}

.gallery-grid img:hover{

    transform:scale(1.04);

}

.gallery-button{

    margin-top:50px;

    text-align:center;

}
/* PAGE HERO */

.page-hero{

    background:linear-gradient(135deg,#003366,#0057d9);

    color:white;

    text-align:center;

    padding:100px 20px;

}

.page-hero h1{

    font-size:55px;

    margin-bottom:20px;

}

.page-hero p{

    font-size:22px;

}

/* ABOUT PAGE */

.about-page{

    display:flex;

    align-items:center;

    gap:60px;

    padding:100px 8%;

    background:white;

}

.mission{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

    gap:30px;

    padding:80px 8%;

    background:#f8fbff;

}

.mission-card{

    background:white;

    padding:40px;

    border-radius:15px;

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

}

.active{

    color:#0057d9 !important;

    border-bottom:3px solid #0057d9;

}
/* SERVICES PAGE */

.services-page{

    padding:100px 8%;

    background:#f8fbff;

}

.services-page .service-card{

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    min-height:420px;

}

.services-page ul{

    margin:20px 0 30px;

    padding-left:20px;

}

.services-page li{

    margin-bottom:10px;

    line-height:1.6;

}

.services-page .btn-primary{

    text-align:center;

    display:block;

    margin-top:auto;

}
/* GALLERY PAGE */

.gallery-category{

padding:80px 8%;

}

.gallery-category h2{

margin-bottom:30px;

color:#003366;

font-size:36px;

}

.gallery-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

gap:25px;

}

.gallery-grid img{

width:100%;

height:250px;

object-fit:cover;

border-radius:12px;

cursor:pointer;

transition:.4s;

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

}

.gallery-grid img:hover{

transform:scale(1.05);

}

/* LIGHTBOX */

#lightbox{

display:none;

position:fixed;

left:0;

top:0;

width:100%;

height:100%;

background:rgba(0,0,0,.95);

justify-content:center;

align-items:center;

z-index:9999;

}

#lightbox img{

max-width:90%;

max-height:90%;

border-radius:10px;

}

#lightbox span{

position:absolute;

top:30px;

right:50px;

font-size:60px;

color:white;

cursor:pointer;

}
/* NOTICE PAGE */

.notice-page{

padding:90px 8%;

display:grid;

grid-template-columns:repeat(auto-fit,minmax(350px,1fr));

gap:35px;

background:#f7f9fc;

}

.notice-card{

background:white;

padding:35px;

border-radius:15px;

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

transition:.4s;

}

.notice-card:hover{

transform:translateY(-8px);

}

.notice-card h2{

color:#003366;

margin-bottom:15px;

}

.notice-card .date{

color:#0057d9;

font-weight:bold;

margin-bottom:20px;

}

.notice-card p{

line-height:1.8;

margin-bottom:25px;

}

.urgent{

border-left:8px solid red;

}
/* CONTACT PAGE */

.contact-page{

display:grid;

grid-template-columns:1fr 1fr;

gap:50px;

padding:100px 8%;

background:white;

}

.contact-info{

background:#003366;

color:white;

padding:40px;

border-radius:15px;

}

.contact-info a{

color:#FFD54F;

text-decoration:none;

}

.contact-info p{

margin:18px 0;

line-height:1.8;

}

.contact-form{

background:#f8fbff;

padding:40px;

border-radius:15px;

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

}

.contact-form form{

display:flex;

flex-direction:column;

gap:20px;

}

.contact-form input,
.contact-form select,
.contact-form textarea{

padding:15px;

font-size:16px;

border:1px solid #ddd;

border-radius:8px;

}

.contact-form button{

border:none;

cursor:pointer;

}

.map iframe{

width:100%;

height:450px;

border:none;

}

@media(max-width:900px){

.contact-page{

grid-template-columns:1fr;

}
}
/*====================================
      MOBILE HAMBURGER MENU
====================================*/

/* Hide hamburger on desktop */
.menu-toggle{
    display:none;
    font-size:32px;
    cursor:pointer;
    color:color:#003366;
    user-select:none;
}

/* Mobile Navigation */
@media (max-width:900px){

    nav{
        flex-wrap:wrap;
        position:relative;
    }

    .menu-toggle{
        display:block;
    }

    .nav-links{
        display:none;
        flex-direction:column;
        width:100%;
        background:white;
        margin-top:20px;
        padding:20px 0;
        box-shadow:0 10px 20px rgba(0,0,0,.08);
        border-radius:10px;
    }

    .nav-links.active{
        display:flex;
    }

    .nav-links li{
        text-align:center;
        margin:15px 0;
    }

    .nav-links li a{
        display:block;
        font-size:18px;
        padding:10px;
    }

    .logo img{
        height:60px;
    }

    .hero{
        flex-direction:column;
        text-align:center;
        padding:60px 8%;
    }

    .hero-text,
    .hero-image{
        width:100%;
    }

    .hero-text h1{
        font-size:42px;
    }

    .hero-image{
        margin-top:40px;
    }

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

    .contact-page{
        grid-template-columns:1fr;
    }

   .about-page{

flex-direction:column;
}
}

/* Small phones */
@media (max-width:600px){

    .stats{
        grid-template-columns:1fr;
    }

    .hero-text h1{
        font-size:34px;
    }

    .page-hero h1{
        font-size:36px;
    }

    .section-title h2{
        font-size:32px;
    }
}
/* ==========================
   Scroll Animation
========================== */

.reveal{

    opacity:0;

    transform:translateY(40px);

    transition:all .8s ease;

}

.reveal.active{

    opacity:1;

    transform:translateY(0);

}
/*==============================
      STAT BOXES
==============================*/

.stat-box{
    transition:.3s;
}

.stat-box:hover{
    transform:translateY(-8px);
}

.counter::after{
    content:"+";
}

.stat-box:last-child .counter::after{
    content:"%";
}
.btn-primary,
.btn-secondary{

transition:.35s;
}
nav ul li{

position:relative;

}
.buttons{

flex-wrap:wrap;

}
}