/* RESET */
* { margin:0; padding:0; box-sizing:border-box; }
body, html { font-family:Arial,sans-serif; scroll-behavior:smooth; height:100%; }

/* FOND DÉGRADÉ BLEU */
body {
    background: linear-gradient(to bottom, #0a1f2c, #1b3a5a);
    color: #fff;
    overflow-x: hidden;
}

/* PARTICULES */
#particles-js {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: -2;
}

/* PÈRE NOËL */
#santa {
    position: fixed;
    top: 10%;
    left: -100px;
    width: 250px;
    animation: flySanta 30s linear infinite;
    z-index: -1;
}
#santa img { width: 100%; }
@keyframes flySanta { 0% { left:-150px;} 50% { left:50%;} 100% { left:110%;} }

/* MENU FIXE */
header {
    position: fixed;
    top:0;
    width:100%;
    background: rgba(10,20,40,0.9);
    backdrop-filter: blur(5px);
    z-index:1000;
}
.header-container {
    max-width:1200px;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:10px 20px;
}
.logo img { height:50px; }

nav ul {
    list-style:none;
    display:flex;
    gap:20px;
}
nav ul li a {
    color:#fff;
    font-weight:bold;
    transition: color 0.3s;
}
nav ul li a:hover { color:#ff4d4d; }

/* MENU MOBILE */
.menu-toggle { display:none; cursor:pointer; font-size:1.5rem; color:#fff; }
@media screen and (max-width:768px){
    nav ul { flex-direction:column; display:none; background:rgba(10,20,40,0.95); position:absolute; top:60px; right:0; width:200px; padding:10px; border-radius:0 0 10px 10px; }
    nav ul.show { display:flex; }
    .menu-toggle { display:block; }
}

/* SECTIONS */
.section { min-height:100vh; padding:120px 20px 60px; text-align:center; display:flex; justify-content:center; align-items:flex-start; }
.content-box { max-width:900px; }

/* TITRES ROUGES */
h2,h3 { color:#ff4d4d; }
h2 { font-size:2.5rem; margin-bottom:20px; }
h3 { font-size:1.5rem; margin-top:20px; margin-bottom:10px; }

p { font-size:1.1rem; line-height:1.8; margin-bottom:15px; color:#fff; }

/* BOUTONS */
.btn-direction {
    display:inline-block;
    padding:12px 25px;
    background:#ff4d4d;
    color:#fff;
    font-weight:bold;
    border-radius:8px;
    margin:10px 5px;
    text-decoration:none;
    transition: all 0.3s;
}
.btn-direction:hover { background:#C44141; transform:scale(1.05); }

/* LIENS CONTACT */
.link-red { color:#ff4d4d; text-decoration:none; }
.link-red:hover { text-decoration:underline; }

/* VIDÉO RESPONSIVE */
.video-responsive { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; max-width:100%; background:#000; }
.video-responsive iframe { position:absolute; top:0; left:0; width:100%; height:100%; }

/* M*
