*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:Arial, Helvetica, sans-serif;
background:#0b0b0b;
color:#ffffff;
overflow-x:hidden;
line-height:1.6;
}

/* CONTAINER */
.container{
width:min(1200px,90%);
margin:auto;
}

/* =========================
HEADER V8 (MENU AMÉLIORÉ)
========================= */
.header{
position:fixed;
top:0;
left:0;
width:100%;
z-index:1000;
background:rgba(0,0,0,0.85);
backdrop-filter:blur(12px);
border-bottom:1px solid rgba(212,175,55,0.25);
}

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

.logo{
color:#d4af37;
font-weight:700;
letter-spacing:2px;
font-size:18px;
}

/* MENU */
.menu{
display:flex;
gap:18px;
list-style:none;
align-items:center;
}

/* =========================
MENU AMÉLIORÉ (V8.1)
========================= */
.menu a{
text-decoration:none;
color:#fff;
padding:10px 16px;
border:1px solid rgba(212,175,55,0.35);
border-radius:8px;
transition:all .3s ease;
font-size:15px;
font-weight:600;
letter-spacing:1px;
background:rgba(255,255,255,0.02);
}

.menu a:hover{
background:#d4af37;
color:#000;
box-shadow:0 0 12px rgba(212,175,55,.35);
transform:translateY(-2px);
}

/* BURGER */
.burger{
display:none;
font-size:30px;
cursor:pointer;
color:#fff;
}

/* =========================
HERO
========================= */
.hero{
position:relative;
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
padding:120px 20px;
background:
linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.9)),
url("images/photo1.jpg") center/cover;
}

.hero-content{
max-width:900px;
}

.hero h1{
font-size:clamp(2rem,5vw,4rem);
margin-bottom:20px;
}

.hero p{
color:#d4af37;
margin-bottom:25px;
font-size:1.1rem;
}

/* BOUTONS */
.hero-buttons{
display:flex;
gap:15px;
justify-content:center;
flex-wrap:wrap;
}

.btn-gold,
.btn-outline{
padding:12px 22px;
border-radius:6px;
text-decoration:none;
font-weight:bold;
transition:0.3s;
}

.btn-gold{
background:#d4af37;
color:#000;
}

.btn-outline{
border:1px solid #d4af37;
color:#d4af37;
}

/* =========================
SECTIONS
========================= */
.section{
padding:90px 0;
}

.dark{
background:#111;
}

.section-title{
text-align:center;
color:#d4af37;
margin-bottom:40px;
font-size:2rem;
letter-spacing:1px;
}

/* =========================
CARDS
========================= */
.cards{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
}

.card{
background:#171717;
padding:25px;
border-radius:10px;
border:1px solid #2a2a2a;
transition:0.3s;
text-decoration:none;
color:#fff;
}

.card:hover{
transform:translateY(-6px);
border-color:#d4af37;
}

.card h3{
color:#d4af37;
margin-bottom:10px;
}

/* =========================
REALISATIONS
========================= */
.gallery{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:15px;
}

.gallery a{
display:block;
overflow:hidden;
border-radius:10px;
}

.gallery img{
width:100%;
height:280px;
object-fit:cover;
border-radius:10px;
transition:0.4s;
display:block;
}

.gallery a:hover img{
transform:scale(1.05);
}

/* =========================
ZONE INTERVENTION
========================= */
.zone-box{
display:flex;
justify-content:center;
}

.zone-box p{
background:#171717;
padding:25px 60px;
border-radius:12px;
border:1px solid rgba(212,175,55,0.25);
color:#d4af37;
font-weight:bold;
font-size:18px;
letter-spacing:3px;
box-shadow:0 0 15px rgba(212,175,55,0.08);
}

/* =========================
CONTACT (VERSION AMÉLIORÉE SENIOR)
========================= */
.contact-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
}

.contact-info{
background:#171717;
padding:25px;
border-radius:10px;
}

/* FORMULAIRE */
.contact-form{
display:flex;
flex-direction:column;
gap:12px;
}

.contact-form input,
.contact-form textarea{
padding:18px;
border:1px solid #2f2f2f;
border-radius:8px;
background:#1c1c1c;
color:#fff;
font-size:16px;
transition:0.3s;
}

/* FOCUS ACCESSIBLE */
.contact-form input:focus,
.contact-form textarea:focus{
outline:none;
border-color:#d4af37;
box-shadow:0 0 10px rgba(212,175,55,0.25);
}

/* GRAND ESPACE MESSAGE */
.contact-form textarea{
min-height:340px;
resize:vertical;
line-height:1.8;
}

/* BOUTON */
.contact-form button{
padding:16px;
border:none;
border-radius:8px;
background:#d4af37;
font-weight:bold;
cursor:pointer;
transition:0.3s;
}

.contact-form button:hover{
background:#c49b2c;
}

/* =========================
FOOTER
========================= */
footer{
padding:30px;
text-align:center;
background:#000;
border-top:1px solid #222;
}

/* =========================
LOADER
========================= */
#loader{
position:fixed;
inset:0;
background:#0b0b0b;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
z-index:9999;
}

.spinner{
width:55px;
height:55px;
border:4px solid #222;
border-top:4px solid #d4af37;
border-radius:50%;
animation:spin 1s linear infinite;
}

@keyframes spin{
to{transform:rotate(360deg);}
}

/* =========================
REVEAL ANIMATION
========================= */
.reveal{
opacity:0;
transform:translateY(30px);
transition:0.7s ease;
}

.reveal.active{
opacity:1;
transform:translateY(0);
}

/* =========================
MOBILE
========================= */
@media(max-width:900px){

.cards,
.gallery,
.contact-grid{
grid-template-columns:1fr;
}

.menu{
display:none;
position:absolute;
top:70px;
right:0;
width:100%;
background:#0b0b0b;
flex-direction:column;
padding:15px;
text-align:center;
border-top:1px solid #333;
}

.menu.show{
display:flex;
}

.burger{
display:block;
}

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