/* Vidéo, voile et signature sont trois couches indépendantes. */
#nav.hero-nav{background:#fff;transition:background-color .24s ease}
#nav.hero-nav[data-over-hero=true]{background:rgba(255,255,255,.55)}
#nav.hero-nav:has(.nav-links.open){background:#fff}
#nav.hero-nav[data-over-hero=true] .brand-switch{background:transparent}
.hero.hero-film{height:100vh;height:100svh;min-height:100svh;position:relative;isolation:isolate;overflow:hidden;background:#001e50;opacity:var(--hero-opacity,1);will-change:opacity}
.hero-film .hero-parallax{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero-film .hero-parallax video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-film .hero-ov{display:block;position:absolute;inset:0;background:#001e50;opacity:.3;z-index:1;pointer-events:none}
.hero-film .hero-signature{position:absolute;left:50%;top:50%;width:min(46.875vw,calc(100% - 32px));transform:translate(-50%,-50%);z-index:2;pointer-events:none;opacity:var(--signature-opacity,0);filter:drop-shadow(0 0 var(--signature-shadow,4px) rgba(0,0,0,.48))}
.hero-film .hero-signature img{display:block;width:100%;height:auto}
.hero-film .hero-scroll{position:absolute;bottom:calc(24px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);z-index:4;min-width:44px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;opacity:.7;text-decoration:none;font-family:var(--font-vw-text,Arial,sans-serif);font-size:12px;line-height:18px;font-weight:400;letter-spacing:.12em;white-space:nowrap;text-shadow:0 1px 8px rgba(0,0,0,.45)}
.hero-film .hero-scroll-chevrons{display:flex;flex-direction:column;align-items:center;gap:6px;height:40px;padding-top:2px}
.hero-film .hero-scroll-chevrons i{display:block;width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);opacity:.2;animation:hero-chevron-cascade 1.8s ease-in-out infinite}
.hero-film .hero-scroll-chevrons i:nth-child(2){animation-delay:.16s}
.hero-film .hero-scroll-chevrons i:nth-child(3){animation-delay:.32s}
@keyframes hero-chevron-cascade{0%,70%,100%{opacity:.18;transform:translateY(-2px) rotate(45deg)}35%{opacity:1;transform:translateY(2px) rotate(45deg)}}
.hero-film .hero-scroll:focus-visible{outline:2px solid #fff;outline-offset:5px}
.hero-film .hero-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#services{scroll-margin-top:80px}
@media(max-width:700px){.hero-film .hero-scroll{bottom:calc(20px + env(safe-area-inset-bottom,0px));font-size:11px}.hero-film .hero-scroll-chevrons{height:32px;gap:4px}}
@media(prefers-reduced-motion:reduce){#nav.hero-nav{transition:none}html{scroll-behavior:auto}.hero-film .hero-scroll-chevrons i{animation:none;opacity:.75}}
