:root{--navy-deep:#061429;--sky:#4a90d9;--sky-light:#5ba3e6;--gray-50:#f7f9fc;--gray-100:#e8eef5;--gray-600:#3c4a63;--ease-out:cubic-bezier(.22,.61,.36,1)}
.container{max-width:1400px;margin:0 auto;padding:0 48px}
.nav{position:fixed;top:0;left:0;right:0;z-index:100;min-height:0;width:auto;margin:0;padding:24px 48px;display:flex;align-items:center;justify-content:space-between;gap:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;font-family:Manrope,sans-serif;transition:background .4s var(--ease-out),padding .4s var(--ease-out),backdrop-filter .4s}
.nav.scrolled{background:rgba(255,255,255,.9);backdrop-filter:blur(20px);padding:16px 48px;border-bottom:1px solid rgba(10,31,68,.08);box-shadow:none}
.nav-logo{display:block;flex:none;color:#fff;transition:color .4s}
.nav-logo img{width:200px;height:auto;max-height:50px;object-fit:contain;object-position:left center}
.nav.scrolled .nav-logo{color:var(--navy)}
.nav-links{display:flex;flex:initial;justify-content:initial;align-items:center;gap:36px;margin:0;padding:0;list-style:none}
.nav-links a{font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.86);position:relative;padding:4px 0;transition:color .3s}
.nav.scrolled .nav-links a{color:var(--navy)}
.nav-links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--sky);transition:width .4s var(--ease-out)}
.nav-links a:hover::after,.nav-links a:focus-visible::after{width:100%}
.nav-cta{padding:12px 24px;border:1px solid rgba(255,255,255,.4);border-radius:100px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff;transition:all .4s var(--ease-out);background:none}
.nav.scrolled .nav-cta{border-color:var(--navy);color:var(--navy)}
.nav-cta:hover{background:var(--sky);border-color:var(--sky);color:#fff}
.nav-menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);backdrop-filter:blur(10px);padding:0;transition:background .3s,border-color .3s,transform .3s}
.nav.scrolled .nav-menu-toggle{border-color:rgba(10,31,68,.14);background:rgba(255,255,255,.9)}
.nav-menu-toggle span{display:block;width:18px;height:2px;background:#fff;border-radius:2px;transition:transform .3s,opacity .3s,background .3s}
.nav.scrolled .nav-menu-toggle span{background:var(--navy)}
.mobile-menu-backdrop{position:fixed;inset:0;background:rgba(6,20,41,.55);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .35s var(--ease-out),visibility .35s;z-index:180}
.mobile-menu-panel{position:fixed;top:0;right:0;height:100dvh;width:min(88vw,360px);background:var(--navy-deep);color:#fff;z-index:190;transform:translateX(102%);transition:transform .45s var(--ease-out);padding:28px 24px 32px;display:flex;flex-direction:column;box-shadow:-24px 0 60px rgba(0,0,0,.22)}
.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.mobile-menu-brand{font-family:Manrope,sans-serif;font-size:26px;letter-spacing:.08em}.mobile-menu-brand span{color:var(--sky)}
.mobile-menu-close{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.1)}.mobile-menu-close svg{width:18px;height:18px}
.mobile-menu-links{list-style:none;display:flex;flex-direction:column;gap:18px;margin:0;padding:0}.mobile-menu-links a{display:block;font-size:18px;font-weight:500;letter-spacing:.02em;color:rgba(255,255,255,.94);padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.mobile-menu-actions{margin-top:auto;display:flex;flex-direction:column;gap:14px;padding-top:28px}
.mobile-menu-actions .btn-primary{display:flex;align-items:center;justify-content:center;width:100%;padding:15px 22px;background:var(--sky);color:#fff;border-radius:100px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.mobile-menu-tracking{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid rgba(255,255,255,.2);border-radius:100px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff;transition:background .3s,border-color .3s}
.mobile-menu-tracking:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35)}
body.menu-open{overflow:hidden}body.menu-open .mobile-menu-backdrop{opacity:1;visibility:visible}body.menu-open .mobile-menu-panel{transform:translateX(0)}
body.menu-open .nav-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}body.menu-open .nav-menu-toggle span:nth-child(2){opacity:0}body.menu-open .nav-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1050px){.nav-links{gap:18px}.nav-links a{font-size:11px}.nav-logo img{width:170px}}
@media(max-width:900px){.nav{padding:18px 20px;gap:12px}.nav.scrolled{padding:12px 20px}.nav-links,.nav-cta{display:none}.nav-menu-toggle{display:flex;flex-shrink:0}.nav-logo img{width:170px}.container{padding:0 20px}}

/* Le hero occupe trois hauteurs de fenêtre. La molette fait défiler les scènes. */
.hero-scroll-track{position:relative;height:300svh;background:#061429}
.hero-sticky{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;background:#061429;color:#fff;isolation:isolate}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.045);transition:opacity .9s ease,transform 1.5s ease,visibility .9s;pointer-events:none}
.hero-slide.is-active{opacity:1;visibility:visible;transform:scale(1);pointer-events:auto}
.hero-media,.hero-shade{position:absolute;inset:0}.hero-media{overflow:hidden;background:#082246}.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;display:block}.hero-media video{position:absolute;inset:0;opacity:0;transition:opacity .7s ease}.hero-media video.is-ready{opacity:1}.hero-slide[data-slide="1"] .hero-media img{object-position:center}.hero-slide[data-slide="2"] .hero-media img{object-position:center 34%}
.hero-shade{background:linear-gradient(90deg,rgba(3,18,37,.92) 0%,rgba(3,18,37,.58) 46%,rgba(3,18,37,.17) 100%),linear-gradient(0deg,rgba(3,18,37,.65),transparent 43%)}
.hero-copy{position:absolute;z-index:2;left:max(48px,calc((100vw - 1400px)/2 + 48px));bottom:14%;padding:0;width:min(740px,calc(100% - 120px));transform:translateY(30px);opacity:0;transition:opacity .8s ease .16s,transform .8s ease .16s}
.hero-slide.is-active .hero-copy{transform:translateY(0);opacity:1}.hero-kicker{font:600 11px Manrope,sans-serif;letter-spacing:.26em;color:#9bd0ff;margin:0 0 24px}.hero-kicker span{margin:0 8px;color:#fff}
.hero-copy h1,.hero-copy h2{font:500 clamp(56px,7.4vw,116px)/1.04 Manrope,sans-serif;letter-spacing:-.055em;color:#fff;margin:0 0 24px}
.hero-copy h1 em,.hero-copy h2 em{font-style:italic;font-weight:400;color:#a5d7ff}
.hero-copy>p:not(.hero-kicker){max-width:540px;color:#d0dce7;font:400 clamp(15px,1.15vw,18px)/1.75 Manrope,sans-serif;margin:0 0 28px}
.hero-cta{display:inline-flex;gap:25px;align-items:center;font:600 12px Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff;border-bottom:1px solid #ffffff90;padding:11px 0}.hero-cta:hover{color:#91cbff;gap:35px}
.hero-side-label{position:absolute;right:44px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;letter-spacing:.28em;font:600 10px Manrope,sans-serif;color:#ffffffab}
.hero-controls{position:absolute;z-index:5;right:48px;bottom:42px;display:flex;align-items:center;gap:13px;font:600 13px Manrope,sans-serif}
.hero-controls button{width:44px;height:44px;border:1px solid #ffffff63;border-radius:50%;color:#fff;background:#ffffff16;display:grid;place-items:center;font-size:20px;transition:background .2s,transform .2s}
.hero-controls button:hover{background:#4a90d9;transform:translateY(-2px)}.hero-controls i{font-style:normal;color:#80a4c7;margin:0 8px}
.hero-progress{position:absolute;z-index:6;bottom:0;left:0;width:100%;height:4px;background:#ffffff3b}.hero-progress span{display:block;width:0;height:100%;background:#78bfff;transition:width .12s linear}
.hero-scroll-cue{position:absolute;z-index:5;left:48px;bottom:46px;display:flex;align-items:center;gap:12px;color:#d5e6f5;font:600 9px Manrope,sans-serif;letter-spacing:.2em}.scroll-wheel{display:grid;place-items:center;width:21px;height:31px;border:1px solid #ffffff92;border-radius:11px;font-size:18px}
@media(max-width:700px){.hero-sticky{min-height:0}.hero-shade{background:linear-gradient(0deg,rgba(3,18,37,.94),rgba(3,18,37,.35) 75%),linear-gradient(90deg,rgba(3,18,37,.2),transparent)}.hero-copy{left:22px;bottom:17%;width:calc(100% - 45px)}.hero-copy h1,.hero-copy h2{font-size:clamp(45px,11vw,72px)}.hero-copy>p:not(.hero-kicker){font-size:14px;line-height:1.65}.hero-kicker{font-size:9px}.hero-side-label{display:none}.hero-controls{right:20px;bottom:26px}.hero-controls button{width:36px;height:36px}.hero-scroll-cue{left:20px;bottom:31px;font-size:7px}.hero-slide[data-slide="2"] .hero-media img{object-position:53% center}}

footer{background:var(--navy-deep);color:rgba(255,255,255,.7);padding:100px 0 40px;position:relative;overflow:hidden;font-family:Manrope,sans-serif}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:60px;margin-bottom:80px}
.footer-brand{font-family:Manrope,sans-serif;font-size:32px;color:#fff;margin-bottom:20px}.footer-brand img{width:250px;height:auto}.footer-brand span{color:var(--sky)}
.footer-desc{font-size:14px;line-height:1.8;max-width:320px}.footer-col-title{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--sky);margin-bottom:24px;font-weight:600}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:14px;margin:0;padding:0}.footer-col a{font-size:14px;transition:color .3s}.footer-col a:hover{color:var(--sky-light)}
.footer-contact-item{font-size:14px;margin-bottom:14px;line-height:1.6}.footer-contact-item strong{color:#fff;display:block;font-size:11px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:4px;font-weight:600}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:32px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:rgba(255,255,255,.5);flex-wrap:wrap;gap:16px}.footer-bottom>div{display:block}.footer-bottom a:hover{color:#fff}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:40px}}@media(max-width:600px){.footer-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-copy,.hero-progress span{transition:none!important}}
.nav-links a{white-space:nowrap}
@media(max-width:1170px){.nav{padding:18px 24px}.nav.scrolled{padding:12px 24px}.nav-links,.nav-cta{display:none}.nav-menu-toggle{display:flex;flex-shrink:0}.nav-logo img{width:170px}}
.js [data-reveal]{transition-delay:var(--reveal-delay,0ms)}
.nav-logo .logo-dark{display:none}.nav.scrolled .nav-logo .logo-light{display:none}.nav.scrolled .nav-logo .logo-dark{display:block}
