/* ===========================================
   IART TECHNOLOGIES
   PREMIUM CORPORATE WEBSITE
=========================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
scroll-behavior:smooth;
}

body{
background:#f7fbff;
color:#222;
overflow-x:hidden;
}

/* Scrollbar */

::-webkit-scrollbar{
width:8px;
}

::-webkit-scrollbar-track{
background:#f1f1f1;
}

::-webkit-scrollbar-thumb{
background:#0d6efd;
border-radius:10px;
}

/* Loader */

#loader{

position:fixed;

top:0;

left:0;

width:100%;

height:100vh;

background:#08142b;

display:flex;

justify-content:center;

align-items:center;

flex-direction:column;

z-index:999999;

}

#loader img{

width:120px;

animation:rotateLogo 3s linear infinite;

}

#loader h2{

color:white;

margin-top:20px;

font-size:30px;

letter-spacing:2px;

}

.loader-bar{

width:260px;

height:8px;

background:white;

border-radius:30px;

margin-top:30px;

overflow:hidden;

}

.loader-bar span{

display:block;

height:100%;

width:0;

background:#00c8ff;

animation:loading 3s infinite;

}

@keyframes loading{

0%{width:0;}

100%{width:100%;}

}

@keyframes rotateLogo{

100%{

transform:rotate(360deg);

}

}

/* NAVBAR */

header{

position:fixed;

top:0;

left:0;

width:100%;

z-index:999;

background:rgba(255,255,255,.85);

backdrop-filter:blur(15px);

box-shadow:0 10px 30px rgba(0,0,0,.08);

}

nav{

max-width:1400px;

margin:auto;

display:flex;

justify-content:space-between;

align-items:center;

padding:25px 40px;

}

.logo{

display:flex;

align-items:center;

gap: 20px;

}

.logo img{

width: 200px;

}

.logo h2{

color:#0d6efd;

font: size 36px;

font-weight:700;

}

nav ul{

display:flex;

list-style:none;

gap:35px;

}

nav ul li a{

text-decoration:none;

font-weight:600;

color:#222;

transition:.3s;

}

nav ul li a:hover{

color:#0d6efd;

}

.primary-btn{

background:linear-gradient(45deg,#0d6efd,#00c8ff);

padding:14px 30px;

border-radius:50px;

text-decoration:none;

color:white;

font-weight:600;

transition:.4s;

box-shadow:0 10px 20px rgba(13,110,253,.3);

}

.primary-btn:hover{

transform:translateY(-5px);

}

.secondary-btn{

border:2px solid #0d6efd;

padding:13px 30px;

border-radius:50px;

text-decoration:none;

font-weight:600;

color:#0d6efd;

transition:.4s;

margin-left:15px;

}

.secondary-btn:hover{

background:#0d6efd;

color:white;

}

.menu{

display:none;

font-size:28px;

cursor:pointer;

}

/* HERO */

.hero{

padding:170px 8% 100px;

display:flex;

justify-content:space-between;

align-items:center;

gap:60px;

background:linear-gradient(120deg,#eef7ff,#ffffff);

min-height:100vh;

}

.hero-left{

flex:1;

}

.hero-left h4{

color:#00a3ff;

letter-spacing:2px;

margin-bottom:15px;

}

.hero-left h1{

font-size:68px;

font-weight:800;

line-height:1.1;

margin-bottom:25px;

}

.hero-left h1 span{

color:#0d6efd;

display:block;

}

.hero-left p{

font-size:18px;

line-height:34px;

color:#555;

max-width:620px;

margin-bottom:40px;

}

.hero-btns{

display:flex;

align-items:center;

margin-bottom:45px;

}

.hero-stats{

display:flex;

gap:45px;

}

.hero-stats h2{

font-size:42px;

color:#0d6efd;

}

.hero-right{

flex:1;

display:grid;

grid-template-columns:repeat(2,1fr);

gap:25px;

}

.glass{

padding:40px;

background:rgba(255,255,255,.8);

backdrop-filter:blur(20px);

border-radius:25px;

box-shadow:0 20px 40px rgba(0,0,0,.08);

transition:.5s;

}

.glass:hover{

transform:translateY(-12px);

}

.glass i{

font-size:45px;

color:#0d6efd;

margin-bottom:20px;

}

.glass h3{

font-size:22px;

}
/* ================= ABOUT ================= */

.about{

padding:120px 8%;

display:flex;

align-items:center;

justify-content:space-between;

gap:70px;

background:#fff;

}

.about-img{

flex:1;

}

.about-img img{

width:100%;

border-radius:25px;

box-shadow:0 25px 50px rgba(0,0,0,.12);

transition:.5s;

}

.about-img img:hover{

transform:scale(1.03);

}

.about-content{

flex:1;

}

.about-content h5{

color:#00a3ff;

font-size:18px;

letter-spacing:2px;

margin-bottom:15px;

}

.about-content h2{

font-size:48px;

margin-bottom:25px;

color:#0b1f3a;

line-height:1.2;

}

.about-content p{

font-size:17px;

color:#666;

line-height:32px;

margin-bottom:30px;

}

.features{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

}

.features div{

background:#f8fbff;

padding:18px;

border-radius:15px;

font-weight:600;

transition:.4s;

}

.features div:hover{

background:#0d6efd;

color:#fff;

transform:translateY(-8px);

}

.features i{

margin-right:10px;

color:#00c8ff;

}

/* ================= SERVICES ================= */

.services{

padding:120px 8%;

background:#f7fbff;

}

.section-title{

text-align:center;

margin-bottom:70px;

}

.section-title h5{

color:#00a3ff;

letter-spacing:2px;

margin-bottom:10px;

}

.section-title h2{

font-size:48px;

color:#0b1f3a;

margin-bottom:15px;

}

.section-title p{

max-width:700px;

margin:auto;

color:#666;

line-height:30px;

}

.service-container{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:35px;

}

.service-card{

background:#fff;

padding:40px;

border-radius:25px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.5s;

position:relative;

overflow:hidden;

}

.service-card::before{

content:"";

position:absolute;

top:0;

left:-100%;

width:100%;

height:5px;

background:linear-gradient(90deg,#00c8ff,#0d6efd);

transition:.5s;

}

.service-card:hover::before{

left:0;

}

.service-card:hover{

transform:translateY(-12px);

}

.service-card i{

font-size:55px;

color:#0d6efd;

margin-bottom:25px;

}

.service-card h3{

font-size:26px;

margin-bottom:15px;

}

.service-card p{

line-height:30px;

color:#666;

margin-bottom:25px;

}

.service-card a{

text-decoration:none;

font-weight:600;

color:#0d6efd;

}

/* ================= TECHNOLOGY ================= */

.technology{

padding:110px 8%;

background:#08142b;

color:white;

text-align:center;

}

.tech-slider{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:20px;

margin-top:50px;

}

.tech-slider span{

padding:16px 30px;

background:rgba(255,255,255,.08);

border-radius:40px;

font-weight:600;

transition:.4s;

}

.tech-slider span:hover{

background:#00c8ff;

transform:translateY(-8px);

}

/* ================= PORTFOLIO ================= */

.portfolio{

padding:120px 8%;

background:#fff;

}

.portfolio-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}

.project{

position:relative;

overflow:hidden;

border-radius:25px;

}

.project img{

width:100%;

height:350px;

object-fit:cover;

transition:.6s;

}

.project:hover img{

transform:scale(1.1);

}

.overlay{

position:absolute;

left:0;

bottom:-100%;

width:100%;

padding:35px;

background:linear-gradient(transparent,#08142b);

color:white;

transition:.5s;

}

.project:hover .overlay{

bottom:0;

}

.overlay a{

display:inline-block;

margin-top:15px;

padding:12px 25px;

background:#00c8ff;

border-radius:30px;

color:white;

text-decoration:none;

font-weight:600;

}
/* ================= PROCESS ================= */

.process{
padding:120px 8%;
background:#f8fbff;
}

.process-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
margin-top:60px;
}

.step{
background:#fff;
padding:40px;
border-radius:25px;
box-shadow:0 15px 35px rgba(0,0,0,.08);
text-align:center;
transition:.4s;
}

.step:hover{
transform:translateY(-10px);
}

.step span{
width:80px;
height:80px;
background:linear-gradient(45deg,#00c8ff,#0d6efd);
display:flex;
align-items:center;
justify-content:center;
margin:auto;
border-radius:50%;
font-size:30px;
color:#fff;
font-weight:bold;
margin-bottom:25px;
}

.step h3{
margin-bottom:15px;
font-size:25px;
}

.step p{
line-height:28px;
color:#666;
}

/* ================= TESTIMONIAL ================= */

.testimonials{
padding:120px 8%;
background:#fff;
}

.testimonial-container{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.testimonial-card{
background:#f8fbff;
padding:40px;
border-radius:25px;
text-align:center;
transition:.4s;
box-shadow:0 15px 30px rgba(0,0,0,.08);
}

.testimonial-card:hover{
transform:translateY(-10px);
}

.testimonial-card img{
width:100px;
height:100px;
border-radius:50%;
margin-bottom:20px;
}

.testimonial-card h3{
margin-bottom:5px;
}

.testimonial-card span{
color:#0d6efd;
display:block;
margin-bottom:20px;
}

.testimonial-card p{
line-height:30px;
color:#555;
}

/* ================= COUNTER ================= */

.counter-section{
padding:100px 8%;
background:linear-gradient(135deg,#08142b,#0d6efd);
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
color:white;
text-align:center;
}

.counter-box h2{
font-size:55px;
margin-bottom:10px;
}

.counter-box p{
font-size:18px;
}

/* ================= FAQ ================= */

.faq{
padding:120px 8%;
background:#fff;
}

.faq-box{
max-width:900px;
margin:auto;
}

.faq-item{
background:#f8fbff;
padding:25px;
margin-bottom:20px;
border-radius:15px;
box-shadow:0 10px 20px rgba(0,0,0,.06);
}

.faq-item h3{
margin-bottom:15px;
color:#0d6efd;
}

.faq-item p{
line-height:30px;
color:#666;
}

/* ================= CONTACT ================= */

.contact{
padding:120px 8%;
display:flex;
gap:60px;
background:#08142b;
color:white;
}

.contact-left,
.contact-right{
flex:1;
}

.contact-left h5{
color:#00c8ff;
margin-bottom:15px;
}

.contact-left h2{
font-size:50px;
margin-bottom:20px;
}

.contact-left p{
line-height:32px;
margin-bottom:20px;
}

.contact-info p{
margin-bottom:15px;
}

.contact-info i{
color:#00c8ff;
margin-right:10px;
}

.contact-right form{
display:flex;
flex-direction:column;
gap:20px;
}

.contact-right input,
.contact-right textarea,
.contact-right select{
padding:18px;
border:none;
border-radius:12px;
font-size:16px;
}

.contact-right button{
padding:18px;
border:none;
background:#00c8ff;
color:white;
font-size:18px;
font-weight:600;
border-radius:50px;
cursor:pointer;
transition:.4s;
}

.contact-right button:hover{
background:#0d6efd;
}

/*================ FLOATING BUTTONS ================*/

.whatsapp-button,
.top-button{
position:fixed;
right:30px;
width:60px;
height:60px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
color:white;
font-size:24px;
cursor:pointer;
box-shadow:0 15px 30px rgba(0,0,0,.2);
z-index:999;
}

.whatsapp-button{
bottom:210px;
background:#25D366;
}

.top-button{
bottom:290px;
background:#08142b;
}

/*================ FOOTER ================*/

footer{
background:#06111f;
color:white;
padding:80px 8% 30px;
}

.footer-grid{
display:grid;
grid-template-columns:2fr 1fr 1fr 1fr;
gap:40px;
}

.footer-grid img{
margin-bottom:15px;
}

.footer-grid h3{
margin-bottom:20px;
}

.footer-grid a{
display:block;
text-decoration:none;
color:#d8d8d8;
margin-bottom:12px;
transition:.3s;
}

.footer-grid a:hover{
color:#00c8ff;
padding-left:6px;
}

.social{
display:flex;
gap:15px;
margin-top:20px;
}

.social i{
width:45px;
height:45px;
background:#0d6efd;
border-radius:50%;
display:flex;
justify-content:center;
align-items:center;
cursor:pointer;
transition:.3s;
}

.social i:hover{
transform:translateY(-8px);
}

footer hr{
margin:40px 0 20px;
opacity:.15;
}

.copyright{
text-align:center;
color:#bbb;
}

/*================ ANIMATIONS ================*/

@keyframes float{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-15px);
}

100%{
transform:translateY(0);
}

}

/*================ RESPONSIVE ================*/

@media(max-width:991px){

.hero,
.about,
.contact{
flex-direction:column;
}

.hero h1{
font-size:48px;
}

.service-container,
.portfolio-grid,
.process-grid,
.testimonial-container,
.counter-section,
.footer-grid{
grid-template-columns:1fr;
}

nav ul{
display:none;
}

.menu{
display:block;
}

.chat-popup{
width:95%;
right:10px;
}

.hero-right{
grid-template-columns:1fr;
}

.features{
grid-template-columns:1fr;
}

}

/* ================= AI ASSISTANT ================= */

.chat-button{
position:fixed;
right:30px;
bottom:30px;
width:70px;
height:70px;
border-radius:50%;
background:linear-gradient(135deg,#00bfff,#0066ff);
display:flex;
justify-content:center;
align-items:center;
font-size:28px;
color:#fff;
cursor:pointer;
box-shadow:0 0 30px rgba(0,191,255,.6);
z-index:9999;
animation:pulse 2s infinite;
transition:.4s;
}

.chat-button:hover{
transform:scale(1.1) rotate(10deg);
}

.chat-popup{
position:fixed;
right:30px;
bottom:120px;
width:380px;
max-width:95%;
background:rgba(255,255,255,.12);
backdrop-filter:blur(20px);
border-radius:20px;
overflow:hidden;
box-shadow:0 20px 60px rgba(0,0,0,.25);
display:none;
z-index:9999;
animation:popup .4s ease;
border:1px solid rgba(255,255,255,.2);
}

.chat-header{
display:flex;
align-items:center;
gap:15px;
padding:18px;
background:linear-gradient(135deg,#0077ff,#00c6ff);
color:white;
}

.chat-header img{
width:50px;
height:50px;
border-radius:50%;
background:white;
padding:6px;
}

.chat-body{
padding:20px;
display:flex;
flex-direction:column;
gap:12px;
background:#fff;
}

.chat-body .glass{
background:#f4f8ff;
padding:15px;
border-radius:12px;
font-size:15px;
line-height:1.6;
}

.chat-body button{
padding:14px;
border:none;
border-radius:12px;
background:#0077ff;
color:white;
cursor:pointer;
font-weight:600;
transition:.3s;
}

.chat-body button:hover{
background:#0059d6;
transform:translateY(-2px);
}

.chat-footer{
display:flex;
padding:15px;
gap:10px;
background:#f7f7f7;
}

.chat-footer input{
flex:1;
padding:12px;
border-radius:10px;
border:1px solid #ddd;
outline:none;
}

.chat-footer button{
width:50px;
border:none;
background:#0077ff;
color:white;
border-radius:10px;
cursor:pointer;
}

@keyframes popup{
from{
opacity:0;
transform:translateY(40px) scale(.9);
}
to{
opacity:1;
transform:translateY(0) scale(1);
}
}

@keyframes pulse{
0%{
box-shadow:0 0 0 0 rgba(0,191,255,.7);
}
70%{
box-shadow:0 0 0 20px rgba(0,191,255,0);
}
100%{
box-shadow:0 0 0 0 rgba(0,191,255,0);
}
}
/*================ MOBILE MENU ================*/

.menu{

display:none;

font-size:28px;

cursor:pointer;

color:#fff;

}

@media(max-width:991px){

nav{

padding:15px 25px;

}

nav ul{

position:fixed;

top:80px;

left:-100%;

width:100%;

height:calc(100vh - 80px);

background:#0f172a;

display:flex;

flex-direction:column;

justify-content:flex-start;

align-items:center;

padding-top:50px;

gap:30px;

transition:.4s;

z-index:999;

}

nav ul.active{

left:0;

}

.menu{

display:block;

}

.primary-btn{

display:none;

}

}
#typing{

color:#38bdf8;

border-right:3px solid #38bdf8;

padding-right:8px;

animation:blink .7s infinite;

}

@keyframes blink{

50%{

border-color:transparent;

}

}
/*================ PROJECT POPUP ================*/

.project-popup{

display:none;

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:rgba(0,0,0,.75);

justify-content:center;

align-items:center;

z-index:99999;

}

.popup-content{

background:#fff;

padding:35px;

border-radius:20px;

max-width:700px;

width:90%;

text-align:center;

position:relative;

animation:popup .4s;

}

.popup-content img{

width:100%;

border-radius:15px;

margin-bottom:20px;

}

.close-popup{

position:absolute;

top:15px;

right:20px;

font-size:35px;

cursor:pointer;

}

.popup-tags{

display:flex;

justify-content:center;

gap:12px;

margin:20px 0;

flex-wrap:wrap;

}

.popup-tags span{

background:#2563eb;

color:#fff;

padding:10px 18px;

border-radius:30px;

}

.view-btn{

display:inline-block;

margin-top:10px;

color:#38bdf8;

font-weight:600;

cursor:pointer;

}

@keyframes popup{

from{

transform:scale(.8);

opacity:0;

}

to{

transform:scale(1);

opacity:1;

}

}
/*================ FILTER =================*/

.portfolio-filter{

display:flex;

justify-content:center;

gap:15px;

margin:40px 0;

flex-wrap:wrap;

}

.filter-btn{

padding:12px 30px;

border:none;

border-radius:30px;

cursor:pointer;

font-size:16px;

background:#eef2ff;

transition:.3s;

}

.filter-btn:hover,

.filter-btn.active{

background:#2563eb;

color:#fff;

}
/*================ CLIENT LOGO SLIDER ================*/

.clients{

padding:90px 8%;

overflow:hidden;

}

.logo-slider{

overflow:hidden;

margin-top:40px;

}

.logo-track{

display:flex;

gap:70px;

width:max-content;

animation:scrollLogo 25s linear infinite;

align-items:center;

}

.logo-track img{

width:70px;

transition:.3s;

filter:grayscale(100%);

}

.logo-track img:hover{

transform:scale(1.2);

filter:none;

}

@keyframes scrollLogo{

0%{

transform:translateX(0);

}

100%{

transform:translateX(-50%);

}

}
/*================ BACK TO TOP ================*/

#topBtn{

position:fixed;

bottom:30px;

right:30px;

width:55px;

height:55px;

border:none;

border-radius:50%;

background:#2563eb;

color:#fff;

font-size:20px;

cursor:pointer;

display:none;

z-index:9999;

box-shadow:0 10px 25px rgba(0,0,0,.25);

transition:.3s;

}

#topBtn:hover{

transform:translateY(-5px);

background:#0ea5e9;

}
/*================ SOCIAL BAR ================*/

.social-bar{

position:fixed;

left:20px;

top:50%;

transform:translateY(-50%);

display:flex;

flex-direction:column;

gap:15px;

z-index:9999;

}

.social-bar a{

width:48px;

height:48px;

display:flex;

justify-content:center;

align-items:center;

background:#2563eb;

color:#fff;

border-radius:50%;

font-size:20px;

text-decoration:none;

transition:.3s;

box-shadow:0 8px 20px rgba(0,0,0,.2);

}

.social-bar a:hover{

background:#0ea5e9;

transform:translateX(8px);

}

@media(max-width:768px){

.social-bar{

display:none;

}

}
/*================ THEME TOGGLE ================*/

#themeToggle{

width:45px;

height:45px;

border:none;

border-radius:50%;

background:#2563eb;

color:#fff;

font-size:18px;

cursor:pointer;

margin-right:15px;

transition:.3s;

}

#themeToggle:hover{

transform:rotate(180deg);

}

body.dark{

background:#0f172a;

color:#fff;

}

body.dark header{

background:#111827;

}

body.dark .service-card,

body.dark .glass,

body.dark .counter-box,

body.dark .testimonial-card,

body.dark .faq-item,

body.dark footer{

background:#1e293b;

color:#fff;

}

body.dark input,

body.dark textarea,

body.dark select{

background:#334155;

color:#fff;

border:1px solid #475569;

}