* {
    margin: 0;
    padding: 0;
}
body {
    position: relative;
    width: 100%;
    height: 100vh;
    background-color: #0078d4;
    overflow: hidden;
    font-family: Calibri, Arial, sans-serif;
}
body .air {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100px;
    background: url("img/wave.png");
    background-size: 1000px 100px;
}
body .air.air1 {
    animation: wave 30s linear infinite;
    z-index: 1000;
    opacity: 1;
    animation-delay: 0s;
    bottom: 0;
}
body .air.air2 {
    animation: wave2 15s linear infinite;
    z-index: 999;
    opacity: 0.5;
    animation-delay: -5s;
    bottom: 10px;
}
body .air.air3 {
    animation: wave 30s linear infinite;
    z-index: 998;
    opacity: 0.2;
    animation-delay: -2s;
    bottom: 15px;
}
body .air.air4 {
    animation: wave2 5s linear infinite;
    z-index: 997;
    opacity: 0.7;
    animation-delay: -5s;
    bottom: 20px;
}
@keyframes wave {
    0% { background-position-x: 0px; }
    100% { background-position-x: 1000px; }
}
@keyframes wave2 {
    0% { background-position-x: 0px; }
    100% { background-position-x: -1000px; }
}

/* Centrage et animation du logo LinkedIn */
.linkedin-center {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2001;
    pointer-events: none;
}
.linkedin-center a {
    pointer-events: auto;
}
.linkedin-center a:focus {
    outline: 2px solid #1976d2;
    outline-offset: 4px;
}
.linkedin-center img {
    width: 120px;
    height: 120px;
    max-width: 40vw;
    max-height: 40vw;
    object-fit: contain;
    box-shadow: 0 4px 24px rgba(0,0,0,0.15);
    border-radius: 16px;
    background: transparent;
    transition: 
        transform 0.3s cubic-bezier(.4,2,.6,1),
        box-shadow 0.3s cubic-bezier(.4,2,.6,1),
        filter 0.3s cubic-bezier(.4,2,.6,1);
}
.linkedin-center a:hover img,
.linkedin-center a:focus img {
    transform: scale(1.13);
    filter: brightness(1.2) drop-shadow(0 4px 24px #fff4);
    box-shadow: 0 12px 36px rgba(0,0,0,0.30);
}

/* Overlay assombri */
.bg-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.18);
    z-index: 1100;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s cubic-bezier(.4,2,.6,1);
}
.bg-overlay.active {
    opacity: 1;
}

/* Responsive pour tablette et mobile */
@media (max-width: 900px) {
    .linkedin-center img {
        width: 80px;
        height: 80px;
        max-width: 60vw;
        max-height: 60vw;
    }
}
@media (max-width: 600px) {
    .linkedin-center img {
        width: 60px;
        height: 60px;
        max-width: 80vw;
        max-height: 80vw;
    }
    body .air {
        height: 40px;
        background-size: 600px 40px;
    }
    body .air.air2 {
        bottom: 5px;
    }
    body .air.air3 {
        bottom: 8px;
    }
    body .air.air4 {
        bottom: 12px;
    }
}

/* Accessibilité SEO : cacher le h1 visuellement mais le garder pour les moteurs */
.visually-hidden {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}