/* ================================
NAVBAR LOGO
================================ */

.navbar-brand img{
height:120px;
width:auto;
}

@media(max-width:768px){
.navbar-brand img{
height:45px;
}
}


/* ================================
TRANSPARENT NAVBAR
================================ */

.site-nav{
position:fixed;
top:0;
left:0;
width:100%;
z-index:9999;
background:transparent;
transition:.3s;
}

.site-nav.scrolled{
background:#ffffff;
box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.site-nav .nav-link{
color:#ffffff;
font-weight:600;
}

.site-nav.scrolled .nav-link{
color:#333;
}

.site-nav.scrolled .nav-link:hover{
color:#2596be;
}


/* ================================
MEGA MENU
================================ */

.mega-menu{
width:900px;
left:50%;
transform:translateX(-50%);
}

.mega-title{
font-weight:700;
font-size:15px;
margin-bottom:10px;
color:#2596be;
}

.mega-menu .dropdown-item{
font-size:14px;
padding:6px 0;
transition:.3s;
}

.mega-menu .dropdown-item:hover{
padding-left:10px;
color:#2596be;
}


/* ================================
HERO SECTION
================================ */

.hero{
position:relative;
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:#fff;
padding:120px 0;
overflow:hidden;

background:linear-gradient(-45deg,#2a5393,#2596be,#1f3f70,#2a5393);
background-size:400% 400%;
animation:gradientMove 12s ease infinite;
}

@keyframes gradientMove{
0%{background-position:0% 50%;}
50%{background-position:100% 50%;}
100%{background-position:0% 50%;}
}

.hero::before{
content:"";
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
width:220px;
height:220px;
background:url("/assets/images/logo.png") center no-repeat;
background-size:contain;
opacity:.05;
pointer-events:none;
}


/* ================================
SECTION TITLES
================================ */

.section-title{
position:relative;
display:inline-block;
font-weight:700;
padding-bottom:12px;
}

/* Gradient underline */

.section-title::after{
content:"";
position:absolute;
left:50%;
bottom:0;
transform:translateX(-50%);
width:70px;
height:3px;
border-radius:2px;
background:linear-gradient(90deg,#2a5393,#2596be);
}


/* ================================
BUTTON
================================ */

.btn-primary-custom{
background:linear-gradient(135deg,#2a5393,#2596be);
border:none;
color:#fff;
padding:12px 28px;
border-radius:40px;
font-weight:600;
transition:.3s;
box-shadow:0 6px 18px rgba(0,0,0,.2);
}

.btn-primary-custom:hover{
transform:translateY(-3px);
box-shadow:0 10px 25px rgba(0,0,0,.25);
color:#fff;
}


/* ================================
PRODUCT ICON GRID
================================ */

.products-image-section{
background:#f4f7fb;
}

.product-card{
display:block;
background:#fff;
padding:35px 20px;
border-radius:16px;
text-decoration:none;
transition:.3s;
box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.product-card:hover{
transform:translateY(-8px);
box-shadow:0 20px 40px rgba(0,0,0,.15);
}

.icon-box{
width:90px;
height:90px;
margin:auto;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
background:linear-gradient(135deg,#2a5393,#2596be);
margin-bottom:15px;
}

.icon-box img{
width:50px;
height:50px;
object-fit:contain;
}


/* ================================
INDUSTRIES SECTION
================================ */

.industries-section{
background:#f7f9fc;
}

.industry-card{
background:#ffffff;
padding:30px 20px;
border-radius:14px;
text-align:center;
box-shadow:0 10px 25px rgba(0,0,0,.08);
transition:.4s;
height:100%;
}

.industry-card i{
font-size:38px;
color:#2a5393;
margin-bottom:12px;
display:block;
}

.industry-card h6{
font-weight:600;
margin:0;
color:#214079;
}

.industry-card:hover{
transform:translateY(-8px);
box-shadow:0 20px 35px rgba(0,0,0,.15);
}


/* ================================
RECENT INSTALLATIONS
================================ */

.projects-section{
background:#f8f9fa;
}

.project-card{
background:#fff;
border-radius:12px;
overflow:hidden;
box-shadow:0 8px 25px rgba(0,0,0,.08);
transition:.3s;
height:100%;
}

.project-card:hover{
transform:translateY(-6px);
box-shadow:0 15px 40px rgba(0,0,0,.15);
}

/* image */

.project-img{
position:relative;
overflow:hidden;
}

.project-img img{
width:100%;
height:230px;
object-fit:cover;
transition:.4s;
}

.project-card:hover img{
transform:scale(1.08);
}

/* overlay */

.project-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.55);
display:flex;
align-items:center;
justify-content:center;
opacity:0;
transition:.3s;
}

.project-card:hover .project-overlay{
opacity:1;
}

/* button */

.project-btn{
background:#2596be;
color:#fff;
padding:8px 18px;
border-radius:30px;
font-size:14px;
text-decoration:none;
transition:.3s;
}

.project-btn:hover{
background:#1e7fa3;
color:#fff;
}

/* content */

.project-info{
padding:20px;
}

.small-title{
font-size:18px;
font-weight:600;
margin-bottom:5px;
color:#214079;
}

.project-info p{
font-size:14px;
color:#666;
margin-bottom:5px;
}

.project-info span{
font-size:13px;
color:#2596be;
font-weight:500;
}


/* ================================
CLIENT LOGOS
================================ */

.clients-section img{
filter:grayscale(100%);
opacity:.7;
transition:.3s;
}

.clients-section img:hover{
filter:none;
opacity:1;
transform:scale(1.05);
}


/* ================================
CTA
================================ */

.cta-section{
background:linear-gradient(135deg,#2a5393,#2596be);
border-radius:20px;
margin:40px auto;
}


/* ================================
CLIENT TESTIMONIALS
================================ */

.testimonial-section{
background:#f8f9fa;
}

.testimonial-box{
background:#ffffff;
padding:28px 24px;
border-radius:14px;
box-shadow:0 8px 25px rgba(0,0,0,.08);
font-style:italic;
transition:.3s;
height:100%;
position:relative;
}

/* hover */

.testimonial-box:hover{
transform:translateY(-6px);
box-shadow:0 15px 35px rgba(0,0,0,.15);
}

/* quote text */

.testimonial-box p{
font-size:15px;
color:#555;
margin-bottom:15px;
line-height:1.6;
}

/* client name */

.testimonial-box h6{
font-weight:600;
color:#1f3f70;
margin:0;
}


/* ================================ 
FAQ SECTION
================================ */

.faq-section{
background:#ffffff;
}

/* Accordion Card */

.accordion-item{
border:none;
margin-bottom:12px;
border-radius:10px;
overflow:hidden;
box-shadow:0 6px 18px rgba(0,0,0,.05);
}

/* Question */

.accordion-button{
font-weight:600;
color:#1f3f70;
background:#f8f9fa;
}

/* Selected FAQ */

.accordion-button:not(.collapsed){
background:linear-gradient(135deg,#2a5393,#2596be);
color:#ffffff;
}

/* Remove focus border */

.accordion-button:focus{
box-shadow:none;
}

/* Answer */

.accordion-body{
text-align:left;
font-size:14px;
color:#555;
line-height:1.6;
background:#ffffff;
}



/* ================================
WHY SECTION PREMIUM
================================ */

.why-section{
background:#f7f9fc;
position:relative;
}

/* feature card */

.why-feature{
background:#ffffff;
padding:35px 25px;
border-radius:14px;
box-shadow:0 10px 30px rgba(0,0,0,.06);
transition:.35s;
height:100%;
position:relative;
overflow:hidden;
}

/* icon */

.why-feature i{
font-size:34px;
width:70px;
height:70px;
display:flex;
align-items:center;
justify-content:center;
margin:auto;
margin-bottom:18px;
border-radius:50%;
background:linear-gradient(135deg,#2a5393,#2596be);
color:#fff;
box-shadow:0 6px 18px rgba(0,0,0,.15);
}

/* title */

.why-feature h5{
font-weight:600;
color:#1f3f70;
margin-bottom:10px;
}

/* text */

.why-feature p{
font-size:14px;
color:#6c757d;
margin:0;
line-height:1.6;
}

/* hover */

.why-feature:hover{
transform:translateY(-8px);
box-shadow:0 20px 40px rgba(0,0,0,.12);
}

/* light gradient hover effect */

.why-feature::after{
content:"";
position:absolute;
top:-50%;
left:-50%;
width:200%;
height:200%;
background:linear-gradient(
120deg,
transparent,
rgba(37,150,190,.15),
transparent
);
transform:rotate(25deg);
opacity:0;
transition:.4s;
}

.why-feature:hover::after{
opacity:1;
}



/* ================================
STATS CARDS
================================ */

.why-card{
background:#ffffff;
padding:30px 20px;
border-radius:14px;
box-shadow:0 10px 30px rgba(0,0,0,.06);
transition:.3s;
}

.why-card:hover{
transform:translateY(-6px);
box-shadow:0 18px 40px rgba(0,0,0,.12);
}

/* numbers */

.why-card h3{
font-size:36px;
font-weight:700;
color:#2596be;
margin-bottom:6px;
}

/* label */

.why-card p{
font-size:14px;
color:#6c757d;
margin:0;
}


/* ================================
FOOTER
================================ */

.premium-footer{
background:linear-gradient(135deg,#0f1c2e,#1b3355);
color:#fff;
padding:70px 0 30px;
}

.footer-heading{
font-weight:700;
margin-bottom:20px;
color:#2596be;
}

.footer-text{
color:#cfd7e6;
font-size:14px;
line-height:1.7;
}

.footer-links{
list-style:none;
padding:0;
}

.footer-links li{
margin-bottom:10px;
}

.footer-links a{
color:#cfd7e6;
text-decoration:none;
transition:.3s;
}

.footer-links a:hover{
color:#fff;
padding-left:5px;
}

.footer-social{
display:flex;
gap:10px;
}

.social-icon{
width:40px;
height:40px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
background:rgba(255,255,255,0.1);
color:#fff;
transition:.3s;
}

.social-icon:hover{
background:#2596be;
transform:translateY(-3px);
}

.footer-divider{
border-color:#2596be;
}

.footer-bottom{
font-size:14px;
color:#cfd7e6;
}


/* ================================
SCROLL UP
================================ */

.scroll-up{
position:fixed;
right:25px;
bottom:25px;
width:60px;
height:60px;
z-index:999;
opacity:0;
visibility:hidden;
transition:.4s;
}

.scroll-up.active{
opacity:1;
visibility:visible;
}

.scroll-btn{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
width:40px;
height:40px;
background:#2596be;
color:#fff;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
text-decoration:none;
font-size:18px;
box-shadow:0 8px 20px rgba(0,0,0,.2);
transition:.3s;
}

.scroll-btn:hover{
background:#1e7fa3;
}

.scroll-progress{
position:absolute;
top:0;
left:0;
transform:rotate(-90deg);
}

.scroll-progress circle{
fill:none;
stroke:#2596be;
stroke-width:4;
stroke-dasharray:163;
stroke-dashoffset:163;
transition:.2s;
}