:root {
  --deep:#041a22;
  --deep2:#062832;
  --ink:#0a2833;
  --foam:#eef5f6;
  --white:#fff;
  --teal:#007890;
  --teal2:#0090a8;
  --cyan:#00b0c8;
  --bright:#18d8d8;
  --slate:#5a7684;
  --line:rgba(255,255,255,.12);
  --line-dark:rgba(10,40,51,.11);
  --radius:32px;
  --ease:cubic-bezier(.16,1,.3,1);
  --font:"Avenir Next","Segoe UI Variable Display","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--deep)}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--foam);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
::selection{background:rgba(24,216,216,.28)}

.progress{position:fixed;top:0;left:0;height:3px;width:100%;z-index:300;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--cyan),var(--bright))}

.nav{position:fixed;inset:0 0 auto;z-index:200;height:76px;display:flex;align-items:center;background:linear-gradient(180deg,rgba(3,18,24,.72),rgba(3,18,24,.30) 60%,rgba(3,18,24,0));backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid transparent;transition:250ms ease;color:white}
.nav::after{content:"";position:absolute;left:0;right:0;top:100%;height:64px;pointer-events:none;background:linear-gradient(180deg,rgba(3,18,24,.30),transparent);transition:opacity .25s ease}
.nav.scrolled::after{opacity:0}
.lang{display:inline-flex;align-items:center;gap:5px;background:transparent;border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:100px;padding:8px 14px;font-size:.82rem;font-weight:700;cursor:pointer;transition:border-color .25s ease,background .25s ease}
.lang:hover{border-color:rgba(255,255,255,.5)}
.lang__chev{font-size:.7em;opacity:.8}
.nav.scrolled{background:rgba(4,26,34,.84);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);border-color:rgba(255,255,255,.08);box-shadow:0 10px 35px rgba(0,0,0,.18)}
.nav__in{width:min(1440px,calc(100% - 44px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:11px;font-weight:840}
.brand__id{display:flex;flex-direction:column;line-height:1}
.brand__id b{font-weight:840;letter-spacing:.14em;font-size:.94rem}
.brand__id em{font-style:normal;font-size:.58rem;letter-spacing:.1em;color:rgba(255,255,255,.55);margin-top:4px}
.brand img{width:auto;height:32px}
.navlinks{display:flex;align-items:center;gap:26px}
.navlinks a{position:relative;font-size:.9rem;color:rgba(255,255,255,.82);transition:color 250ms ease}
.navlinks a:not(.pill):hover{color:#fff}
.navlinks a:not(.pill)::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;border-radius:2px;background:var(--bright);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.navlinks a:not(.pill):hover::after{transform:scaleX(1)}
.navlinks__cloud{color:rgba(255,255,255,.9)!important}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;font-size:.86rem;border-radius:100px;border:1px solid transparent;font-weight:780;transition:transform 250ms ease,box-shadow 250ms ease,background 250ms ease}
.pill:hover{transform:translateY(-2px)}
.pill--bright{background:linear-gradient(135deg,var(--teal2),var(--bright));color:var(--deep);box-shadow:0 12px 28px rgba(24,216,216,.2)}
.pill--glass{border-color:rgba(255,255,255,.25);color:white;background:rgba(255,255,255,.06);backdrop-filter:blur(10px)}
.burger{display:none;width:46px;height:46px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);border-radius:50%;place-items:center;padding:0;color:white}
.burger span,.burger span:before,.burger span:after{content:"";display:block;width:19px;height:2px;background:currentColor;border-radius:10px;transition:250ms ease}
.burger span:before{transform:translateY(-6px)}.burger span:after{transform:translateY(4px)}

.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;color:white;background:#03101a}
.hero__bg{position:absolute;inset:0;background:url(assets/hero-bg-fallback.jpg) center/cover no-repeat;transform:scale(1.08);filter:blur(2.5px) brightness(.9)}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,16,22,.94),rgba(3,16,22,.74) 32%,rgba(3,16,22,.30) 60%,rgba(3,16,22,.5)),linear-gradient(180deg,rgba(3,16,22,.55),rgba(3,16,22,.15) 42%,rgba(3,16,22,.78))}
.hero__grid{position:relative;z-index:2;width:min(1400px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:44px;align-items:center;padding:96px 0 40px}
.hero__copy{max-width:600px}
.hero .kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;font-weight:820;color:var(--bright);margin-bottom:16px}
.hero h1{font-size:clamp(2.7rem,5.2vw,5.2rem);line-height:1.0;letter-spacing:-.04em;margin:0}
.hero h1 .accent{color:var(--bright)}
.hero__sub{max-width:470px;font-size:clamp(1rem,1.35vw,1.16rem);line-height:1.55;color:rgba(238,245,246,.82);margin:22px 0 0}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.hero__trust{list-style:none;display:flex;flex-wrap:wrap;gap:10px 24px;margin:28px 0 0;padding:0}
.hero__trust li{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:rgba(238,245,246,.88)}
.hero__trust svg{width:18px;height:18px;stroke:var(--bright);flex:0 0 auto}
.hero__cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hcard{background:rgba(6,20,27,.52);border:1px solid rgba(255,255,255,.10);border-radius:20px;padding:20px;backdrop-filter:blur(18px);box-shadow:0 26px 60px rgba(0,0,0,.45)}
.hcard__eyebrow{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:var(--bright)}
.hcard h3{font-size:1.0rem;line-height:1.28;margin:8px 0 0;color:#fff}
.hcard__img{margin:14px 0;border-radius:12px;overflow:hidden;aspect-ratio:16/11;background:#05141b;border:1px solid rgba(255,255,255,.06)}
.hcard__img img{width:100%;height:100%;object-fit:cover;display:block}
.hcard ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.hcard li{display:flex;align-items:center;gap:8px;font-size:.82rem;color:rgba(238,245,246,.8)}
.hcard li svg{width:15px;height:15px;stroke:var(--bright);flex:0 0 auto}
.scrollhint{position:absolute;z-index:4;left:50%;bottom:22px;transform:translateX(-50%);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.scrollhint:after{content:"";display:block;width:1px;height:42px;margin:12px auto 0;background:linear-gradient(var(--bright),transparent);animation:drip 1.8s infinite var(--ease)}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top;opacity:0}30%{opacity:1}100%{transform:scaleY(1);transform-origin:top;opacity:0}}

.manifesto{min-height:100svh;display:grid;place-items:center;padding:120px 24px;background:white}
.manifesto__in{width:min(1100px,100%)}
.manifesto p{font-size:clamp(2.4rem,5.2vw,6.1rem);line-height:1.02;letter-spacing:-.055em;margin:0;color:#b9c7cc}
.manifesto p strong{color:var(--ink);font-weight:780}
.manifesto p em{font-style:normal;color:var(--teal2)}

.story{background:var(--deep);color:white}
.story__track{height:420vh;position:relative}
.story__sticky{position:sticky;top:0;height:100svh;overflow:hidden;display:grid;place-items:center}
.story__bg{position:absolute;inset:0;background:
radial-gradient(circle at 68% 42%,rgba(24,216,216,.16),transparent 27%),
linear-gradient(145deg,#03171f,#052d38 60%,#006078)}
.story__grid{position:absolute;inset:0;opacity:.24;background-image:
linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:86px 86px;mask-image:radial-gradient(circle at center,black,transparent 76%)}
.story__device{position:absolute;left:calc(50% + 16vw);top:40%;width:min(52vw,780px);transform:translate(-50%,-50%) scale(.78);filter:drop-shadow(0 50px 100px rgba(0,0,0,.46));will-change:transform,opacity}
.story__device img{width:100%;border-radius:28px}
.story__copy{position:absolute;left:max(5vw,24px);top:19vh;width:min(38vw,450px);will-change:opacity,transform}
.story__copy--right{left:max(5vw,24px);right:auto;text-align:left}
.story__copy .eyebrow{color:var(--bright);font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;font-weight:820}
.story__copy h2{font-size:clamp(2.6rem,4.6vw,5.4rem);line-height:.94;letter-spacing:-.05em;margin:14px 0 0}
.story__copy h2 .accent{color:var(--bright)}
.story__rule{display:block;width:64px;height:2px;border-radius:2px;background:var(--bright);opacity:.7;margin:22px 0}
.story__copy--right .story__rule{margin-left:0}
.story__copy p{font-size:clamp(1rem,1.35vw,1.2rem);color:rgba(238,245,246,.7);margin:0}
.story__hud{position:absolute;left:4vw;right:4vw;bottom:4vh}
.hudset{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:center;gap:16px;opacity:0;will-change:opacity,transform;pointer-events:none}
.hudcard{flex:1 1 0;max-width:280px;padding:20px;border-radius:20px;text-align:left;background:rgba(255,255,255,.05);border:1px solid rgba(24,216,216,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 14px 34px rgba(0,0,0,.32);backdrop-filter:blur(14px)}
.hudcard__icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(24,216,216,.10);border:1px solid rgba(24,216,216,.34);box-shadow:0 0 20px rgba(24,216,216,.2);margin-bottom:12px}
.hudcard__icon svg{width:22px;height:22px;stroke:var(--bright)}
.hudcard b{display:block;font-size:1.18rem;color:var(--bright);letter-spacing:-.01em}
.hudcard__desc{display:block;font-size:.86rem;color:rgba(255,255,255,.6);margin-top:7px;line-height:1.45}

.modules{padding:130px 24px;background:linear-gradient(180deg,#f8fbfc,#eaf2f3)}
.modules__in{width:min(1320px,100%);margin:auto}
.section-head{max-width:860px;margin-bottom:60px}
.section-head .eyebrow{font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;color:var(--teal2);font-weight:820}
.section-head h2{font-size:clamp(3rem,6vw,6.7rem);line-height:.92;letter-spacing:-.06em;margin:14px 0 20px}
.section-head p{font-size:clamp(1.05rem,1.6vw,1.32rem);color:var(--slate);max-width:720px}
.module-stage{position:relative;border-radius:38px;overflow:hidden;background:white;border:1px solid var(--line-dark);box-shadow:0 36px 90px rgba(4,34,44,.13)}
.module-stage img{width:100%;height:auto;display:block}
.module-stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.0),rgba(255,255,255,.15),rgba(255,255,255,.0));transform:translateX(-100%);animation:shine 5s infinite}
@keyframes shine{0%,35%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}
.module-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.tab{border:1px solid var(--line-dark);background:rgba(255,255,255,.72);border-radius:18px;padding:18px;text-align:left;cursor:pointer;transition:250ms ease}
.tab:hover,.tab.active{transform:translateY(-3px);background:white;box-shadow:0 16px 34px rgba(4,34,44,.10)}
.tab b{display:block;margin-bottom:5px}.tab span{font-size:.84rem;color:var(--slate)}

.sectors{padding:130px 24px;background:white}
.sectors__in{width:min(1320px,100%);margin:auto}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{position:relative;min-height:560px;border-radius:30px;padding:34px;color:white;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;transition:transform 400ms var(--ease),box-shadow 400ms var(--ease);isolation:isolate}
.card:hover{transform:translateY(-10px);box-shadow:0 34px 80px rgba(4,34,44,.22)}
.card:nth-child(1){background:linear-gradient(145deg,#041a22,#006078)}.card:nth-child(2){background:linear-gradient(145deg,#006078,#00b0c8)}.card:nth-child(3){background:linear-gradient(145deg,#0a2833,#007890)}
.card:before{content:"";position:absolute;inset:-10%;z-index:-1;background:radial-gradient(circle at 75% 15%,rgba(24,216,216,.45),transparent 26%);transition:transform 600ms var(--ease)}
.card:hover:before{transform:scale(1.18) translate(-2%,2%)}
.card .num{position:absolute;top:28px;left:30px;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.52)}
.card h3{font-size:clamp(2rem,3.4vw,3.8rem);line-height:.95;letter-spacing:-.05em;margin:0 0 14px}
.card p{color:rgba(255,255,255,.72);margin:0 0 20px}
.card .go{font-weight:800}
.badge{position:absolute;top:24px;right:24px;padding:8px 12px;border-radius:100px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.10);font-size:.72rem;font-weight:780}

.final{min-height:100svh;display:grid;place-items:center;text-align:center;padding:120px 24px;color:white;background:
radial-gradient(circle at 50% 40%,rgba(24,216,216,.18),transparent 30%),
linear-gradient(145deg,#020f14,#06303b)}
.final__in{width:min(980px,100%)}
.final img{width:130px;margin:0 auto 30px;filter:drop-shadow(0 20px 35px rgba(24,216,216,.18))}
.final h2{font-size:clamp(3.3rem,7vw,7.8rem);line-height:.9;letter-spacing:-.065em;margin:0}
.final p{font-size:clamp(1.08rem,1.6vw,1.3rem);color:rgba(255,255,255,.68);max-width:690px;margin:24px auto 32px}
.footerline{margin-top:84px;font-size:.78rem;color:rgba(255,255,255,.42)}

.reveal{opacity:0;transform:translateY(34px);transition:opacity 900ms var(--ease),transform 900ms var(--ease)}
.reveal.visible{opacity:1;transform:none}
.delay1{transition-delay:.08s}.delay2{transition-delay:.16s}.delay3{transition-delay:.24s}

.cursor-glow{position:fixed;z-index:10;width:420px;height:420px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(24,216,216,.08),transparent 65%);transform:translate(-50%,-50%);opacity:0;transition:opacity 250ms ease}

@media(max-width:1100px){
  .navlinks{position:fixed;inset:0;min-height:100dvh;padding:110px 30px 40px;background:rgba(4,26,34,.98);flex-direction:column;align-items:stretch;transform:translateY(-104%);transition:transform 450ms var(--ease);overflow-y:auto}
  .navlinks.open{transform:none}.navlinks a{font-size:1.15rem;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .burger{display:grid;z-index:205}
  .hero__device{width:78vw;right:-24vw;opacity:.48}
  .story__copy{width:min(430px,48vw)}
  .story__copy--right{right:4vw}
  .story__device{left:50%;top:50%;width:82vw;opacity:.74}
  .module-tabs{grid-template-columns:repeat(2,1fr)}
  .cards{grid-template-columns:1fr 1fr}.card:last-child{grid-column:1/-1;min-height:420px}
}
@media(max-width:760px){
  .nav{height:68px}.nav__in{width:calc(100% - 28px)}.brand img{width:auto;height:28px}
  .hero__wrap{width:calc(100% - 36px);padding-top:76px}
  .hero__grid{grid-template-columns:1fr;gap:26px;padding-top:104px}.hero h1{font-size:clamp(2.5rem,8vw,4rem)}.hero__sub{max-width:100%}.hero__cards{max-width:560px}
  .hero__device{width:118vw;right:-60vw;bottom:8vh;opacity:.28}
  .hero__actions .pill{width:100%}
  .manifesto{padding:90px 20px}.manifesto p{font-size:clamp(2.15rem,10vw,3.8rem)}
  .story__track{height:360vh}.story__device{left:50%;top:50%;width:118vw;opacity:.38}
  .story__copy,.story__copy--right{left:22px;right:22px;width:auto;top:28%;text-align:left}
  .story__copy h2{font-size:clamp(2.6rem,12vw,4.6rem)}.story__hud{left:14px;right:14px;bottom:14px}.hudset{flex-wrap:wrap;gap:10px}.hudcard{flex:1 1 42%;padding:14px}.hudcard__icon{width:40px;height:40px;margin-bottom:10px}
  .modules,.sectors{padding:95px 18px}.module-stage{border-radius:22px}.module-tabs{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}.card,.card:last-child{grid-column:auto;min-height:430px}
  .final{padding:100px 20px}.final h2{font-size:clamp(3rem,14vw,5.2rem)}
  .cursor-glow{display:none}
}
@media(orientation:landscape) and (max-height:760px) and (max-width:1100px){
  .hero{min-height:720px}.hero h1{font-size:clamp(2.3rem,7vw,3.4rem)}.scrollhint{display:none}.hcard__img{aspect-ratio:16/9}
  .story__sticky{min-height:760px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}.cursor-glow{display:none}
}

.hero__device svg,.story__device svg{width:100%;height:auto;display:block}
.module-stage svg{width:100%;height:auto;display:block}
.footgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.15fr 1fr;gap:36px;text-align:left;margin-top:76px;padding-top:46px;border-top:1px solid rgba(255,255,255,.10)}
.footgrid h4{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--bright);margin:0 0 16px;font-weight:820}
.footgrid a{display:block;color:rgba(238,245,246,.62);font-size:.94rem;padding:6px 0;transition:color 200ms ease}
.footgrid a:hover{color:#fff}
.footbrand .fb-mark{font-weight:840;letter-spacing:.12em;font-size:1rem;color:#fff}
.footbrand p{color:rgba(238,245,246,.6);font-size:.94rem;margin:14px 0 0;max-width:300px;line-height:1.5}
.footbrand .fb-loc{display:block;margin-top:16px;font-size:.86rem;color:rgba(238,245,246,.5)}
.footcontact__row{display:flex;align-items:flex-start;gap:10px;padding:6px 0;color:rgba(238,245,246,.68);font-size:.88rem;line-height:1.45}
.footcontact__row svg{width:16px;height:16px;stroke:var(--bright);flex:0 0 auto;margin-top:2px}
.footcontact__row a{display:inline;padding:0;color:rgba(238,245,246,.68)}
.footcontact__row a:hover{color:#fff}
.footcontact .pill{margin-top:16px;font-size:.8rem;min-height:38px;padding:0 18px}
.footsocial__icons{display:flex;gap:10px;margin-bottom:18px}
.footsocial__icons a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:rgba(238,245,246,.75);transition:background 200ms ease,color 200ms ease}
.footsocial__icons a:hover{background:rgba(24,216,216,.14);color:#fff}
.footsocial__icons svg{width:16px;height:16px;stroke:currentColor}
.footbar{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;justify-content:center;margin-top:40px;padding-top:26px;border-top:1px solid rgba(255,255,255,.08);font-size:.8rem;color:rgba(238,245,246,.42);text-align:center}
.footbar__links{display:flex;gap:24px;flex-wrap:wrap}
@media(max-width:1100px){.footgrid{grid-template-columns:1fr 1fr 1fr;gap:32px 24px}.footbrand{grid-column:1/-1}}
@media(max-width:700px){.footgrid{grid-template-columns:1fr 1fr;gap:28px 20px}.footbrand{grid-column:1/-1}}
@media(max-width:480px){.footgrid{grid-template-columns:1fr}.footbrand{grid-column:auto}}
.footbar a{color:rgba(238,245,246,.5);transition:color 200ms ease}
.footbar a:hover{color:#fff}
@media(max-width:900px){.footgrid{grid-template-columns:1fr 1fr;gap:32px 24px}}
@media(max-width:760px){.footgrid{grid-template-columns:1fr;gap:28px}.footbar{flex-direction:column;align-items:flex-start}}

.manifesto{padding:0;min-height:auto;display:block;background:radial-gradient(circle at 15% 20%,rgba(24,216,216,.12),transparent 42%),radial-gradient(circle at 85% 80%,rgba(0,144,168,.14),transparent 45%),linear-gradient(180deg,#041a22,#062832)}
.manifesto__track{position:relative;height:230vh}
.manifesto__sticky{position:sticky;top:0;min-height:100vh;display:grid;place-items:center;padding:80px 24px}
.manifesto__in{width:min(820px,100%)}
.manifesto p{font-size:clamp(1.4rem,2.6vw,2.5rem);line-height:1.3;letter-spacing:-.02em;margin:0}
.mw{display:inline-block;margin-right:.26em;color:rgba(238,245,246,.5);opacity:1;will-change:opacity,filter}
.mw--strong{color:#fff;font-weight:800}
.mw--em{color:var(--bright);font-weight:600}
@media(max-width:760px){.manifesto__track{height:200vh}.manifesto__sticky{padding:60px 20px}.manifesto p{font-size:clamp(1.5rem,6vw,2.1rem)}}
@media(prefers-reduced-motion:reduce){.mw{opacity:1!important;filter:none!important}}

/* Simplification demandée : le manifesto n'a plus besoin d'être épinglé
   avec un scroll dédié de 230vh pendant lequel le texte se révèle mot
   par mot — trop long à traverser. Le texte est maintenant affiché en
   clair dès l'arrivée sur la section, comme une section normale. */
.manifesto__track{height:auto!important}
.manifesto__sticky{position:static!important;min-height:0!important;padding:90px 24px 70px!important;text-align:center!important}
.manifesto + .sectors{padding-top:70px!important}
.manifesto .mw{opacity:1!important;filter:none!important}
@media(max-width:760px){.manifesto__sticky{padding:70px 20px!important}}

/* Petit indicateur toujours visible en haut de la section manifesto,
   dans le blanc, pour signaler qu'il y a du contenu à faire défiler. */
.section-scrolldown{display:flex;justify-content:center;padding-top:22px;color:rgba(238,245,246,.5)}
.section-scrolldown svg{width:22px;height:26px;stroke:currentColor;opacity:.55;animation:sdBounce 1.6s ease-in-out infinite}
@keyframes sdBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(9px)}}
@media(prefers-reduced-motion:reduce){.section-scrolldown svg{animation:none}}

.scrollhint{display:flex;flex-direction:column;align-items:center;gap:13px;bottom:30px;color:rgba(238,245,246,.85);pointer-events:none}
.scrollhint:after{display:none!important}
.scrollhint__label{font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:rgba(238,245,246,.74);animation:shPulse 2.4s ease-in-out infinite}
.scrollhint__mouse{position:relative;width:30px;height:50px;border:2px solid rgba(255,255,255,.42);border-radius:16px;background:rgba(255,255,255,.04);box-shadow:0 0 22px rgba(24,216,216,.16)}
.scrollhint__mouse:before{content:"";position:absolute;inset:-10px;border-radius:24px;background:radial-gradient(circle,rgba(24,216,216,.30),transparent 70%);z-index:-1;animation:shHalo 2.4s ease-in-out infinite}
.scrollhint__drop{position:absolute;left:50%;top:9px;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--bright);box-shadow:0 0 10px 2px rgba(24,216,216,.7);animation:shDrop 2s cubic-bezier(.6,0,.3,1) infinite}
.scrollhint__chev{width:22px;height:26px;stroke:var(--bright);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.scrollhint__chev path{opacity:.35;animation:shChev 2s ease-in-out infinite;transform-origin:center}
.scrollhint__chev path:nth-child(2){animation-delay:.18s}
@keyframes shDrop{0%{transform:translateY(0);opacity:0}18%{opacity:1}70%{opacity:1}100%{transform:translateY(24px);opacity:0}}
@keyframes shPulse{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes shHalo{0%,100%{opacity:.35;transform:scale(.9)}50%{opacity:.72;transform:scale(1.06)}}
@keyframes shChev{0%{opacity:.2;transform:translateY(-2px)}50%{opacity:1;transform:translateY(2px)}100%{opacity:.2;transform:translateY(-2px)}}
@media(max-width:760px) and (orientation:portrait){.scrollhint{display:flex;bottom:20px;gap:10px}.scrollhint__label{font-size:.72rem}.scrollhint__mouse{width:26px;height:44px}}
@media(prefers-reduced-motion:reduce){.scrollhint__drop,.scrollhint__label,.scrollhint__chev path,.scrollhint__mouse:before{animation:none}.scrollhint__drop{top:20px}}

.sectors .card{background-color:#08222c;background-size:cover;background-position:center;background-repeat:no-repeat}
.sectors .card:nth-child(1){background-image:linear-gradient(180deg,rgba(4,20,27,0) 26%,rgba(4,20,27,.42) 55%,rgba(3,15,21,.9) 100%),url(assets/sector-1.webp)}
.sectors .card:nth-child(2){background-image:linear-gradient(180deg,rgba(4,20,27,0) 26%,rgba(4,20,27,.42) 55%,rgba(3,15,21,.9) 100%),url(assets/sector-2.webp)}
.sectors .card:nth-child(3){background-image:linear-gradient(180deg,rgba(4,20,27,0) 26%,rgba(4,20,27,.42) 55%,rgba(3,15,21,.9) 100%),url(assets/sector-3.webp)}
.sectors .card .num{color:rgba(255,255,255,.85);text-shadow:0 1px 10px rgba(0,0,0,.55)}
.sectors .card h3{text-shadow:0 2px 20px rgba(0,0,0,.55)}
.sectors .card p{color:rgba(255,255,255,.88);text-shadow:0 1px 12px rgba(0,0,0,.6)}
.sectors .card .go{text-shadow:0 1px 12px rgba(0,0,0,.6)}
.sectors .card:before{background:radial-gradient(circle at 78% 12%,rgba(24,216,216,.26),transparent 30%)}

.roi{position:relative;padding:clamp(90px,12vh,130px) 24px;color:white;background:radial-gradient(circle at 72% 18%,rgba(24,216,216,.12),transparent 30%),linear-gradient(180deg,#062832,#041a22);overflow:hidden}
.roi__in{width:min(1200px,100%);margin:auto;position:relative;z-index:1}
.roi .eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--bright);font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;font-weight:820}
.roi .eyebrow::before{content:"";width:18px;height:1px;background:var(--bright)}
.roi__head{margin:0 0 46px}
.roi__head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-top:16px}
.roi h2{font-size:clamp(2.2rem,4.4vw,4rem);line-height:1.02;letter-spacing:-.04em;margin:0;max-width:520px}
.roi h2 .accent{color:var(--bright)}
.roi__head-text{flex:0 1 380px;font-size:.98rem;line-height:1.65;color:rgba(238,245,246,.6);margin:0}

.roi-bento{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.35fr);gap:16px}
.roi-feature{position:relative;display:flex;flex-direction:column;gap:20px;padding:30px;border-radius:24px;background:linear-gradient(160deg,rgba(24,216,216,.09),rgba(255,255,255,.02) 55%),rgba(255,255,255,.03);border:1px solid rgba(24,216,216,.2)}
.roi-feature__tags{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.roi-tag{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;font-weight:820;padding:6px 12px;border-radius:100px;white-space:nowrap}
.roi-tag--fill{color:var(--deep);background:var(--bright)}
.roi-tag--ghost{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.16)}
.roi-tag--ghost::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--bright)}
.roi-feature__stat{display:flex;align-items:flex-end;gap:4px;line-height:.85}
.roi-feature__stat b{font-size:clamp(3.4rem,7vw,4.8rem);font-weight:840;letter-spacing:-.045em;color:#fff}
.roi-feature__stat span{font-size:clamp(1.2rem,2vw,1.7rem);font-weight:800;color:var(--bright);margin-bottom:.35em}
.roi-feature__desc{margin:-10px 0 0;font-size:.88rem;line-height:1.6;color:rgba(238,245,246,.6);max-width:36ch}
.roi-feature__bar-track{height:6px;border-radius:100px;background:rgba(255,255,255,.09);overflow:hidden}
.roi-feature__bar-fill{height:100%;width:64%;border-radius:100px;background:linear-gradient(90deg,var(--teal2),var(--bright))}
.roi-feature__bar-labels{display:flex;justify-content:space-between;margin-top:9px;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;font-weight:780;color:rgba(255,255,255,.4)}
.roi-feature__list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.roi-feature__list li{display:flex;align-items:center;gap:9px;font-size:.84rem;color:rgba(238,245,246,.78)}
.roi-feature__list li::before{content:"✓";display:grid;place-items:center;flex:0 0 auto;width:17px;height:17px;border-radius:50%;font-size:.6rem;font-weight:900;color:var(--bright);background:rgba(24,216,216,.14);border:1px solid rgba(24,216,216,.4)}

.roi-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.roi-card{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:20px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);transition:border-color .3s var(--ease),transform .3s var(--ease)}
.roi-card:hover{border-color:rgba(24,216,216,.3);transform:translateY(-4px)}
.roi-card__top{display:flex;align-items:flex-start;justify-content:space-between}
.roi-card__num{font-size:.68rem;letter-spacing:.1em;font-weight:820;color:rgba(255,255,255,.35)}
.roi-card__icon{flex:0 0 auto;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(24,216,216,.10);border:1px solid rgba(24,216,216,.28)}
.roi-card__icon svg{width:17px;height:17px;stroke:var(--bright)}
.roi-card h3{margin:2px 0 0;font-size:1.02rem;color:#eef5f6}
.roi-card p{margin:0;font-size:.83rem;line-height:1.5;color:rgba(255,255,255,.55)}
.roi-card__rule{margin-top:auto;width:34px;height:2px;border-radius:2px;background:rgba(24,216,216,.4)}

.roi-bottom{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:24px 30px;border-radius:20px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
.roi-bottom__text .eyebrow{margin-bottom:8px}
.roi-bottom__text p{margin:0;font-size:.88rem;line-height:1.55;color:rgba(238,245,246,.6);max-width:520px}

@media(max-width:900px){
  .roi-bento{grid-template-columns:1fr}
}
@media(max-width:560px){
  .roi-cards{grid-template-columns:1fr}
  .roi__head-row{align-items:flex-start}
}

:root{--exact-nav-h:46px}
.nav{
  height:var(--exact-nav-h)!important;
  background:rgba(2,14,19,.96)!important;
  border-bottom:1px solid rgba(255,255,255,.055)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.nav::after{display:none!important}
.nav.scrolled{height:var(--exact-nav-h)!important;background:rgba(2,14,19,.96)!important}
.nav__in{width:calc(100% - 24px)!important;max-width:none!important;margin:0 auto!important;gap:20px!important}
.brand{gap:8px!important;flex:0 0 auto!important}
.brand img{height:25px!important;width:auto!important}
.brand__id b{font-size:12px!important;letter-spacing:.13em!important}
.brand__id em{font-size:7px!important;margin-top:3px!important}
.navlinks{gap:26px!important;margin-left:auto!important;margin-right:0!important;justify-content:flex-end!important}
.navlinks a{font-size:11px!important;font-weight:600!important;white-space:nowrap!important}
.navlinks a:not(.pill)::after{bottom:-7px!important;height:1px!important}
.nav .pill{min-height:31px!important;padding:0 15px!important;border-radius:4px!important;font-size:10px!important}
.nav .pill--bright{background:#029eb7!important;color:#fff!important;box-shadow:none!important}
.lang{border:0!important;padding:6px 2px!important;font-size:10px!important}

.hero{
  position:relative!important;
  display:block!important;
  height:min(100svh, calc(var(--exact-nav-h) + 28vw))!important;
  min-height:470px!important;
  max-height:100svh!important;
  overflow:hidden!important;
  background:#03151c!important;
  color:#fff!important;
}
.hero__bg{
  position:absolute!important;
  left:0!important;right:0!important;top:var(--exact-nav-h)!important;bottom:0!important;
  background-image:url(assets/hero-bg-correctif.png)!important;
  background-size:100% 100%!important;
  background-position:center top!important;
  background-repeat:no-repeat!important;
  transform:none!important;
  filter:none!important;
}
.hero__overlay{
  position:absolute!important;inset:var(--exact-nav-h) 0 0!important;
  background:linear-gradient(90deg,rgba(1,16,22,.98) 0%,rgba(1,16,22,.96) 38%,rgba(1,16,22,.78) 44%,rgba(1,16,22,0) 48%)!important;
  pointer-events:none!important;
}
.hero__grid{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
}
.hero .reveal{opacity:1!important;transform:none!important;transition:none!important}
.hero__copy{
  position:absolute!important;
  left:3.25%!important;
  top:calc(var(--exact-nav-h) + 0.4vw)!important;
  width:39.5%!important;
  max-width:none!important;
}
.hero .kicker{
  margin:0 0 1.55vw!important;
  font-size:clamp(10px,.67vw,13px)!important;
  line-height:1!important;
  letter-spacing:.13em!important;
  color:#00b7ce!important;
  font-weight:800!important;
}
.hero h1{
  margin:0!important;
  font-size:clamp(48px,4.46vw,86px)!important;
  line-height:.965!important;
  letter-spacing:-.045em!important;
  font-weight:790!important;
  max-width:none!important;
}
.hero h1 .accent{color:#00a9c1!important}
.hero__sub{
  width:73%!important;
  max-width:none!important;
  margin:2.35vw 0 0!important;
  font-size:clamp(12px,.76vw,15px)!important;
  line-height:1.55!important;
  color:rgba(255,255,255,.88)!important;
}
.hero__actions{
  margin-top:1.75vw!important;
  display:flex!important;
  gap:.95vw!important;
  flex-wrap:nowrap!important;
}
.hero__actions .pill{
  min-height:clamp(38px,2.65vw,51px)!important;
  padding:0 clamp(17px,1.4vw,27px)!important;
  border-radius:5px!important;
  font-size:clamp(10px,.67vw,13px)!important;
  white-space:nowrap!important;
}
.hero__actions .pill--bright{background:#00a8c0!important;color:#fff!important;box-shadow:none!important}
.hero__actions .pill--glass{background:rgba(1,16,22,.46)!important;border-color:rgba(255,255,255,.72)!important;backdrop-filter:none!important}
.hero__trust{
  position:absolute!important;
  left:0!important;
  top:calc(36.7vw)!important;
  width:43vw!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:1.25vw!important;
}
.hero__trust li{gap:.4vw!important;font-size:clamp(9px,.58vw,11px)!important;white-space:nowrap!important;color:#fff!important}
.hero__trust li+li{padding-left:1.1vw!important;border-left:1px solid rgba(255,255,255,.25)!important}
.hero__trust svg{width:13px!important;height:13px!important;stroke:#00c4dc!important}

.hero__cards{
  position:absolute!important;
  left:46.43%!important;
  right:4.87%!important;
  top:auto!important;
  bottom:2.02vw!important;
  display:grid!important;
  grid-template-columns:1.085fr 1fr!important;
  gap:2.22%!important;
  align-items:start!important;
}
.hcard{
  min-width:0!important;
  height:calc(27vw)!important;
  min-height:400px!important;
  padding:clamp(20px,1.55vw,30px)!important;
  border-radius:3px!important;
  background:rgba(2,24,31,.90)!important;
  border:1px solid rgba(0,176,200,.34)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  overflow:hidden!important;
}
.hcard__eyebrow{
  font-size:clamp(9px,.52vw,10px)!important;
  line-height:1!important;
  letter-spacing:.14em!important;
  font-weight:800!important;
  color:#00bad1!important;
}
.hcard h3{
  margin:1.55vw 0 0!important;
  font-size:clamp(13px,.80vw,16px)!important;
  line-height:1.27!important;
  font-weight:760!important;
}
.hcard__img{
  width:82%!important;
  margin:1.65vw auto 0!important;
  border:0!important;
  border-radius:4px!important;
  background:#06141a!important;
  overflow:hidden!important;
}
.hcard:first-child .hcard__img{aspect-ratio:1.52!important}
.hcard:last-child .hcard__img{width:76%!important;aspect-ratio:1.18!important}
.hcard__img img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.hcard ul{
  margin:1.55vw 0 0!important;
  padding:0!important;
  gap:.55vw!important;
}
.hcard li{font-size:clamp(9px,.58vw,11px)!important;gap:.42vw!important;color:rgba(255,255,255,.9)!important}
.hcard li svg{width:13px!important;height:13px!important;stroke:#00c4dc!important}
.scrollhint{display:none!important}

@media (max-width:1100px){
  :root{--exact-nav-h:62px}
  .navlinks{gap:14px!important}
  .navlinks a{font-size:10px!important}
  .hero{height:auto!important;min-height:900px!important;padding-top:var(--exact-nav-h)!important}
  .hero__bg{top:var(--exact-nav-h)!important;background-size:cover!important;background-position:center!important}
  .hero__overlay{inset:var(--exact-nav-h) 0 0!important;background:linear-gradient(90deg,rgba(1,16,22,.98),rgba(1,16,22,.72) 65%,rgba(1,16,22,.28))!important}
  .hero__copy{top:118px!important;left:6%!important;width:48%!important}
  .hero h1{font-size:58px!important}
  .hero__trust{top:500px!important;width:88vw!important}
  .hero__cards{left:52%!important;right:4%!important;top:255px!important;gap:12px!important}
  .hcard{height:565px!important;padding:20px!important}
  .hcard h3{margin-top:20px!important}
  .hcard__img{margin-top:22px!important}
}
@media (max-width:760px){
  .nav__in{width:calc(100% - 24px)!important}
  .brand__id em{display:none!important}
  .navlinks{display:none!important}
  .burger{display:grid!important}
  .hero{min-height:1320px!important;padding-top:var(--exact-nav-h)!important}
  .hero__bg{background-size:auto 620px!important;background-position:62% var(--exact-nav-h)!important}
  .hero__overlay{background:linear-gradient(180deg,rgba(1,16,22,.88),rgba(1,16,22,.96) 46%,#011016 70%)!important}
  .hero__copy{left:24px!important;right:24px!important;top:104px!important;width:auto!important}
  .hero h1{font-size:clamp(48px,14vw,68px)!important}
  .hero__sub{width:100%!important;font-size:15px!important}
  .hero__actions{gap:10px!important;flex-wrap:wrap!important}
  .hero__trust{position:static!important;width:100%!important;margin-top:24px!important;flex-wrap:wrap!important;gap:10px 16px!important}
  .hero__trust li+li{padding-left:0!important;border-left:0!important}
  .hero__cards{left:24px!important;right:24px!important;top:630px!important;display:grid!important;grid-template-columns:1fr!important;gap:16px!important}
  .hcard{height:auto!important;min-height:0!important;padding:22px!important}
  .hcard h3{margin-top:18px!important;font-size:17px!important}
  .hcard__img{margin-top:20px!important;max-width:380px!important}
  .hcard ul{margin-top:20px!important;gap:9px!important}
  .hcard li{font-size:12px!important}
}

@media (min-width: 820px){
  .nav{
    position:absolute!important;
    inset:0 0 auto 0!important;
    height:clamp(56px,7.15vw,72px)!important;
    min-height:0!important;
    background:linear-gradient(180deg,rgba(2,14,19,.90),rgba(2,14,19,.46) 72%,transparent)!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .nav.scrolled{background:rgba(2,14,19,.94)!important;height:clamp(56px,7.15vw,72px)!important}
  .nav::after{display:none!important}
  .nav__in{
    width:93.7%!important;
    max-width:none!important;
    height:100%!important;
    margin:0 auto!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:1.7vw!important;
  }
  .brand{gap:.75vw!important;flex:0 0 auto!important}
  .brand img{height:clamp(39px,4.45vw,56px)!important;width:auto!important}
  .brand__id b{font-size:clamp(14px,1.45vw,18px)!important;letter-spacing:.13em!important;line-height:1!important}
  .brand__id em{display:block!important;font-size:clamp(8px,.80vw,10px)!important;letter-spacing:.09em!important;margin-top:.34vw!important}
  .burger{display:none!important}
  .navlinks{
    position:absolute!important;
    inset:auto 5.55vw auto 26.7vw!important;
    min-height:0!important;
    padding:0!important;
    margin-left:0!important;
    background:transparent!important;
    flex-direction:row!important;
    align-items:center!important;
    gap:clamp(18px,2.45vw,34px)!important;
    transform:none!important;
    overflow:visible!important;
    display:flex!important;
  }
  .navlinks a{
    padding:0!important;
    border:0!important;
    font-size:clamp(9px,.98vw,13px)!important;
    font-weight:600!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .navlinks a:not(.pill)::after{bottom:-.7vw!important;height:1px!important}
  .navlinks .pill{margin-left:auto!important}
  .nav .pill{
    min-height:clamp(29px,3.1vw,39px)!important;
    padding:0 clamp(20px,3.2vw,40px)!important;
    border-radius:5px!important;
    font-size:clamp(8px,.72vw,10px)!important;
    box-shadow:none!important;
  }
  .nav .pill--bright{background:#00a8c2!important;color:#fff!important}
  .lang{border:0!important;background:transparent!important;padding:0!important;font-size:clamp(8px,.75vw,10px)!important;gap:.45vw!important}

  .hero{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:47.1666667vw!important;
    min-height:0!important;
    max-height:none!important;
    padding:0!important;
    overflow:hidden!important;
    background:#03151c!important;
  }
  .hero__bg{
    position:absolute!important;
    inset:0!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }
  .hero__overlay{
    position:absolute!important;
    inset:0!important;
    background:
      linear-gradient(90deg,rgba(1,14,19,.91) 0%,rgba(1,14,19,.72) 33%,rgba(1,14,19,.14) 62%,rgba(1,14,19,.08) 100%),
      linear-gradient(180deg,rgba(1,12,17,.26) 0%,rgba(1,12,17,.04) 48%,rgba(1,12,17,.44) 100%)!important;
  }
  .hero__grid{
    position:static!important;
    width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
  }
  .hero__copy{
    position:absolute!important;
    z-index:3!important;
    left:4.35vw!important;
    top:5.5vw!important;
    width:38.2vw!important;
    max-width:none!important;
  }
  .hero .kicker{
    margin:0 0 2.02vw!important;
    font-size:clamp(8px,.72vw,11px)!important;
    line-height:1!important;
    letter-spacing:.12em!important;
    color:#00b8d1!important;
  }
  .hero h1{
    margin:0!important;
    font-size:4.72vw!important;
    line-height:1.075!important;
    letter-spacing:-.045em!important;
    font-weight:800!important;
  }
  .hero h1 .accent{color:#00a9c5!important}
  .hero__sub{
    width:28.5vw!important;
    max-width:none!important;
    margin:2.35vw 0 0!important;
    font-size:clamp(11px,1.20vw,15px)!important;
    line-height:1.58!important;
    color:rgba(255,255,255,.86)!important;
  }
  .hero__actions{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:1.25vw!important;
    margin-top:2.65vw!important;
  }
  .hero__actions .pill{
    min-height:4.0vw!important;
    padding:0 2.4vw!important;
    border-radius:5px!important;
    font-size:clamp(9px,1.0vw,14px)!important;
    font-weight:780!important;
    box-shadow:none!important;
  }
  .hero__actions .pill--bright{background:#00abc5!important;color:#fff!important}
  .hero__actions .pill--glass{background:rgba(3,18,24,.46)!important;border:1px solid rgba(255,255,255,.72)!important}
  .hero__trust{
    position:absolute!important;
    left:0!important;
    top:29.55vw!important;
    width:38vw!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:0!important;
  }
  .hero__trust li{
    display:flex!important;
    align-items:center!important;
    gap:.55vw!important;
    padding:0 1.45vw!important;
    font-size:clamp(10px,1.02vw,13px)!important;
    line-height:1!important;
    white-space:nowrap!important;
    color:rgba(255,255,255,.9)!important;
  }
  .hero__trust li:first-child{padding-left:0!important}
  .hero__trust li+li{border-left:1px solid rgba(255,255,255,.26)!important}
  .hero__trust svg{width:clamp(12px,1.05vw,15px)!important;height:clamp(12px,1.05vw,15px)!important;stroke:#00c3dc!important}

  .hero__cards{
    position:absolute!important;
    z-index:3!important;
    left:46.78vw!important;
    right:5.12vw!important;
    top:15.28vw!important;
    display:grid!important;
    grid-template-columns:1.095fr 1fr!important;
    gap:2.22vw!important;
    align-items:start!important;
  }
  .hcard{
    min-width:0!important;
    width:auto!important;
    height:31.89vw!important;
    min-height:0!important;
    padding:2.02vw!important;
    border-radius:3px!important;
    background:rgba(2,25,32,.68)!important;
    border:1px solid rgba(0,183,207,.28)!important;
    box-shadow:none!important;
    backdrop-filter:blur(3px)!important;
    -webkit-backdrop-filter:blur(3px)!important;
    overflow:hidden!important;
  }
  .hcard__eyebrow{
    display:block!important;
    font-size:clamp(8px,.78vw,10px)!important;
    line-height:1.13!important;
    letter-spacing:.13em!important;
    font-weight:800!important;
    color:#00bad1!important;
  }
  .hcard h3{
    margin:1.05vw 0 0!important;
    max-width:90%!important;
    font-size:clamp(11px,1.10vw,15px)!important;
    line-height:1.22!important;
    font-weight:760!important;
    color:#fff!important;
  }
  .hcard__img{
    width:80%!important;
    margin:1.72vw auto 0!important;
    border:0!important;
    border-radius:4px!important;
    background:#06141a!important;
    overflow:hidden!important;
  }
  .hcard:first-child .hcard__img{width:98%!important;aspect-ratio:1.45238!important;margin-top:2.00vw!important}
  .hcard:last-child .hcard__img{width:76%!important;aspect-ratio:.91919!important;margin-top:1.95vw!important}
  .hcard__img img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
  .hcard ul{
    margin:1.45vw 0 0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:.66vw!important;
  }
  .hcard li{
    display:flex!important;
    align-items:center!important;
    gap:.52vw!important;
    font-size:clamp(9px,.90vw,13px)!important;
    line-height:1.15!important;
    color:rgba(255,255,255,.91)!important;
    white-space:nowrap!important;
  }
  .hcard li svg{width:clamp(13px,1.15vw,17px)!important;height:clamp(13px,1.15vw,17px)!important;stroke:#00c4dc!important;flex:0 0 auto!important}
  .scrollhint{display:none!important}
}

@media (min-width:820px) and (max-width:980px){
  .navlinks{gap:1.45vw!important}
  .navlinks a{font-size:8px!important}
  .nav .pill{padding:0 20px!important;font-size:9px!important}
  .lang{font-size:8px!important}
}

@media (max-width:819px){
  .nav{position:absolute!important;height:68px!important;background:linear-gradient(180deg,rgba(2,14,19,.92),transparent)!important}
  .nav__in{width:calc(100% - 28px)!important}
  .brand img{height:29px!important}
  .brand__id b{font-size:12px!important}
  .brand__id em{display:block!important;font-size:7px!important}
  .navlinks{display:none!important}
  .navlinks.open{display:flex!important}
  .burger{display:grid!important}
  .hero{height:auto!important;min-height:1180px!important;padding:0!important}
  .hero__bg{inset:0!important;background-position:60% top!important;background-size:auto 620px!important}
  .hero__overlay{inset:0!important;background:linear-gradient(180deg,rgba(1,15,21,.48),rgba(1,15,21,.95) 47%,#011016 72%)!important}
  .hero__grid{position:relative!important;width:100%!important;padding:0!important;display:block!important}
  .hero__copy{position:absolute!important;left:24px!important;right:24px!important;top:104px!important;width:auto!important}
  .hero h1{font-size:clamp(48px,13vw,66px)!important}
  .hero__sub{width:auto!important;max-width:520px!important;font-size:15px!important}
  .hero__trust{position:static!important;width:auto!important;margin-top:24px!important;flex-wrap:wrap!important;gap:12px 18px!important}
  .hero__trust li{padding:0!important;border:0!important}
  .hero__cards{position:absolute!important;left:24px!important;right:24px!important;top:635px!important;display:grid!important;grid-template-columns:1fr!important;gap:16px!important}
  .hcard{height:auto!important;min-height:0!important;padding:22px!important}
  .hcard__img{max-width:360px!important}
}

@media (min-width:820px){
  .hcard:first-child ul{margin-top:3.15vw!important}
  .hcard:last-child ul{margin-top:2.35vw!important}
}

.hero{
  background:
    radial-gradient(circle at 78% 28%,rgba(0,184,209,.10),transparent 35%),
    linear-gradient(145deg,#041b24 0%,#03151c 58%,#020e13 100%)!important;
}
.hero__bg{display:none!important;background-image:none!important}
.hero__overlay{
  background:
    linear-gradient(90deg,rgba(1,14,19,.42) 0%,rgba(1,14,19,.18) 48%,rgba(1,14,19,.08) 100%),
    linear-gradient(180deg,rgba(1,12,17,.08) 0%,rgba(1,12,17,.02) 54%,rgba(1,12,17,.30) 100%)!important;
}

@media (min-width:820px){
  .hero__copy{
    top:auto!important;
    bottom:2.02vw!important;
  }
  .hero__trust{
    position:static!important;
    left:auto!important;
    top:auto!important;
    width:38vw!important;
    margin:2.15vw 0 0!important;
  }
}

@media (max-width:819px){
  .hero__overlay{
    background:
      radial-gradient(circle at 78% 14%,rgba(0,184,209,.12),transparent 30%),
      linear-gradient(180deg,rgba(1,15,21,.20),rgba(1,15,21,.82) 54%,#011016 78%)!important;
  }
}

.hero {
  background:#03151c !important;
}
.hero__bg {
  display:block !important;
  opacity:1 !important;
  background-image:url("assets/hero-bg-final.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
.hero__overlay {
  background:
    linear-gradient(90deg,rgba(1,14,19,.74) 0%,rgba(1,14,19,.48) 34%,rgba(1,14,19,.12) 68%,rgba(1,14,19,.04) 100%),
    linear-gradient(180deg,rgba(1,12,17,.10) 0%,rgba(1,12,17,.02) 55%,rgba(1,12,17,.28) 100%) !important;
}
@media (max-width:819px) {
  .hero__bg {
    background-position:56% top !important;
    background-size:auto 620px !important;
  }
}

text{font-family:'Avenir Next','Segoe UI',system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}

/* ---- FIX MOBILE ROBUSTE (15/07) ----
   Les règles ci-dessus positionnent le hero mobile en absolute avec des
   "top" fixes en pixels (104px, 630px, 635px...). Ça casse dès que le texte
   (police de secours, zoom, traduction) prend plus ou moins de place que
   prévu : copy et cartes produit se chevauchent. On repasse ces blocs en
   flux normal pour un mobile qui s'adapte toujours, quel que soit le
   contenu réel. Le desktop (≥820px) n'est pas touché. */
@media (max-width:819px){
  .hero{height:auto!important;min-height:0!important;padding:calc(var(--exact-nav-h) + 28px) 0 40px!important}
  .hero__grid{position:relative!important}
  .hero__copy{position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;padding:0 24px!important}
  .hero__trust{position:static!important;left:auto!important;top:auto!important;width:auto!important;margin:22px 24px 0!important}
  .hero__cards{position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:16px!important;margin:28px 24px 0!important}
  .hcard{height:auto!important;min-height:0!important;padding:22px!important}
  .hcard__img{margin-top:18px!important;max-width:100%!important}
}
@media (max-width:819px){
  .hero{max-height:none!important;overflow:visible!important}
}

/* Le dashboard SVG de la section "story" est en position:absolute avec une
   largeur de 118vw sur mobile : il déborde sur le texte "01 · Voir" au lieu
   de rester en arrière-plan discret. On le pousse hors de la colonne de
   texte et on réduit son opacité pour qu'il reste un fond, pas un obstacle. */
@media(max-width:1100px){
  .story__track{height:auto!important}
  .story__sticky{
    position:static!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    padding:70px 22px 56px!important;
  }
  .story__bg,.story__grid{position:absolute!important;inset:0!important}
  .story__copy,.story__copy--right{display:none!important}
  .story__copy[data-step="0"]{
    display:block!important;
    position:static!important;
    opacity:1!important;
    transform:none!important;
    width:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    text-align:left!important;
    order:1!important;
    margin-bottom:24px!important;
  }
  .story__device{
    display:block!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:420px!important;
    margin:0 auto 26px!important;
    opacity:1!important;
    order:2!important;
    filter:drop-shadow(0 20px 45px rgba(0,0,0,.4))!important;
  }
  .story__hud{
    position:static!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    order:3!important;
  }
  .hudset{display:none!important;position:static!important;pointer-events:auto!important}
  .hudset[data-hudstep="0"]{
    display:flex!important;
    flex-wrap:wrap;
    gap:12px!important;
    opacity:1!important;
  }
  .hudcard{flex:1 1 45%!important;max-width:none!important}
}

/* ---- FIX menu mobile plein écran : plusieurs règles pensées pour le nav
   desktop compact (11px/10px/8px !important) s'appliquaient aussi au menu
   mobile ouvert, le rendant illisible. On force une taille confortable,
   uniquement quand le menu est ouvert en plein écran (<1100px). ---- */
@media(max-width:1100px){
  .navlinks.open a{
    font-size:1.1rem!important;
    font-weight:700!important;
    white-space:normal!important;
    padding:16px 0!important;
  }
}