*{
font-family:'Inter',sans-serif;
}

body{
background:#050505;
color:white;
}

#bg{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
z-index:-1;
}

nav{
display:flex;
align-items:center;
padding:20px 8%;
background:rgba(10, 10, 10, 0);
backdrop-filter:blur(10px);
border-bottom:1px solid rgba(255,255,255,0.05);
}

nav ul{
display:flex;
gap:40px;
}

nav a{
color:#aaa;
font-weight:500;
transition:0.3s;
}

nav a:hover{
color:white;
}

.hero{
display:flex;
justify-content:space-between;
align-items:center;
padding:120px 10%;
gap:60px;
}

.hero-left{
max-width:600px;
}

.badge{
background:rgba(255, 0, 0,0.15);
border:1px solid rgba(255, 0, 0,0.4);
padding:8px 14px;
border-radius:20px;
font-size:13px;
color:#ad0000;
}

.hero h1{
font-size:58px;
line-height:1.1;
margin-top:20px;
}

.hero h1 span{
color:#ff0000;
}

.hero p{
margin-top:20px;
color:#aaa;
font-size:16px;
}

.hero-buttons{
margin-top:30px;
display:flex;
gap:20px;
}

.btn-primary{
background:#ff0000;
padding:14px 28px;
border-radius:10px;
color:white;
text-decoration:none;
font-weight:600;
}

.btn-secondary{
border:1px solid rgba(255,255,255,0.2);
padding:14px 28px;
border-radius:10px;
text-decoration:none;
color:white;
}

.hero-card h2{
font-size:40px;
margin-bottom:10px;
}

.hero-card p{
color:#aaa;
font-size:14px;
}
#reviews{
padding:120px 10%;
}

#reviews h2{
font-size:42px;
margin-bottom:50px;
}
#why span{
color:#ff0000;
}

#reviews span{
color:#ff0000;
}

#process span{
color:#ff0000;
}
.reviews{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:30px;
}

.review{
background:rgba(20,20,20,0.7);
border:1px solid rgba(255,255,255,0.05);
padding:30px;
border-radius:16px;
transition:0.3s;
}

.review:hover{
transform:translateY(-5px);
box-shadow:0 10px 40px rgba(255, 0, 0, 0.25);
}

.stars{
color:#ff0000;
margin-bottom:15px;
}

.review p{
color:#bbb;
font-size:14px;
margin-bottom:20px;
}

.review-user{
display:flex;
align-items:center;
gap:10px;
}

.review-user img{
border-radius:50%;
}

.review-user span{
font-size:12px;
color:#777;
}
body::before{
content:"";
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background-image:
linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
background-size:50px 50px;
z-index:-1;
}
.btn{
background:linear-gradient(90deg,#ff0000,#ff0000);
padding:14px 28px;
border-radius:10px;
color:white;
text-decoration:none;
font-weight:600;
transition:0.3s;
}
.review-user img {
    border-radius: 50%;
    width: 70px;   
    height: 70px;  
    object-fit: cover; 
}

.btn:hover{
transform:translateY(-3px);
box-shadow:0 10px 30px rgba(255, 0, 0,0.4);
}

.btn2{
border:1px solid rgba(255,255,255,0.2);
padding:14px 28px;
border-radius:10px;
color:white;
text-decoration:none;
}
section{
padding:100px 10%;
}

.projects{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:40px;
margin-top:40px;
}

.project{
background:#0a0a0a;
padding:20px;
}

.project img{
width:100%;
}

.skill{
margin-top:20px;
}

.bar{
background:#222;
height:8px;
margin-top:5px;
}

.bar span{
display:block;
height:8px;
background:#ff0000;
}

footer{
text-align:center;
padding:40px;
color:#777;
}
.gallery{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:30px;
margin-top:40px;
}

.gallery-item{
overflow:hidden;
border-radius:12px;
cursor:pointer;
position:relative;
height:200px; 
display:flex;
align-items:center;
justify-content:center;
background:#0a0a0a;
box-shadow:0 0 20px rgba(255, 0, 0,0.1);
transition:0.4s;
}

.gallery-item img{
max-width:100%;
max-height:100%;
object-fit:cover;
transition:0.4s;
border-radius:12px;

}

.gallery-item:hover img{
transform:scale(1.1) rotate(1deg);
filter:brightness(1.2);
box-shadow: 0 0 20px #ff0000, 0 0 40px #ff0000, 0 0 60px #ff0000, 0 0 80px #ff0000;
}
.gallery-item::after{
content:"";
position:absolute;
top:0;
left:-120%;
width:100%;
height:100%;
background:linear-gradient(
120deg,
transparent,
rgba(255, 0, 0,0.5),
transparent
);
transition:0.6s;
}

.gallery-item:hover::after{
left:120%;
}


#imagePopup{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.9);
display:none;
align-items:center;
justify-content:center;
z-index:999;
}

#popupImg{
max-width:90%;
max-height:90%;
border-radius:10px;
box-shadow:0 0 30px #ff0000, 0 0 60px #ff0000, 0 0 90px #ff0000;
}
#about p{
max-width: 650px;
line-height: 1.8;
font-size: 18px;
opacity: 0.9;
text-align: center;
}
#closePopup{
position:absolute;
top:30px;
right:40px;
font-size:30px;
color:white;
cursor:pointer;
}
.testimonial-slider {
  display: flex;
  gap: 20px;
  justify-content: center;
  align-items: stretch;
  overflow: hidden;
  position: relative;
}

.testimonial {
  flex: 0 0 100%;
  opacity: 0;
  transform: scale(0.8);
  background: rgba(0,0,0,0.6);
  border-radius: 15px;
  padding: 30px;
  box-shadow: 0 0 20px #ff0000;
  transition: all 0.5s ease;
}

.testimonial.active {
  opacity: 1;
  transform: scale(1);
  box-shadow: 0 0 40px #ff0000, 0 0 60px #ff0000;
}

.slider-btn {
  background:none;
  border:2px solid #ff0000;
  color:#ff0000;
  font-size:30px;
  padding:10px 15px;
  border-radius:50%;
  cursor:pointer;
  transition:0.3s;
}

.slider-btn:hover {
  background:#ff0000;
  color:#000;
  box-shadow:0 0 20px #ff0000;
}
.swiper-slide{
background:rgba(20,20,20,0.7);
border-radius:15px;
padding:30px;
border:1px solid rgba(255,255,255,0.05);
transition:0.3s;
}

.swiper-slide:hover{
transform:translateY(-5px);
box-shadow:0 10px 30px rgba(255, 0, 0,0.3);
}
body{
background:#050505;
color:white;
font-family:Inter, Arial;
overflow-x:hidden;
}


body::after{
content:"";
position:fixed;
top:-200px;
left:-200px;
width:800px;
height:800px;
background:radial-gradient(circle,#ff0000 0%,transparent 70%);
opacity:0.15;
filter:blur(120px);
z-index:-3;
}
.services{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
gap:30px;
margin-top:60px;
}

.service{
background:rgba(20,20,20,0.7);
border:1px solid rgba(255,255,255,0.05);
padding:40px;
border-radius:16px;
transition:0.3s;
}

.service:hover{
transform:translateY(-10px);
border:1px solid rgba(255, 0, 0, 0.4);
box-shadow:0 10px 40px rgba(255, 0, 0.15);
}

.service h3{
margin-bottom:10px;
}#services{
  padding:100px 10%;
}

#services h2{
  font-size:42px;
  margin-bottom:10px;
}

#services span{
  color:#ff0000;
}

#services .subtitle{
  color:#aaa;
  margin-bottom:50px;
  font-size:16px;
}

.services{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:30px;
}

.service{
  background:rgba(20,20,20,0.7);
  border:1px solid rgba(255,255,255,0.05);
  padding:40px;
  border-radius:16px;
  position:relative;
  overflow:hidden;
  transition:0.3s;
}

.service:hover{
  transform:translateY(-10px);
  border:1px solid rgba(255, 0, 0,0.4);
  box-shadow:0 10px 40px rgba(255, 0, 0,0.15);
}

.service .label{
  position:absolute;
  top:20px;
  right:20px;
  font-size:11px;
  letter-spacing:1px;
  color:#ff0000;
  font-weight:600;
}

.service .number{
  position:absolute;
  bottom:20px;
  right:20px;
  font-size:60px;
  color:rgba(255,255,255,0.05);
  font-weight:800;
}
.process .step-label{
  position:absolute;
  top:20px;
  right:20px;
  font-size:11px;
  letter-spacing:1px;
  color:#ff0000;
  font-weight:600;
}
.process .step-number{
  position:absolute;
  bottom:20px;
  right:20px;
  font-size:60px;
  color:rgba(255,255,255,0.05);
  font-weight:800;
}
.why .why2-label{
  position:absolute;
  top:20px;
  right:20px;
  font-size:11px;
  letter-spacing:1px;
  color:#ff0000;
  font-weight:600;
}
.why .why2-number{
  position:absolute;
  bottom:20px;
  right:20px;
  font-size:60px;
  color:rgba(255,255,255,0.05);
  font-weight:800;
}
.why .label{
  position:absolute;
  top:20px;
  right:20px;
  font-size:11px;
  letter-spacing:1px;
  color:#ff0000;
  font-weight:600;
}
.service h3{
  margin-bottom:10px;
  font-size:22px;
}

.service h3 span{
  font-weight:400;
  color:#ff0000;
}

.service p{
  font-size:14px;
  color:#bbb;
  margin-bottom:15px;
}

.service .tags span{
  display:inline-block;
  background:rgba(255, 0, 0,0.1);
  border:1px solid rgba(255, 0, 0,0.3);
  padding:4px 10px;
  border-radius:12px;
  font-size:12px;
  margin-right:6px;
  opacity: 0.5;
  margin-bottom:6px;
  color:#ff0000;
}
.process .step-tags span{
  display:inline-block;
  background:rgba(255, 0, 0,0.1);
  border:1px solid rgba(255, 0, 0,0.3);
  padding:4px 10px;
  border-radius:12px;
  font-size:12px;
  margin-right:6px;
  opacity: 0.5;
  margin-bottom:6px;
  color:#ff0000;
}
.why-card .why2-tags span{
  display:inline-block;
  background:rgba(255, 0, 0,0.1);
  border:1px solid rgba(255, 0, 0,0.3);
  padding:4px 10px;
  border-radius:12px;
  font-size:12px;
  margin-right:6px;
  opacity: 0.5;
  margin-bottom:6px;
  color:#ff0000;
}


.texte-droite {
  text-align: right; 
  font-size: 1.1em; 
  max-width: 400px; 
  margin-left: auto; 
}

.texte-droite h2 {
  font-size: 1.2em;
}

.texte-droite h2 span {
  font-weight: bold; 
  color: #ff0000; 
  color: #555;  
}

.texte-droite p {
  font-size: 0.8em;
  margin-top: 5px; 
  color: #666;
}
#process{
padding:100px 10%;
}
#why{
padding:100px 10%;
}
#why h2{
font-size:42px;
margin-bottom:50px;
}
#process h2{
font-size:42px;
margin-bottom:50px;
}

.process{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:30px;
}
.why{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:30px;
}
.step{
background:rgba(20,20,20,0.7);
border:1px solid rgba(255,255,255,0.05);
padding:35px;
border-radius:16px;
transition:0.3s;
position:relative;
}

.step:hover{
transform:translateY(-8px);
border:1px solid rgba(255, 0, 0,0.4);
box-shadow:0 10px 30px rgba(255, 0, 0,0.2);
}

.step-number{
font-size:40px;
font-weight:800;
color:#ff0000;
margin-bottom:10px;
}

.step p{
color:#aaa;
font-size:14px;
}
#tech{
padding:100px 10%;
}

#tech h2{
font-size:42px;
margin-bottom:50px;
}

.tech{
display:flex;
flex-wrap:wrap;
gap:15px;
}

.tech-item{
background:rgba(255, 0, 0,0.1);
border:1px solid rgba(255, 0, 0,0.3);
padding:10px 18px;
border-radius:12px;
color:#ff0000;
font-weight:600;
font-size:14px;
transition:0.3s;
}

.tech-item:hover{
background:#ff0000;
color:black;
transform:translateY(-3px);
box-shadow:0 0 20px #ff0000;
}
#why{
padding:100px 10%;
}

#why h2{
font-size:42px;
margin-bottom:50px;
}

.why{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
}

.why-card{
background:rgba(20,20,20,0.7);
border:1px solid rgba(255,255,255,0.05);
padding:30px;
border-radius:16px;
transition:0.3s;
}

.why-card:hover{
transform:translateY(-10px);
border:1px solid rgba(255, 0, 0,0.4);
box-shadow:0 10px 40px rgba(255, 0, 0,0.2);
}

.why-card p{
color:#aaa;
font-size:14px;
}
.why-card{
background:rgba(20,20,20,0.7);
border:1px solid rgba(255,255,255,0.05);
padding:30px;
border-radius:16px;
transition:0.3s;
position:relative;
}

.why-card:hover{
transform:translateY(-10px);
border:1px solid rgba(255, 0, 0,0.4);
box-shadow:0 10px 40px rgba(255, 0, 0,0.2);
}
