
/* ===============================
   ROOT COLORS
================================ */

:root{

--primary:#2563EB;
--secondary:#22D3EE;
--accent:#FF5A00;

--dark:#0F172A;
--dark2:#1E293B;

--light:#F8FAFC;
--white:#ffffff;

}

/* ===============================
   RESET
================================ */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{

font-family:'Outfit',sans-serif;

background:#f8fafc;

overflow-x:hidden;

color:#334155;

}

/* ===============================
   SCROLLBAR
================================ */

::-webkit-scrollbar{
width:10px;
}

::-webkit-scrollbar-thumb{

background:
linear-gradient(
180deg,
var(--primary),
var(--secondary),
var(--accent)
);

border-radius:30px;
}

/* ===============================
   PRELOADER
================================ */

#preloader{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:#ffffff;

display:flex;

align-items:center;
justify-content:center;

z-index:99999;

flex-direction:column;
}

.loader-logo{

font-size:4rem;
font-weight:900;

background:
linear-gradient(
135deg,
var(--primary),
var(--secondary),
var(--accent)
);

-webkit-background-clip:text;
-webkit-text-fill-color:transparent;

animation:pulse 2s infinite;
}

@keyframes pulse{

0%{
transform:scale(1);
}

50%{
transform:scale(1.1);
}

100%{
transform:scale(1);
}

}


/* ===============================
   COMMON BUTTON STYLE
================================ */

/* Targeting both the Navbar button and Contact Form button */
.nav-btn, 
.hero-btn-primary {
    /* Appearance */
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: #ffffff;
    border: none;
    border-radius: 50px;
    padding: 12px 32px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    cursor: pointer;
    
    /* Animation Setup */
    transition: all 0.3s ease;
    position: relative;
    z-index: 1;
}

/* --- HOVER EFFECT --- */
.nav-btn:hover, 
.hero-btn-primary:hover {
    /* 1. Move Up */
    transform: translateY(-3px);
    
    /* 2. Scale Slightly */
    transform: translateY(-3px) scale(1.02);
    
    /* 3. Add a Colored Glow Shadow */
    box-shadow: 0 10px 20px rgba(37, 99, 235, 0.4);
    
    /* 4. Darken the gradient slightly for depth */
    background: linear-gradient(135deg, #1d4ed8, #0891b2);
}

/* Ensure the Send Enquiry button in the form uses this style too */
.contact-form-v2 .nav-btn {
    width: 100%; /* Make it full width inside the form */
    margin-top: 10px;
}



/* ===============================
   GLASS NAVBAR
================================ */

.navbar-custom{

position:fixed;

top:0;
left:0;

width:100%;

z-index:999;

padding:18px 0;

transition:.4s ease;

}

.nav-scrolled{

background:
rgba(255,255,255,.75);

backdrop-filter:blur(18px);

box-shadow:
0 10px 30px rgba(0,0,0,.06);
}

.logo{

font-size:32px;
font-weight:900;
padding: 0;
background:
linear-gradient(
135deg,
var(--primary),
var(--secondary),
var(--accent)
);

-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

.nav-link{

position:relative;

font-weight:600;

transition:.4s;

}

.nav-link::after{

content:"";

position:absolute;

left:0;
bottom:-8px;

width:0;
height:3px;

background:
linear-gradient(
90deg,
#2563EB,
#22D3EE,
#FF5A00
);

border-radius:20px;

transition:.4s;

}

.nav-link:hover{

color:#2563EB !important;

transform:translateY(-3px);
text-shadow:
0 0 10px rgba(34,211,238,.7);

}

.nav-link:hover::after{

width:100%;

}



.nav-btn{

padding:12px 28px;

border:none;

border-radius:50px;

background:
linear-gradient(
135deg,
var(--primary),
var(--secondary)
);

color:white;

font-weight:600;
}


button#themeToggle {
    margin-left: auto;
    position: absolute;
    right: 10px;
    border: 1px solid #999;
    width: 30px;
    text-align: center;
    height: 30px;
    border-radius: 100%; opacity: 0.7;
}
button#themeToggle:hover{ opacity: 1;}

/***** hero slider********/

.hero-slider{
height:100vh;
}

.heroSwiper,
.heroSwiper .swiper-slide{
height:77vh;
overflow:hidden;
}
.heroSwiper .swiper-slide{ background-size: 80vh!important;}
.heroSwiper .swiper-slide::before{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:100%;

background:inherit;

animation:kenburns 15s ease infinite;

z-index:-1;

}

@keyframes kenburns{

0%{
transform:scale(1);
}

100%{
transform:scale(1.15);
}

}

.slide1{

background:
linear-gradient(
rgba(15,23,42,.65),
rgba(15,23,42,.65)
),

url('https://images.unsplash.com/photo-1460925895917-afdab827c52f?w=1920&q=80');

background-size:cover;
background-position:center;

}
.slide2{

background:
linear-gradient(
rgba(15,23,42,.70),
rgba(15,23,42,.70)
),

url('https://images.unsplash.com/photo-1498050108023-c5249f4df085?w=1920&q=80');

background-size:cover;
background-position:center;

}
.slide3{

background:
linear-gradient(
rgba(15,23,42,.70),
rgba(15,23,42,.70)
),

url('https://images.unsplash.com/photo-1551288049-bebda4e38f71?w=1920&q=80');

background-size:cover;
background-position:center;

}
.slide4{

background:
linear-gradient(
rgba(15,23,42,.70),
rgba(15,23,42,.70)
),

url('https://images.unsplash.com/photo-1512941937669-90a1b58e7e9c?w=1920&q=80');

background-size:cover;
background-position:center;

}
.slide5{

background:
linear-gradient(
rgba(15,23,42,.70),
rgba(15,23,42,.70)
),

url('https://images.unsplash.com/photo-1677442136019-21780ecad995?w=1920&q=80');

background-size:cover;
background-position:center;

}
.slide1::after,
.slide2::after,
.slide3::after,
.slide4::after,
.slide5::after{

content:"";

position:absolute;

top:0;
left:0;

width:100%;
height:100%;

background:

linear-gradient(
135deg,
rgba(37,99,235,.75),
rgba(34,211,238,.45),
rgba(15,23,42,.75)
);

z-index:1;

}








.hero-content{
height:100vh;
display:flex;
flex-direction:column;
justify-content:center;
color:white; margin-left:5%;

}

.hero-content h1{
font-size:5rem;
font-weight:900;
max-width:800px;
}




/* ===============================
   HERO
================================ */

.hero{

min-height:100vh;

position:relative;

overflow:hidden;

display:flex;

align-items:center;

background:

radial-gradient(
circle at top left,
rgba(37,99,235,.18),
transparent 30%
),

radial-gradient(
circle at bottom right,
rgba(255,90,0,.15),
transparent 30%
),

#f8fafc;

}

/* ===============================
   PARTICLES BG
================================ */

#particles-js{

position:absolute;

width:100%;
height:100%;

top:0;
left:0;

z-index:-1;
}

/* ===============================
   FLOATING ORBS
================================ */

.orb{

position:absolute;

border-radius:50%;

filter:blur(70px);

animation:float 8s infinite ease-in-out;
}

.orb1{

width:350px;
height:350px;

background:var(--primary);

top:-80px;
left:-80px;

opacity:.20;
}

.orb2{

width:300px;
height:300px;

background:var(--secondary);

right:-80px;
top:180px;

opacity:.18;
}

.orb3{

width:280px;
height:280px;

background:var(--accent);

bottom:-120px;
left:40%;

opacity:.15;
}

@keyframes float{

0%{
transform:translateY(0px);
}

50%{
transform:translateY(-40px);
}

100%{
transform:translateY(0px);
}

}

/* ===============================
   HERO CONTENT
================================ */

.hero-content{

position:relative;

z-index:10;
}

.hero-badge{

display:inline-block;

padding:10px 22px;

border-radius:50px;

background:
rgba(37,99,235,.08);

border:
1px solid rgba(37,99,235,.15);

font-weight:600;

color:var(--primary);

margin-bottom:25px;
}

.hero-title{

font-size:clamp(3rem,8vw,6rem);

font-weight:900;

line-height:1.05;

color:var(--dark);

margin-bottom:25px;

}

.hero-gradient{

background:
linear-gradient(
135deg,
var(--primary),
var(--secondary),
var(--accent)
);

background-size:300% 300%;

animation:gradientMove 6s infinite;

-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
}

@keyframes gradientMove{

0%{
background-position:0% 50%;
}

50%{
background-position:100% 50%;
}

100%{
background-position:0% 50%;
}

}

.hero-text{

font-size:1.15rem;

max-width:750px;

line-height:1.9;

margin-bottom:35px;
}

.hero-btn{

padding:16px 35px;

border-radius:60px;

text-decoration:none;

font-weight:600;

display:inline-block;
}

.hero-btn-primary{

background:
linear-gradient(
135deg,
var(--primary),
var(--secondary)
);

color:white;

margin-right:15px;
}

.hero-btn-outline{

border:2px solid var(--primary);

color:var(--primary);
}

/* ===============================
   HERO MOCKUP CARD
================================ */

.dashboard-card{

background:
rgba(255,255,255,.7);

backdrop-filter:blur(20px);

padding:35px;

border-radius:30px;

box-shadow:
0 20px 50px rgba(0,0,0,.08);

border:
1px solid rgba(255,255,255,.5);
}

.dashboard-card h4{

font-weight:700;

color:var(--dark);

margin-bottom:25px;
}

.metric{

text-align:center;
}

.metric h2{

color:var(--accent);

font-weight:800;
}

section{
padding:100px 0;
}

100%{transform:translateX(-50%);}
}


/* ===============================
   ABOUT SECTION
================================ */

.about-section {
    position: relative;
    background: #ffffff;
    padding: 100px 0;
    overflow: hidden;
    z-index: 1;
}

/* Background Blobs */
.about-bg-circle {
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
    z-index: 0;
    pointer-events: none;
}

.circle-a {
    width: 350px;
    height: 350px;
    background: var(--primary);
    top: -50px;
    right: -100px;
    opacity: 0.08;
    animation: floatBlob 10s infinite ease-in-out;
}

.circle-b {
    width: 300px;
    height: 300px;
    background: var(--secondary);
    bottom: -50px;
    left: -50px;
    opacity: 0.08;
    animation: floatBlob 12s infinite ease-in-out 2s;
}

/* Value Items */
.value-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 10px 0;
}

.value-item i {
    font-size: 1.5rem;
    color: var(--accent);
}

.value-item h5 {
    font-weight: 700;
    color: var(--dark);
    margin: 0;
}

/* Image Wrapper */
.about-image-wrapper {
    position: relative;
    z-index: 2;
}

.about-image-wrapper img {
    width: 100%;
    height: auto;
    object-fit: cover;
    transition: transform 0.5s ease;
}

/* Responsive 16:9 YouTube embed frame */
.about-video-frame {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9 aspect ratio */
    overflow: hidden;
    transition: transform 0.5s ease;
}
 
.about-video-frame iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.about-image-wrapper:hover .about-video-frame {
    transform: scale(1.02);
}

/* Floating Experience Card */
.experience-card {
    position: absolute;
    bottom: -30px;
    left: -30px;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    padding: 25px 40px;
    border-radius: 20px;
    color: white;
    box-shadow: 0 15px 30px rgba(37, 99, 235, 0.3);
    z-index: 3;
    text-align: center;
    border: 2px solid white;
}

.experience-card h3 {
    font-size: 2.5rem;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 5px;
}

.experience-card span {
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.9;
}






/*.service-box{
background:white;
padding:35px;
border-radius:30px;
height:100%;
transition:.4s;
box-shadow:0 15px 35px rgba(0,0,0,.06);
animation:
serviceFloat 5s ease-in-out infinite;
}
@keyframes serviceFloat{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-8px);
}

100%{
transform:translateY(0);
}

}

.service-box::after{

content:"";

position:absolute;

width:200px;
height:200px;

background:
radial-gradient(
circle,
rgba(34,211,238,.3),
transparent
);

top:-100px;
right:-100px;

opacity:0;

transition:.5s;

}

.service-box:hover::after{

opacity:1;

}

.service-icon{
font-size:40px;
margin-bottom:20px;
color:var(--primary);
}

 #services{
position:relative;
overflow:hidden;
background:
    linear-gradient(
    180deg,
    #f8fbff 0%,
    #eef6ff 100%
    );
}

.services-bg-circle{
position:absolute;
border-radius:50%;
filter:blur(80px);
animation:floatBlob 8s infinite ease-in-out;
}

.circle1{
width:300px;
height:300px;
background:#2563EB;
top:-50px;
left:-50px;
opacity:.15;
}

.circle2{
width:250px;
height:250px;
background:#22D3EE;
right:-50px;
top:150px;
opacity:.15;
}

.circle3{
width:280px;
height:280px;
background:#FF5A00;
bottom:-80px;
left:40%;
opacity:.12;
}

@keyframes floatBlob{
0%{transform:translateY(0);}
50%{transform:translateY(-30px);}
100%{transform:translateY(0);}
} */

/******/

/* ===============================
   SERVICES SECTION (UPDATED)
================================ */
#services {
    position: relative;
    background: #f1f5f9; 
    overflow: hidden;
    padding: 100px 0;
}

/* Ensure rows sit on top of background blobs */
#services .container, 
#services .row {
    position: relative;
    z-index: 10; 
}

/* Background Blobs */
.services-bg-circle {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    z-index: 0; 
    pointer-events: none;
}
.circle1 { width: 300px; height: 300px; background: #2563EB; top: -50px; left: -50px; opacity: .15; animation: floatBlob 8s infinite ease-in-out; }
.circle2 { width: 250px; height: 250px; background: #22D3EE; right: -50px; top: 150px; opacity: .15; animation: floatBlob 8s infinite ease-in-out 1s; }
.circle3 { width: 280px; height: 280px; background: #FF5A00; bottom: -80px; left: 40%; opacity: .12; animation: floatBlob 8s infinite ease-in-out 2s; }

@keyframes floatBlob {
    0% { transform: translateY(0); }
    50% { transform: translateY(-30px); }
    100% { transform: translateY(0); }
}

/* --- Service Card --- */
.service-box {
    background: #ffffff;
    padding: 40px 30px;
    border-radius: 24px;
    height: 100%;
    border: 1px solid rgba(0,0,0,0.05);
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    z-index: 5;
    
    /* IMPORTANT: Ensures card is visible without JS */
    opacity: 1; 
    transform: translateY(0);
}

.service-icon {
    font-size: 32px;
    margin-bottom: 25px;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #EFF6FF;
    color: var(--primary);
    border-radius: 18px;
    transition: all 0.5s ease;
    flex-shrink: 0;
}

.service-box h4 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dark);
    margin-bottom: 15px;
    transition: color 0.3s ease;
}

.service-box p {
    color: #64748b;
    line-height: 1.7;
    margin-bottom: 0;
    margin-top: auto;
}

/* --- Services Hover (CSS Only) --- */
.service-box:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(37, 99, 235, 0.15);
    border-color: rgba(37, 99, 235, 0.2);
}

.service-box:hover .service-icon {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: #ffffff;
    transform: rotateY(180deg) scale(1.1);
    box-shadow: 0 10px 20px rgba(37, 99, 235, 0.3);
}

.service-box:hover h4 {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}




/*************/
.section-title{

font-size:4rem;

font-weight:900;

text-align:center;

}

.section-title span{

background:
linear-gradient(
135deg,
#2563EB,
#22D3EE,
#FF5A00
);

background-size:300%;

animation:gradientText 5s infinite;

-webkit-background-clip:text;
-webkit-text-fill-color:transparent;

}

@keyframes gradientText{

0%{background-position:0%;}
100%{background-position:300%;}
}

/*****************************/



.feature-item{
padding:15px 0;
font-weight:600;
}

.counter-area{
background:linear-gradient(
135deg,
var(--primary),
var(--secondary)
);
color:white;
}

.counter{
font-size:4rem;
font-weight:900;
}



/*** Process section ***/
.process-section{

   background:
linear-gradient(
180deg,
#ffffff,
#f8fafc
);
}

.process-wrapper{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:25px;
}

.process-step{
background:white;
padding:25px;
border-radius:25px;
text-align:center;
box-shadow:0 15px 30px rgba(0,0,0,.05);
}

.step-number{
font-size:2rem;
font-weight:800;
color:var(--accent);
}


/* ===============================
   INDUSTRIES SECTION (UPDATED)
================================ */

.industries-section {
    background: #ffffff;
    position: relative;
    padding: 100px 0;
}

.industries-section .row {
    position: relative;
    z-index: 5;
}

.industry-box {
    background: #ffffff;
    padding: 40px 25px;
    border-radius: 20px;
    text-align: center;
    transition: all 0.4s ease;
    border: 1px solid #f1f5f9;
    position: relative;
    overflow: hidden;
    border-bottom: 4px solid transparent;
    
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    
    /* IMPORTANT: Ensures card is visible without JS */
    opacity: 1;
    transform: translateY(0);
}

.industry-box i {
    font-size: 42px;
    color: #94a3b8;
    margin-bottom: 20px;
    display: inline-block;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.industry-box h5 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--dark);
    margin: 0;
    transition: transform 0.3s ease;
}

/* --- Industries Hover (CSS Only) --- */
.industry-box:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08);
    border-bottom-color: var(--accent);
    background: #fdfdfd;
}

.industry-box:hover i {
    color: var(--accent);
    transform: scale(1.2) translateY(-5px);
}

.industry-box:hover h5 {
    color: var(--primary);
    transform: translateY(-2px);
}


/*************/

.testimonial-section{
background:
linear-gradient(
135deg,
#0F172A,
#1E293B
);
}
.testimonial-section h2.section-title{ color: #f5f5f5;}

.testimonial-box{
background:#fff;
padding:40px;
border-radius:30px;
text-align:center;
box-shadow:0 15px 35px rgba(0,0,0,.06);
}

.testimonial-stars{
font-size:24px;
color:#ffc107;
margin-bottom:20px;
}

/* .premium-cta{
background:linear-gradient(
135deg,
var(--primary),
var(--secondary)
);
} */


.premium-cta {
    /* Base Gradient */
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    
    /* The Dot Pattern Overlay */
    background-image: 
        radial-gradient(var(--secondary) 1px, transparent 1px),
        linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    
    /* Controls the spacing of the dots (30px apart) */
    background-size: 30px 30px, 100% 100%;
    
    color: white;
    padding: 100px 0;
    position: relative;
    overflow: hidden;
    border-top: 1px solid rgba(255,255,255,0.1);
    background-attachment: fixed;
}

/* Add a subtle glowing orb behind the text for extra pop */
.premium-cta::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(37,99,235,0.3) 0%, transparent 70%);
    z-index: 0;
    pointer-events: none;
}

.cta-box {
    position: relative;
    z-index: 1; /* Ensure text is above the orb */
    padding: 20px;
}

.cta-box h2 {
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 800;
    margin-bottom: 20px;
    background: linear-gradient(to right, #fff, #94a3b8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.cta-box p {
    font-size: 1.2rem;
    color: #cbd5e1;
    margin-bottom: 40px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}



.contact-form-v2{
background:#fff;
padding:40px;
border-radius:30px;
box-shadow:0 20px 40px rgba(0,0,0,.06);
}

.footer-v2{
background:#0F172A;
color:white;
padding:80px 0 30px;
}

.footer-links{
list-style:none;
padding:0;
}

.footer-links li{
margin-bottom:10px;
}

.footer-links a{
color:#cbd5e1;
text-decoration:none;
}

.social-icons a{
font-size:24px;
margin-right:15px;
color:white;
}

.whatsapp-btn{
position:fixed;
right:25px;
bottom:25px;
width:65px;
height:65px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
background:#25D366;
color:white;
font-size:30px;
z-index:9999;
box-shadow:0 10px 30px rgba(0,0,0,.2);
}

.accordion-item{
border:none;
margin-bottom:15px;
border-radius:20px;
overflow:hidden;
box-shadow:0 10px 25px rgba(0,0,0,.05);
}

#cursor-glow{

position:fixed;

width:300px;
height:300px;

border-radius:50%;

background:
radial-gradient(
circle,
rgba(37,99,235,.25),
transparent 70%
);

pointer-events:none;

z-index:0;

transform:translate(-50%,-50%);
}

/* ==========================================
     COMPREHENSIVE DARK MODE OVERRIDES
========================================= */

/* --- Base Body & Preloader --- */
body.dark-mode {
    background-color: #0F172A; /* --dark */
    color: #cbd5e1; /* Slate 300 for text readability */
}

body.dark-mode #preloader {
    background-color: #0F172A;
}

/* --- Navbar --- */
body.dark-mode .nav-scrolled {
    background: rgba(15, 23, 42, 0.9); /* Darker glass effect */
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
body.dark-mode .nav-link {
    color: #e2e8f0;
}
body.dark-mode .nav-link:hover {
    color: var(--secondary) !important;
}
body.dark-mode button#themeToggle {
    border-color: rgba(255,255,255,0.3);
    color: #fff;
}


/* ==========================================
     DARK MODE OVERRIDES (ABOUT)
========================================= */

body.dark-mode .about-section {
    background-color: #0F172A; /* Matches --dark */
}

body.dark-mode .hero-text {
    color: #cbd5e1;
}

body.dark-mode .value-item h5 {
    color: #f8fafc;
}

body.dark-mode .experience-card {
    border-color: rgba(255, 255, 255, 0.1);
}

/* --- Why Choose Section (bg-light) --- */
body.dark-mode .bg-light {
    background-color: #0F172A !important;
    background-image: none !important;
}
body.dark-mode .feature-item {
    color: #e2e8f0;
}
body.dark-mode .dashboard-card {
    background: rgba(30, 41, 59, 0.6); /* Darker glass */
    border: 1px solid rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(20px);
}
body.dark-mode .dashboard-card h4 {
    color: #fff;
}

/* --- Counter Area --- */
body.dark-mode .counter-area {
    background: linear-gradient(135deg, #1e3a8a, #0f172a); /* Deeper Dark Blue */
}

/* --- Process Section --- */
body.dark-mode .process-section {
    background: #0F172A;
    background-image: none;
}
body.dark-mode .process-step {
    background: #1E293B; /* Dark2 */
    border: 1px solid rgba(255, 255, 255, 0.05);
}
body.dark-mode .process-step h4 {
    color: #fff;
}
body.dark-mode .process-step p {
    color: #94a3b8;
}

/* --- Services Section --- */
body.dark-mode #services {
    background: #0F172A;
}
body.dark-mode .service-box {
    background: rgba(30, 41, 59, 0.6);
    border-color: rgba(255, 255, 255, 0.05);
    color: #e2e8f0;
}
body.dark-mode .service-icon {
    background: rgba(255, 255, 255, 0.05);
    color: var(--secondary);
}
body.dark-mode .service-box h4 {
    color: #f8fafc;
}
body.dark-mode .service-box p {
    color: #94a3b8;
}

/* --- Industries Section --- */
body.dark-mode .industries-section {
    background: #0F172A;
}
body.dark-mode .industry-box {
    background: #1E293B;
    border-color: rgba(255, 255, 255, 0.05);
    color: #e2e8f0;
}
body.dark-mode .industry-box h5 {
    color: #f8fafc;
}
body.dark-mode .industry-box i {
    color: #94a3b8;
}
body.dark-mode .industry-box:hover {
    background: #1E293B; /* Keep consistent dark */
    border-color: var(--accent);
}

/* --- Testimonials --- */
body.dark-mode .testimonial-section {
    background: linear-gradient(135deg, #020617, #0F172A);
}

/* --- FAQ Section --- */
body.dark-mode .faq-section {
    background-color: #0F172A;
}
body.dark-mode .accordion-item {
    background: #1E293B;
    border: 1px solid rgba(255, 255, 255, 0.05);
}
body.dark-mode .accordion-button {
    background: #1E293B;
    color: #fff;
    box-shadow: none;
}
body.dark-mode .accordion-button::after {
    filter: invert(1); /* Make arrow white */
}
body.dark-mode .accordion-button:not(.collapsed) {
    background: #0F172A;
    color: var(--secondary);
    box-shadow: inset 0 -1px 0 rgba(0,0,0,.125);
}
body.dark-mode .accordion-body {
    background: #1E293B;
    color: #cbd5e1;
}

/* --- Contact Section --- */
body.dark-mode #contact {
    background-color: #0F172A;
}
body.dark-mode .contact-info h5, 
body.dark-mode .contact-info p {
    color: #e2e8f0;
}
body.dark-mode .contact-form-v2 {
    background: #1E293B;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

/* --- Form Controls (Inputs, Textarea, Select) --- */
body.dark-mode .form-control {
    background-color: #0F172A;
    border-color: #334155;
    color: #fff;
}
body.dark-mode .form-control:focus {
    background-color: #0F172A;
    border-color: var(--primary);
    color: #fff;
    box-shadow: 0 0 0 0.25rem rgba(37, 99, 235, 0.25);
}
body.dark-mode .form-control::placeholder {
    color: #64748b;
}
body.dark-mode .form-select {
    background-color: #0F172A;
    border-color: #334155;
    color: #fff;
}

/* --- Footer --- */
body.dark-mode .footer-v2 {
    background: #020617; /* Deepest black/blue */
    border-top: 1px solid rgba(255,255,255,0.05);
}
body.dark-mode .footer-links a:hover {
    color: var(--secondary);
}


/* ==========================================
   RESPONSIVE MEDIA QUERIES
========================================= */

/* --- Tablet & Large Phones (991px and down) --- */
@media (max-width: 991px) {
    
    /* Navbar Adjustments */
    button#themeToggle {
        right: 60px; /* Move toggle left so it doesn't hit the hamburger menu */
    }
    
    .navbar-collapse {
        background: rgba(255, 255, 255, 0.98);
        backdrop-filter: blur(10px);
        padding: 20px;
        border-radius: 0 0 20px 20px;
        box-shadow: 0 10px 20px rgba(0,0,0,0.05);
    }
    
    body.dark-mode .navbar-collapse {
        background: rgba(15, 23, 42, 0.98);
        border: 1px solid rgba(255,255,255,0.05);
    }

    /* Section Padding */
    section {
        padding: 80px 0;
    }

    /* Process Timeline - Switch to 2 columns */
    .process-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Section Titles */
    .section-title {
        font-size: 3rem;
    }
}

/* --- Mobile Devices (768px and down) --- */
@media (max-width: 768px) {
    
    /* Section Padding */
    section {
        padding: 60px 0;
    }
    .hero-slider{ padding-top: 105px;}
    .heroSwiper, .heroSwiper .swiper-slide{ height: 100vh;}

    /* Hero Text Sizing */
    .hero-content {
        margin-left: 5%;
        margin-right: 5%;
        text-align: center;
    }
    
    .hero-content h1 {
        font-size: 2.8rem; /* Reduce from 5rem */
        line-height: 1.2;
    }
    
    .hero-content p {
        font-size: 1rem;
        margin-bottom: 20px;
    }

    /* About Us Experience Card - Center it on Mobile */
    .about-image-wrapper {
        margin-top: 30px;
        text-align: center; /* Center the image container */
        width: 100%; /* FIX 6: Ensure full width */
        padding: 0 15px; /* Bootstrap gutter fix */
    }
    
    /* FIX 7: Fix the Card Positioning on Mobile to prevent overflow */
    .experience-card {
        position: absolute; /* Keep absolute to float */
        bottom: -20px;
        left: 50%; /* Center horizontally */
        transform: translateX(-50%); /* Perfect center */
        width: 80%; /* Safe width */
        max-width: 300px; /* Limit max width */
        padding: 15px 20px;
        right: auto; /* Reset right */
        left: 50%;
    }

    .experience-card h3 {
        font-size: 2rem;
    }

    .experience-card span {
        font-size: 0.75rem;
    }

    /* Section Titles Mobile */
    .section-title {
        font-size: 2.2rem;
    }

    /* Value Items */
    .value-item {
        justify-content: flex-start;
    }
    
    /* Ensure no overflow from columns */
    .col-lg-6, .col-md-6 {
        width: 100%;
        max-width: 100%;
    }
}

/* --- Small Mobile Devices (576px and down) --- */
@media (max-width: 576px) {
    
    /* Process Timeline - Stack Vertically */
    .process-wrapper {
        grid-template-columns: 1fr;
    }

    /* Counter Section */
    .counter {
        font-size: 2.5rem;
    }
    
    .counter-box p {
        font-size: 0.9rem;
    }

    /* Buttons - Full width on mobile */
    .nav-btn {
        width: 100%;
        text-align: center;
        display: block;
        margin-top: 10px;
    }
    
    /* About Image Card - Wider on very small screens */
    .experience-card {
        width: 85%;
        bottom: -15px;
        padding: 15px;
    }
    
    /* Industries - Grid */
    .industry-box {
        padding: 30px 15px;
    }
}

/* ==========================================================
   EMPYRA DIGITECH — WHATSAPP INQUIRY MODAL
========================================================== */

:root{
  --ed-navy:#0b1733;
  --ed-navy-2:#0f1f44;
  --ed-blue:#2563eb;
  --ed-blue-2:#1d4ed8;
  --ed-orange:#f97316;
  --ed-orange-2:#ea580c;
  --ed-gradient: linear-gradient(135deg, var(--ed-blue) 0%, var(--ed-orange) 100%);
}

/* ---------- Overlay ---------- */
.ed-modal-overlay{
  position: fixed;
  inset: 0;
  background: rgba(8, 14, 32, 0.72);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  z-index: 99999;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease;
}
.ed-modal-overlay.active{
  opacity: 1;
  visibility: visible;
}

/* ---------- Modal Card ---------- */
.ed-modal-card{
  position: relative;
  width: 100%;
  max-width: 480px;
  max-height: 90vh;
  overflow-y: auto;
  background: #ffffff;
  border-radius: 22px;
  box-shadow: 0 30px 80px rgba(11, 23, 51, 0.45);
  transform: translateY(24px) scale(.96);
  opacity: 0;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), opacity .35s ease;
}
.ed-modal-overlay.active .ed-modal-card{
  transform: translateY(0) scale(1);
  opacity: 1;
}

/* scrollbar polish */
.ed-modal-card::-webkit-scrollbar{ width: 6px; }
.ed-modal-card::-webkit-scrollbar-thumb{ background: #d8dee9; border-radius: 10px; }

/* ---------- Header ---------- */
.ed-modal-header{
  background: var(--ed-gradient);
  border-radius: 22px 22px 0 0;
  padding: 28px 28px 60px;
  position: relative;
  overflow: hidden;
  color: #fff;
}
.ed-modal-header::before,
.ed-modal-header::after{
  content:"";
  position:absolute;
  border-radius:50%;
  background: rgba(255,255,255,0.12);
}
.ed-modal-header::before{ width:160px; height:160px; top:-60px; right:-40px; }
.ed-modal-header::after{ width:90px; height:90px; bottom:-30px; left:-20px; }

.ed-modal-close{
  position: absolute;
  top: 16px;
  right: 16px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,0.18);
  border: none;
  color: #fff;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
  z-index: 2;
}
.ed-modal-close:hover{
  background: rgba(255,255,255,0.32);
  transform: rotate(90deg);
}

.ed-modal-header-icon{
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: rgba(255,255,255,0.22);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 26px;
  margin-bottom: 14px;
  position: relative;
  z-index: 1;
}
.ed-modal-header h3{
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 6px;
  position: relative;
  z-index: 1;
}
.ed-modal-header p{
  font-size: 14px;
  margin: 0;
  opacity: .92;
  position: relative;
  z-index: 1;
}

/* Floating WhatsApp badge that overlaps header/body */
.ed-modal-badge{
  position: absolute;
  left: 28px;
  bottom: -26px;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #25D366;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 24px;
  color: #fff;
  box-shadow: 0 10px 24px rgba(37, 211, 102, 0.45);
  border: 4px solid #fff;
  z-index: 3;
}

/* ---------- Body / Form ---------- */
.ed-modal-body{
  padding: 40px 28px 28px;
}

.ed-field{
  margin-bottom: 16px;
  position: relative;
}
.ed-field label{
  display:block;
  font-size: 13px;
  font-weight: 600;
  color: var(--ed-navy);
  margin-bottom: 6px;
}
.ed-field label .req{ color: var(--ed-orange-2); }

.ed-field input,
.ed-field select{
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid #e3e7ef;
  border-radius: 12px;
  font-size: 14.5px;
  color: var(--ed-navy);
  background: #f8f9fc;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
  outline: none;
  font-family: inherit;
}
.ed-field input::placeholder{ color: #9aa3b5; }
.ed-field input:focus,
.ed-field select:focus{
  border-color: var(--ed-blue);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}
.ed-field select{
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='%232563eb' d='M7 9 0 0h14z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  cursor: pointer;
}

.ed-error-msg{
  display: none;
  font-size: 12px;
  color: #e11d48;
  margin-top: 5px;
  font-weight: 500;
}
.ed-field.has-error input,
.ed-field.has-error select{
  border-color: #e11d48;
  background: #fff5f6;
}
.ed-field.has-error .ed-error-msg{ display: block; }

/* ---------- Captcha ---------- */
.ed-captcha-box{
  display:flex;
  align-items:center;
  gap: 12px;
  background: #f0f4ff;
  border: 1.5px solid #e3e7ef;
  border-radius: 12px;
  padding: 12px 14px;
  margin-bottom: 4px;
}
.ed-captcha-question{
  font-weight: 700;
  font-size: 16px;
  color: var(--ed-navy);
  white-space: nowrap;
  letter-spacing: .5px;
  user-select: none;
  background: #fff;
  border-radius: 8px;
  padding: 6px 12px;
  border: 1px dashed #c7d2ee;
}
.ed-captcha-box input{
  flex: 1;
  margin: 0;
  padding: 10px 12px;
}
.ed-captcha-refresh{
  border: none;
  background: #fff;
  width: 38px;
  height: 38px;
  min-width: 38px;
  border-radius: 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor: pointer;
  color: var(--ed-blue);
  border: 1px solid #e3e7ef;
  transition: transform .25s ease, color .2s ease;
}
.ed-captcha-refresh:hover{ color: var(--ed-orange-2); }
.ed-captcha-refresh:active{ transform: rotate(180deg); }

/* ---------- Submit Button ---------- */
.ed-submit-btn{
  width: 100%;
  border: none;
  border-radius: 14px;
  padding: 15px 18px;
  font-size: 15.5px;
  font-weight: 700;
  color: #fff;
  background: var(--ed-gradient);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 6px;
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
  box-shadow: 0 12px 28px rgba(37, 99, 235, 0.28);
}
.ed-submit-btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(249, 115, 22, 0.3);
}
.ed-submit-btn:active{ transform: translateY(0); }
.ed-submit-btn:disabled{
  opacity: .65;
  cursor: not-allowed;
  transform: none;
}
.ed-submit-btn .bi-whatsapp{ font-size: 18px; }

.ed-privacy-note{
  text-align: center;
  font-size: 12px;
  color: #8a93a6;
  margin-top: 14px;
  line-height: 1.5;
}
.ed-privacy-note i{ color: #25D366; }

/* spinner for loading state */
.ed-spinner{
  width: 16px;
  height: 16px;
  border: 2.5px solid rgba(255,255,255,0.4);
  border-top-color: #fff;
  border-radius: 50%;
  animation: ed-spin .7s linear infinite;
  display: none;
}
.ed-submit-btn.loading .ed-spinner{ display: inline-block; }
.ed-submit-btn.loading .ed-btn-text{ display: none; }
@keyframes ed-spin{ to{ transform: rotate(360deg); } }

/* ---------- Success State ---------- */
.ed-success-state{
  display: none;
  text-align: center;
  padding: 20px 10px 10px;
}
.ed-success-state.active{ display: block; }
.ed-success-icon{
  width: 78px;
  height: 78px;
  border-radius: 50%;
  background: rgba(37, 211, 102, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  font-size: 38px;
  color: #25D366;
  animation: ed-pop .45s cubic-bezier(.2,.9,.3,1.3);
}
@keyframes ed-pop{
  0%{ transform: scale(0); opacity: 0; }
  100%{ transform: scale(1); opacity: 1; }
}
.ed-success-state h4{
  font-size: 19px;
  font-weight: 700;
  color: var(--ed-navy);
  margin-bottom: 8px;
}
.ed-success-state p{
  font-size: 14px;
  color: #6b7280;
  margin-bottom: 22px;
  line-height: 1.6;
}
.ed-success-btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #25D366;
  color: #fff;
  text-decoration: none;
  padding: 13px 26px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 14.5px;
  box-shadow: 0 12px 26px rgba(37, 211, 102, 0.32);
  transition: transform .2s ease;
}
.ed-success-btn:hover{ transform: translateY(-2px); color:#fff; }

/* form/success toggle */
.ed-form-state{ display: block; }
.ed-form-state.hidden{ display: none; }

/* ---------- Responsive ---------- */
@media (max-width: 480px){
  .ed-modal-card{ border-radius: 18px; max-height: 94vh; }
  .ed-modal-header{ padding: 24px 20px 54px; border-radius: 18px 18px 0 0; }
  .ed-modal-body{ padding: 36px 20px 22px; }
  .ed-modal-badge{ left: 20px; width: 46px; height: 46px; font-size: 20px; bottom: -22px; }
}

/* respect existing dark mode toggle on the site, if body gets a dark class */
body.dark-mode .ed-modal-card{
  background: #121a2e;
}
body.dark-mode .ed-field label{ color: #e8ecf6; }
body.dark-mode .ed-field input,
body.dark-mode .ed-field select{
  background: #1a2440;
  border-color: #2a3554;
  color: #e8ecf6;
}
body.dark-mode .ed-field input::placeholder{ color: #6b7794; }
body.dark-mode .ed-captcha-box{
  background: #1a2440;
  border-color: #2a3554;
}
body.dark-mode .ed-captcha-question{
  background: #121a2e;
  border-color: #2a3554;
  color: #e8ecf6;
}
body.dark-mode .ed-captcha-refresh{
  background: #121a2e;
  border-color: #2a3554;
}
body.dark-mode .ed-success-state h4{ color: #e8ecf6; }
