/* =========================================
   LAYOUT — header, navigation, hero, section containers
   ========================================= */

/* === Header + Nav (shared) === */
header {
    width: 100%;
    background: #f7f7f7;
    z-index: 100;
    top: 0;
    left: 0;
}

.logo {
    font-size: 29px;
    font-weight: 300;
    text-decoration: none;
    color: #333;
}

.nav-menu a {
    text-decoration: none;
    color: #000;
    font-weight: 800;
    display: block;
    letter-spacing: .1em;
    font-size: 11px;
    transition: color 1s ease;
    padding: 0 10px;
}

.nav-menu a:hover { color: #FF163E; transition: color .3s ease; }

/* === Hero (shared) === */
.hero {
    padding: 0;
    background: #000;
    position: relative;
    overflow: hidden;
}

/* Background video — blurred, darkened, fills sides */
.hero-video-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: blur(18px) brightness(0.80);
    transform: scale(1.05); /* avoids blur edge artifacts */
    pointer-events: none;
    z-index: 0;
}

/* Main video wrapper — centered at 75% width */
.hero-video-main-wrap {
    position: relative;
    z-index: 1;
    width: 75%;
    margin: 0 auto;
}

.hero-video-main-wrap #hero-video {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
}


/* === Section containers (shared) === */
.direction, .about, .immersif {
    max-width: 1200px;
    margin: auto;
    padding: 40px 20px;
}

/* === Desktop (>= 768px) === */
@media (min-width: 768px) {
    header { height: 50px; position: fixed; padding: 0 20px; }
    nav h1 { float: left; margin: 0; }
    .logo { float: left; line-height: 50px; }
    .logo img { height: 21px; width: auto; }
    .nav-menu { float: right; margin: 0; padding: 0; }
    .nav-menu > li { float: left; margin-left: 1em; position: relative; }
    .nav-menu > li.crea { float: left; margin-right: 3em !important; }
    .nav-menu a { line-height: 50px; }
    .hero { margin-top: 50px; }
    .direction video {
        width: 100vw;
        max-width: none;
        height: auto;
        display: block;
        margin-left: calc(50% - 50vw);
    }
    .direction { max-width: none; padding: 40px 0; background: #f7f7f7; }
    .immersif { max-width: none; padding: 40px 0 120px; background: #000; color: #f7f7f7; }
}

/* === Mobile (<= 767px) === */
@media (max-width: 767px) {
    header { height: 100%; position: inherit; padding-bottom: 25px; }
    nav h1 { float: left; margin-top: 11px; margin-bottom: 0; padding-bottom: 8px; background-color: #f7f7f7; }
    nav .logo img { width: 50%; }
    ul { background-color: #f7f7f7; }
    li { position: initial; background: #f7f7f7; }
    nav .crea { position: initial; background: #f7f7f7; }
    nav {
        justify-content: center;
        align-items: center;
        background: #f7f7f7;
        text-align: center;
        height: auto;
        min-height: 80px;
    }
    .nav-menu {
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: flex-start;
        width: 100%;
    }
    .nav-menu > li { float: none; flex: 1; padding-bottom: 8px; }
    .nav-menu a { line-height: 15px; }
    .main-video video { display: flex; padding-right: 0; width: 100vw; max-width: none; margin-left: calc(50% - 50vw); }
    .direction video { width: 100vw; max-width: none; height: auto; display: block; margin-left: calc(50% - 50vw); }
    .hero-video-main-wrap { width: 100%; }
    .nav-menu a { white-space: nowrap; }
    .direction { background: #f7f7f7; }
    .immersif { background: #000; color: #f7f7f7; padding-bottom: 90px; }
}