/* =======================
   GLOBAL RESET
======================= */
*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
scroll-behavior:smooth;
}

body{
width:100%;
overflow-x:hidden;
}

header, section, footer{
width:100%;
max-width:100%;
}

body{
background:#050b14;
color:#fff;
overflow-x:hidden;
}

/* =======================
   LOADER
======================= */
#loader{
position:fixed;
width:100%;
height:100vh;
background:#050b14;
display:flex;
justify-content:center;
align-items:center;
z-index:99999;
}

#loader img{
width:120px;
animation:pulse 1.5s infinite;
}

@keyframes pulse{
0%,100%{transform:scale(1);}
50%{transform:scale(1.2);}
}

/* =======================
   SCROLL PROGRESS
======================= */
#progress{
position:fixed;
top:0;
left:0;
height:4px;
width:0%;
background:#00c3ff;
z-index:9999;
box-shadow:0 0 10px #00c3ff;
}

/* =======================
   CURSOR
======================= */
.cursor{
position:fixed;
width:18px;
height:18px;
border:2px solid #00c3ff;
border-radius:50%;
pointer-events:none;
z-index:9999;
transition:0.08s;
}

/* =======================
   HEADER
======================= */
header{
position:fixed;
top:0;
left:0;
width:100%;
padding:18px 8%;
display:flex;
justify-content:space-between;
align-items:center;
background:rgba(10,15,25,0.6);
backdrop-filter:blur(18px);
border-bottom:1px solid rgba(0,195,255,0.15);
z-index:999;
}

/* LOGO */
.logo{
display:flex;
align-items:center;
gap:10px;
font-weight:600;
color:#00c3ff;
letter-spacing:1px;
}

.logo img{
width:60px;
height:60px;
object-fit:contain;
filter:brightness(0) invert(1);
transition:0.3s;
}

.logo:hover img{
transform:scale(1.1);
filter:brightness(0) invert(1) drop-shadow(0 0 10px #00c3ff);
}

/* NAV */
nav{
display:flex;
gap:25px;
}

nav a{
text-decoration:none;
color:#d7e2ff;
font-size:14px;
transition:0.3s;
position:relative;
padding:5px 0;
}

nav a::after{
content:"";
position:absolute;
bottom:-4px;
left:0;
width:0%;
height:2px;
background:#00c3ff;
transition:0.3s;
}

nav a:hover{
color:#00c3ff;
}

nav a:hover::after{
width:100%;
}

/* =======================
   HERO SECTION
======================= */
.hero{
height:100vh;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
background:url('images/hero.jpg') center/cover no-repeat;
position:relative;
}

.hero-overlay{
position:absolute;
inset:0;
background:radial-gradient(circle,rgba(0,195,255,0.12),rgba(0,0,0,0.85));
}

.hero-content{
z-index:2;
padding:0 20px;
}

.hero h1{
font-size:65px;
font-weight:800;
line-height:1.2;
}

.hero span{
color:#00c3ff;
}

.hero p{
margin-top:10px;
opacity:0.8;
font-size:18px;
}

.glow-btn{
margin-top:20px;
padding:14px 30px;
background:#00c3ff;
border:none;
border-radius:30px;
color:white;
box-shadow:0 0 20px #00c3ff;
cursor:pointer;
transition:0.3s;
font-weight:600;
}

.glow-btn:hover{
transform:scale(1.05);
}

/* FLOATING */
.floating{
position:absolute;
border-radius:50%;
background:rgba(0,195,255,0.15);
animation:float 6s infinite;
}

.f1{
width:180px;
height:180px;
top:10%;
left:5%;
}

.f2{
width:140px;
height:140px;
bottom:10%;
right:10%;
}

@keyframes float{
50%{
transform:translateY(-30px);
}
}

/* =======================
   SECTION
======================= */
section{
padding:120px 8%;
}

.section-title{
text-align:center;
margin-bottom:50px;
}

.section-title h5{
color:#00c3ff;
letter-spacing:3px;
font-size:13px;
opacity:0.8;
}

.section-title h2{
font-size:42px;
margin-top:10px;
}

/* =======================
   SERVICE / CLIENT / TEAM
======================= */
.service-container,
.client-container,
.team-container{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:25px;
}

.service-card,
.client-box,
.team-card{
background:rgba(255,255,255,0.05);
border:1px solid rgba(255,255,255,0.08);
border-radius:15px;
overflow:hidden;
transition:0.4s;
backdrop-filter:blur(12px);
}

.service-card:hover,
.team-card:hover,
.client-box:hover{
transform:translateY(-10px);
box-shadow:0 0 25px rgba(0,195,255,0.3);
}

/* SERVICE IMAGE */
.service-card img{
width:100%;
height:160px;
object-fit:cover;
}

.service-card h3{
padding:20px 20px 10px;
font-size:20px;
}

.service-card p{
padding:0 20px 25px;
color:#cfcfcf;
line-height:1.7;
}

/* =======================
   CLIENT FIX
======================= */
.client-box{
height:110px;
display:flex;
justify-content:center;
align-items:center;
padding:15px;
}

.client-box img{
max-width:70%;
max-height:60px;
object-fit:contain;
opacity:0.85;
filter:none;
animation:logoFloat 3s ease-in-out infinite;
transition:0.3s;
}

@keyframes logoFloat{
0%{
transform:translateY(0px) scale(1);
opacity:0.75;
}
50%{
transform:translateY(-6px) scale(1.05);
opacity:1;
}
100%{
transform:translateY(0px) scale(1);
opacity:0.75;
}
}
/* =======================
   TEAM
======================= */
.team-card{
text-align:center;
padding-bottom:20px;
}

.team-card img{
width:100%;
height:260px;
object-fit:cover;
}

.team-card h3{
margin-top:20px;
font-size:22px;
}

.team-card span{
color:#00c3ff;
font-size:14px;
}

/* =======================
   CONTACT FORM
======================= */
.contact-form{
display:flex;
flex-direction:column;
gap:15px;
max-width:500px;
margin:auto;
}

input,
textarea{
padding:15px;
background:#111d2d;
border:none;
color:white;
border-radius:8px;
outline:none;
}

button{
padding:15px;
background:#00c3ff;
border:none;
color:white;
cursor:pointer;
border-radius:8px;
transition:0.3s;
}

button:hover{
transform:translateY(-5px);
box-shadow:0 0 15px rgba(0,195,255,0.4);
}

/* =======================
   SCROLL ANIMATION
======================= */
.reveal{
opacity:0;
transform:translateY(60px);
transition:1s;
}

.reveal.active{
opacity:1;
transform:translateY(0);
}



/* =======================
   PREMIUM FOOTER
======================= */

footer{
background:#030811;
padding:70px 8% 20px;
border-top:1px solid rgba(0,195,255,0.15);
position:relative;
overflow:hidden;
}

footer::before{
content:"";
position:absolute;
width:500px;
height:500px;
background:rgba(0,195,255,0.06);
filter:blur(120px);
top:-250px;
right:-100px;
border-radius:50%;
}

.footer-container{
display:grid;
grid-template-columns:1.2fr 0.8fr 1fr;
gap:50px;
position:relative;
z-index:2;
}

/* LEFT */



.footer-left{
display:flex;
flex-direction:column;
}

.footer-left h4{
font-size:18px;
margin-bottom:20px;
color:#00c3ff;
}

/* Make links behave like clean list items */
.footer-left a{
display:flex;
align-items:center;
color:#c7d2f0;
text-decoration:none;
font-size:14px;
padding:8px 0;
transition:0.3s;
opacity:0.85;
position:relative;
}

/* small icon style like contact section vibe */
.footer-left a::before{
content:"›";
color:#00c3ff;
margin-right:10px;
font-size:16px;
transition:0.3s;
}

.footer-left a:hover{
color:#00c3ff;
transform:translateX(6px);
opacity:1;
}

.footer-left a:hover::before{
margin-right:14px;
}





/* CENTER */

.footer-logo{
display:flex;
align-items:flex-start;
gap:15px;
}

.footer-logo img{
width:55px;
height:55px;
object-fit:contain;
filter:brightness(0) invert(1);
opacity:0.95;
}

.footer-logo h3{
font-size:22px;
margin-bottom:8px;
color:#fff;
}

.footer-logo p{
color:#9ba8c7;
line-height:1.8;
font-size:14px;
max-width:320px;
}







/* RIGHT */

.footer-right p{
display:flex;
align-items:center;
gap:12px;
margin-bottom:15px;
color:#c7d2f0;
font-size:14px;
}

.footer-right i{
color:#00c3ff;
}

/* SOCIAL */

.social-icons{
display:flex;
gap:15px;
margin-top:25px;
}

.social-icons i{
width:42px;
height:42px;
display:flex;
justify-content:center;
align-items:center;
border-radius:50%;
background:rgba(255,255,255,0.05);
border:1px solid rgba(255,255,255,0.08);
cursor:pointer;
transition:0.4s;
font-size:15px;
}

.social-icons i:hover{
background:#00c3ff;
color:#fff;
transform:translateY(-8px) rotate(360deg);
box-shadow:0 0 20px rgba(0,195,255,0.5);
}

/* FOOTER BOTTOM */

.footer-bottom{
margin-top:60px;
padding-top:20px;
border-top:1px solid rgba(255,255,255,0.08);
text-align:center;
font-size:13px;
color:#8b97b5;
position:relative;
z-index:2;
}

/* MOBILE */

@media(max-width:900px){

.footer-container{
grid-template-columns:1fr;
gap:40px;
}

.footer-logo{
align-items:center;
}

.footer-logo img{
width:45px;
height:45px;
}

.footer-logo h3{
font-size:18px;
}

.footer-center,
.footer-right{
margin-top:10px;
}

.social-icons{
justify-content:flex-start;
}

}





/* =======================
   MOBILE MENU BUTTON
======================= */
.menu-btn{
display:none;
font-size:28px;
color:#00c3ff;
cursor:pointer;
z-index:1001;
}

/* =======================
   RESPONSIVE TABLET
======================= */
@media(max-width:900px){

/* HEADER */

header{
padding:15px 5%;
}

/* LOGO */

.logo{
font-size:14px;
gap:8px;
}

.logo img{
width:45px;
height:45px;
}

/* MENU BUTTON */

.menu-btn{
display:block;
}

/* NAV */

nav{
position:fixed;
top:0;
right:-100%;
width:270px;
height:100vh;
background:rgba(5,10,20,0.97);
backdrop-filter:blur(20px);
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
gap:35px;
transition:0.5s;
z-index:1000;
border-left:1px solid rgba(255,255,255,0.08);
}

nav.active{
right:0;
}

nav a{
font-size:20px;
}

/* HERO */

.hero{
padding:0 5%;
}

.hero h1{
font-size:42px;
}

.hero p{
font-size:15px;
line-height:1.8;
}

/* SECTION */

section{
padding:90px 5%;
}

/* TITLES */

.section-title h2{
font-size:34px;
}

/* SERVICE */

.service-container,
.team-container{
grid-template-columns:1fr;
}

.service-card img{
height:220px;
}

.team-card img{
height:320px;
}

/* CLIENTS */

.client-container{
grid-template-columns:repeat(2,1fr);
gap:18px;
}

.client-box{
height:90px;
}

.client-box img{
max-width:75%;
max-height:45px;
}

/* CONTACT */

.contact-form{
width:100%;
}

/* CURSOR */

.cursor{
display:none;
}

}

/* =======================
   MOBILE SMALL DEVICES
======================= */
@media(max-width:500px){

.hero h1{
font-size:34px;
}

.hero p{
font-size:14px;
}

.section-title h2{
font-size:28px;
}

.client-container{
grid-template-columns:1fr 1fr;
}

.logo{
font-size:12px;
}

.logo img{
width:40px;
height:40px;
}

}








/* ===================================
   ULTRA PREMIUM DEFENCE EFFECTS
=================================== */

/* RED ALERT FLASH */

body::before{
content:"";
position:fixed;
inset:0;
background:
radial-gradient(circle at center,
rgba(255,0,0,0.08),
transparent 70%);
pointer-events:none;
z-index:2;
animation:redAlert 6s infinite;
}

@keyframes redAlert{
0%,100%{
opacity:0;
}
50%{
opacity:1;
}
}

/* MILITARY GRID */

body::after{
content:"";
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background-image:
linear-gradient(rgba(0,195,255,0.05) 1px, transparent 1px),
linear-gradient(90deg, rgba(0,195,255,0.05) 1px, transparent 1px);
background-size:50px 50px;
pointer-events:none;
z-index:1;
animation:gridMove 15s linear infinite;
}

@keyframes gridMove{
0%{
transform:translateY(0);
}
100%{
transform:translateY(50px);
}
}

/* RADAR SWEEP */

.radar{
position:absolute;
width:900px;
height:900px;
border-radius:50%;
border:1px solid rgba(0,195,255,0.08);
top:50%;
left:50%;
transform:translate(-50%,-50%);
overflow:hidden;
pointer-events:none;
}

.radar::before{
content:"";
position:absolute;
width:50%;
height:2px;
background:linear-gradient(90deg,#00c3ff,transparent);
top:50%;
left:50%;
transform-origin:left center;
animation:radarSweep 5s linear infinite;
box-shadow:0 0 25px #00c3ff;
}

@keyframes radarSweep{
0%{
transform:rotate(0deg);
}
100%{
transform:rotate(360deg);
}
}

/* SCANNING LINE */

.scan-line{
position:absolute;
width:100%;
height:120px;
background:linear-gradient(
to bottom,
transparent,
rgba(0,195,255,0.15),
transparent
);
top:-120px;
left:0;
animation:scanMove 5s linear infinite;
pointer-events:none;
}

@keyframes scanMove{
0%{
top:-120px;
}
100%{
top:100%;
}
}

/* HUD CORNERS */

.hero::before{
content:"";
position:absolute;
inset:25px;
border:1px solid rgba(0,195,255,0.15);
pointer-events:none;
z-index:1;
clip-path:polygon(
0 30px,
30px 0,
calc(100% - 30px) 0,
100% 30px,
100% calc(100% - 30px),
calc(100% - 30px) 100%,
30px 100%,
0 calc(100% - 30px)
);
}

/* HERO TEXT GLOW */

.hero h1{
text-shadow:
0 0 10px rgba(255,255,255,0.2),
0 0 25px rgba(0,195,255,0.4),
0 0 60px rgba(0,195,255,0.3);
animation:titlePulse 4s infinite alternate;
}

@keyframes titlePulse{
0%{
transform:scale(1);
}
100%{
transform:scale(1.02);
}
}

/* TYPING CURSOR */

.typing::after{
content:"|";
animation:blink 0.7s infinite;
}

@keyframes blink{
50%{
opacity:0;
}
}

/* HERO PARTICLES */

#particles span{
position:absolute;
width:3px;
height:3px;
background:#00c3ff;
border-radius:50%;
opacity:0.6;
animation:particleFloat linear infinite;
}

@keyframes particleFloat{
0%{
transform:translateY(100vh) scale(0);
opacity:0;
}
10%{
opacity:1;
}
100%{
transform:translateY(-100vh) scale(1.5);
opacity:0;
}
}

/* SERVICE CARD PREMIUM */

.service-card{
position:relative;
overflow:hidden;
}

.service-card::before{
content:"";
position:absolute;
top:-100%;
left:-100%;
width:250%;
height:250%;
background:linear-gradient(
45deg,
transparent,
rgba(255,255,255,0.08),
transparent
);
transform:rotate(25deg);
transition:1s;
}

.service-card:hover::before{
top:-40%;
left:-40%;
}

/* CLIENT LOGO GLOW */

.client-box:hover{
box-shadow:
0 0 20px rgba(0,195,255,0.3),
0 0 50px rgba(0,195,255,0.15);
}

/* TEAM CARD CINEMATIC */

.team-card{
position:relative;
overflow:hidden;
}

.team-card::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(
to top,
rgba(0,0,0,0.8),
transparent 60%
);
}

/* FOOTER GLOW */

footer{
box-shadow:0 -10px 40px rgba(0,195,255,0.08);
}

/* MOBILE */

@media(max-width:768px){

.radar{
width:500px;
height:500px;
}

.hero::before{
inset:15px;
}

body::after{
background-size:30px 30px;
}

}


