*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial, Helvetica, sans-serif;
scroll-behavior:smooth;
}

body{
background:linear-gradient(180deg, #eef2f9 0%, #f8fbff 100%);
color:#1f2937;
min-height:100vh;
}

a{
transition: color 0.25s ease, transform 0.25s ease;
}

/* HEADER */

header{
background:#0b3d91;
color:white;
position:sticky;
top:0;
z-index:1000;
box-shadow:0 12px 30px rgba(0,0,0,0.12);
}

.container{
max-width:1200px;
width:90%;
margin:auto;
}

.header{
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 0;
}

.logo{
font-size:24px;
font-weight:bold;
letter-spacing:0.5px;
}

nav a{
color:white;
margin-left:20px;
text-decoration:none;
font-weight:bold;
}

nav a:hover{
color:#ffd000;
transform: translateY(-1px);
}

/* HERO */

.hero{
min-height:80vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
background:linear-gradient(180deg, rgba(11,61,145,0.72), rgba(11,61,145,0.72)),
url("images/entete.png");
background-size:cover;
background-position:center;
color:white;
padding:40px;
}

.hero h1{
font-size:3.4rem;
margin-bottom:18px;
line-height:1.05;
text-shadow:0 12px 35px rgba(0,0,0,0.25);
}

.hero p{
max-width:760px;
margin:auto;
margin-bottom:30px;
font-size:1.1rem;
line-height:1.7;
}

.btn{
display:inline-block;
background:#ffd000;
color:#0b3d91;
padding:14px 30px;
text-decoration:none;
font-weight:bold;
border-radius:999px;box-shadow:0 14px 30px rgba(255,208,0,0.2);
}

.btn:hover{
transform: translateY(-2px);
}

/* SECTION */

.section{
padding:80px 10%;
margin-top:40px;
background:white;
border-radius:16px;
box-shadow:0 18px 45px rgba(15,23,42,0.06);
}

.section h2{
text-align:center;
margin-bottom:30px;
font-size:32px;
color:#0b3d91;
}

.center{
text-align:center;
max-width:700px;
margin:auto;
}

/* SERVICES */

.services{
background:#eef3ff;
}

.service-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;
margin-top:40px;
}

.service{
background:white;
border-radius:18px;
overflow:hidden;
box-shadow:0 12px 28px rgba(15,23,42,0.08);
transition:transform 0.3s ease, box-shadow 0.3s ease;
}

.service:hover{
transform:translateY(-10px);
box-shadow:0 20px 40px rgba(15,23,42,0.12);
}

.service img{
width:100%;
height:200px;
object-fit:cover;
}

.service h3{
color:#0b3d91;
margin:15px;
}

.service p{
margin:0 15px 20px 15px;
color:#475569;
}

/* REALISATIONS */

.galerie{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:20px;
margin-top:30px;
}

.galerie img{
width:100%;
height:220px;
object-fit:cover;
border-radius:8px;
transition:transform 0.3s ease, box-shadow 0.3s ease;
box-shadow:0 10px 26px rgba(15,23,42,0.08);
}

.galerie img:hover{
transform:scale(1.05);
box-shadow:0 20px 40px rgba(15,23,42,0.14);
}

/* CONTACT */

.contact-box{
display:flex;
justify-content:center;
gap:18px;
flex-wrap:wrap;
margin-top:20px;
}

.contact-info{
text-align:center;
margin-top:30px;
background:#f0f4ff;
padding:28px;
border-radius:14px;
}

.contact-btn{
padding:15px 25px;
border-radius:8px;
font-weight:bold;
text-decoration:none;
color:white;
display:inline-flex;
align-items:center;
justify-content:center;
}

.whatsapp{background:#25D366;}
.email{background:#ea4335;}
.facebook{background:#1877f2;}

.contact-btn:hover{
opacity:0.9;
transform: translateY(-2px);
}

/* FORM */

form{
max-width:500px;
margin:40px auto;
display:flex;
flex-direction:column;
gap:15px;
}

input,textarea{
padding:12px;
border:1px solid #ccc;
border-radius:5px;
}

button{
background:#0b3d91;
color:white;
border:none;
padding:12px;
font-weight:bold;
cursor:pointer;
border-radius:5px;
}

/* FOOTER */

footer{
margin-top:40px;
background:#0b3d91;
color:white;
text-align:center;
padding:20px;
}

/* WHATSAPP FLOAT */

.whatsapp-float{
position:fixed;
bottom:20px;
right:20px;
background:#25D366;
color:white;
padding:14px;
border-radius:50%;
width:56px;
height:56px;
display:flex;
align-items:center;
justify-content:center;
text-decoration:none;
box-shadow:0 18px 30px rgba(37,211,102,0.24);
}

.whatsapp-float svg{
width:28px;
height:28px;
}

/* MOBILE */

@media (max-width: 900px) {
  .hero {
    padding: 32px 20px;
  }

  .hero h1 {
    font-size: 2.6rem;
  }

  .hero p {
    font-size: 1rem;
    margin-bottom: 24px;
  }

  .section {
    padding: 60px 6%;
  }

  .section h2 {
    font-size: 28px;
  }

  .service-grid,
  .galerie {
    gap: 18px;
  }

  .galerie img {
    height: 180px;
  }

  .contact-info {
    padding: 22px;
  }
}

@media (max-width: 600px) {
  .header {
    flex-direction: column;
    gap: 16px;
  }

  nav a {
    margin-left: 0;
    margin-right: 18px;
    font-size: 0.95rem;
  }

  .hero {
    min-height: 70vh;
    padding: 24px 18px;
  }

  .hero h1 {
    font-size: 2.2rem;
  }

  .btn {
    width: 100%;
    padding: 14px 0;
  }

  .section {
    padding: 48px 5%;
    border-radius: 14px;
  }

  .service img,
  .galerie img {
    height: 160px;
  }

  .contact-box {
    flex-direction: column;
    gap: 14px;
  }

  .contact-btn {
    width: 100%;
    padding: 14px 0;
  }

  .whatsapp-float {
    width: 50px;
    height: 50px;
    bottom: 16px;
    right: 16px;
  }
}


