 body, html {
            margin: 0; padding: 0; height: 100%; width: 100%;
            overflow: hidden; background-color: #000;
        }
        .container { position: relative; width: 100%; height: 100%; }
        
        /* BANDEAU FERMETURE (HAUT) */
        .announcement-bar {
            position: absolute; top: 0; left: 0; width: 100%;
            background: rgba(16, 51, 127, 0.9); color: white; z-index: 20;
            padding: 10px 0; font-family: sans-serif; font-size: 0.7rem;
            display: flex; justify-content: space-around; align-items: center;
            border-bottom: 2px solid #5157FF; backdrop-filter: blur(5px);
        }
        .announcement-item { text-align: center; }
        .announcement-item strong { display: block; color: #ffcc00; text-transform: uppercase; font-size: 0.7rem; }

        /* SECTIONS DIAGONALES */
        .side-link { text-decoration: none; color: white; }
        .section {
            position: absolute; width: 100%; height: 100%;
            background-repeat: no-repeat; background-position: center center;
            background-size: cover; transition: filter 0.5s ease; z-index: 1;
        }
        .section-1 { clip-path: polygon(0 0, 100% 0, 0 100%); background-image: url('/assets/img/professionnelle.webp'); }
        .section-2 { clip-path: polygon(100% 0, 100% 100%, 0 100%); background-image: url('/assets/img/particulier.webp'); }
        .side-link:hover .section { filter: blur(8px) brightness(0.7); }

        /* LOGO ET TEXTES */
        .logo {
            position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
            width: 20vw; max-width: 300px; z-index: 10; pointer-events: none;
        }
        .text-overlay {
            position: absolute; font-family: 'Press Start 2P', cursive;
            font-size: 1.8vw; color: #FFFFFF; text-shadow: 4px 4px 8px rgba(0, 0, 0, 0.9);
            z-index: 5; white-space: nowrap; overflow: hidden;
            border-right: 3px solid white; animation: typing 2.5s steps(20, end), blink-caret 0.75s step-end infinite;
        }
        .text-pro { top: 30%; left: 15%; }
        .text-part { top: 65%; left: 55%; }

        @keyframes typing { from { width: 0; } to { width: 14em; } }
        @keyframes blink-caret { from, to { border-color: transparent; } 50% { border-color: white; } }

        /* BANDEAU VŒUX (BAS) */
        .wishes-bar {
            position: absolute; bottom: 30px; width: 100%;
            background: rgba(214, 45, 41, 0.8); color: #ffffff; padding: 10px 0;
            font-family: 'Press Start 2P', cursive; font-size: 0.6rem;
            text-align: center; z-index: 15; border-top: 2px solid #FF3631;
        }
		.wishes-bar a{
			color:#ffff;
			text-decoration:none;
			font-size: 15px;
		}
		.wishes-bar a:hover{
			color:green;
			text-decoration:none;
		}
		.wi
        .wishes-text { animation: glow 2s ease-in-out infinite alternate; }
        @keyframes glow { from { text-shadow: 0 0 5px #fff; } to { text-shadow: 0 0 10px #2ecc71; } }

        .footer {
            position: absolute; bottom: 0; width: 100%; height: auto;
            color: white; text-align: center; font-family: sans-serif; font-size: 0.7rem;
            z-index: 10; background: rgba(0,0,0,0.8); line-height: 30px;
        }

        /* NEIGE */
        .snowflake {
            position: fixed; top: -10px; background: white; border-radius: 50%;
            opacity: 0.8; pointer-events: none; z-index: 100; animation: fall linear infinite;
        }
        @keyframes fall { to { transform: translateY(105vh); } }

        @media (max-width: 768px) {
            .announcement-bar { flex-direction: column; font-size: 0.7rem; }
            .text-overlay { font-size: 4vw; }
            .logo { width: 40vw; }
        }