/* Tractafric Motors Corporation · feuille de style des sites institutionnels (piste A2 « Horizon ») */
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../fonts/tmc/archivo-latin-wdth-normal.woff2) format('woff2')}

:root{
  --navy:#0D2436; --navy2:#0A1C2A; --blue:#19BFEF; --gold:#FBA702; --mist:#EEF3F6;
  --muted:#4F6273; --link:#0A6F95; --line:#D5DEE5; --ice:#DDF4FC;
  --wrap:1280px; --pad:40px; --skew:-12deg; --unskew:12deg;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:'Archivo',system-ui,sans-serif;font-size:17px;line-height:1.55;color:var(--navy);background:#fff;-webkit-font-smoothing:antialiased}
body.is-locked{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);width:100%}
.icon{width:1em;height:1em;stroke-width:1.8;flex:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Typo */
.disp{font-weight:500;font-stretch:118%;letter-spacing:-.025em;line-height:1.02}
.h2{margin:0;font-size:clamp(34px,4.1vw,58px)}
.lead{color:var(--muted);max-width:50ch;margin:0}
.kicker{font-size:14px;font-weight:600;color:var(--blue)}
.tick{display:inline-block;width:30px;height:9px;background:var(--blue);transform:skewX(var(--skew))}
.tick--gold{background:var(--gold)}

/* Boutons inclinés */
.sl{display:inline-flex;align-items:center;min-height:52px;padding:0 26px;transform:skewX(var(--skew));font-weight:600;font-size:15.5px;border:0;cursor:pointer;transition:transform .25s var(--ease),background .25s,color .25s}
.sl>span{display:inline-flex;align-items:center;gap:10px;transform:skewX(var(--unskew))}
.sl .icon{width:18px;height:18px}
.sl:hover{transform:skewX(var(--skew)) translateX(3px)}
.sl--blue{background:var(--blue);color:var(--navy)}
.sl--navy{background:var(--navy);color:#fff}
.sl--white{background:#fff;color:var(--navy)}
.sl--ghost{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.8);color:#fff}
.sl--ghost-dark{box-shadow:inset 0 0 0 1.5px var(--navy);color:var(--navy);background:#fff}
.sl-row{display:flex;gap:14px;flex-wrap:wrap;padding-left:8px}

/* Top bar Tractafric Motors (commune à tous les sites) */
.tb{background:var(--navy2);color:#D3DEE6;font-size:13px;position:relative;z-index:60}
.tb .wrap{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:16px}
.tb__brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:600}
.tb__brand img{height:16px;width:auto}
.tb__links{display:flex;gap:22px;align-items:center}
.tb__links a,.tb__links button{display:inline-flex;gap:6px;align-items:center;background:none;border:0;cursor:pointer;padding:0;color:inherit;font-size:13px}
.tb__links .icon{width:14px;height:14px}
.cs{position:relative}
.cs__menu{position:absolute;right:0;top:calc(100% + 10px);background:#fff;color:var(--navy);min-width:240px;padding:8px 0;box-shadow:0 24px 40px -20px rgba(13,36,54,.5);display:none;z-index:80}
.cs.is-open .cs__menu{display:block}
.cs__menu a{display:flex;justify-content:space-between;padding:10px 18px;font-size:14px}
.cs__menu a:hover{background:var(--mist)}
.cs__menu small{color:var(--muted)}

/* Header */
.hd{position:relative;z-index:50;color:var(--navy);background:#fff;border-bottom:1px solid var(--line)}
.hd .wrap{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:24px}
.hd__logo img{height:38px;width:auto}
.hd__logo .on-dark{display:none}
.hd__nav{display:flex;gap:28px;align-items:center;font-size:15px;font-weight:500}
.hd__links{display:flex;gap:28px}
.hd__links a{position:relative;padding:6px 0}
.hd__links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.hd__links a:hover::after,.hd__links a[aria-current]::after{transform:scaleX(1)}
.hd__lang{display:inline-flex;gap:8px;font-size:14px}
.hd__lang b{font-weight:700}
.hd__lang span{opacity:.5}
.hd__icon{background:none;border:0;cursor:pointer;display:inline-flex;padding:4px}
.hd__icon .icon{width:19px;height:19px}
.hd__explore{min-height:46px;padding:0 20px;font-weight:700}
.hd__burger{display:none;width:46px;height:46px;align-items:center;justify-content:center;background:none;border:1px solid var(--line);cursor:pointer}
.hd__burger .icon{width:20px;height:20px}
/* header en surimpression (home) */
.hd--over{position:absolute;left:0;right:0;top:38px;background:transparent;color:#fff;border-bottom:1px solid rgba(255,255,255,.25)}
.hd--over .hd__logo .on-light{display:none}
.hd--over .hd__logo .on-dark{display:block}
.hd--over .hd__burger{border-color:rgba(255,255,255,.4)}
/* header fixe au défilement */
.hd.is-fixed{position:fixed;top:0;left:0;right:0;background:var(--navy);color:#fff;border-bottom:0;animation:hdIn .35s var(--ease)}
.hd.is-fixed .wrap{min-height:72px}
.hd.is-fixed .hd__logo .on-light{display:none}
.hd.is-fixed .hd__logo .on-dark{display:block}
.hd.is-fixed .hd__logo img{height:32px}
@keyframes hdIn{from{transform:translateY(-100%)}to{transform:none}}

/* Hero slider */
.hero{position:relative;min-height:max(720px,100svh);max-height:980px;color:#fff;overflow:hidden;display:flex;flex-direction:column;background:var(--navy)}
.hero__slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease}
.hero__slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 7s linear}
.hero__slide.is-active{opacity:1}
.hero__slide.is-active img{transform:scale(1)}
.hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,26,40,.72) 0%,rgba(8,26,40,.3) 52%,rgba(8,26,40,0) 75%),linear-gradient(0deg,rgba(8,26,40,.7) 0%,rgba(8,26,40,0) 34%)}
.hero__veil{position:absolute;inset:0;background:rgba(8,26,40,0);transition:background 1s ease}
.hero__body{position:relative;flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-top:180px;padding-bottom:70px}
.hero__text{transition:opacity .45s ease,transform .45s ease}
.hero__text.is-out{opacity:0;transform:translateY(12px)}
.hero h1{margin:16px 0 0;font-size:clamp(44px,6.2vw,92px);max-width:12ch}
.hero__lead{margin:26px 0 36px;font-size:19px;max-width:46ch;color:#E3ECF2}
.hero__ctrl{position:absolute;right:var(--pad);bottom:70px;display:flex;align-items:center;gap:18px}
.hero__count{font-size:14px;font-weight:600;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.hero__dots{display:inline-flex;gap:6px}
.hero__dots button{width:18px;height:6px;border:0;padding:0;cursor:pointer;transform:skewX(var(--skew));background:rgba(255,255,255,.5);transition:width .35s var(--ease),background .35s}
.hero__dots button[aria-current="true"]{width:40px;background:var(--blue)}
.hero__arrow{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transform:skewX(var(--skew));border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;transition:background .2s}
.hero__arrow span{display:inline-flex;transform:skewX(var(--unskew))}
.hero__arrow--next{background:var(--blue);color:var(--navy);border-color:var(--blue)}
.hero__arrow:hover{background:rgba(255,255,255,.12)}
.hero__arrow--next:hover{background:#4dd0f5}
.horizon{position:relative;border-bottom:3px solid var(--blue)}
.horizon .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 1.2fr;align-items:end;padding-bottom:26px}
.fig{padding:0 22px;border-left:1px solid rgba(255,255,255,.35)}
.fig:first-child{padding-left:0;border-left:0}
.fig b{display:block;font-weight:400;font-stretch:118%;font-size:64px;line-height:1;letter-spacing:-.04em}
.fig span{font-size:15px;color:#DCE7EE}
.horizon__src{font-size:12.5px;color:#C4D3DD;text-align:right}

/* Finder */
.finder{background:#fff;padding-bottom:20px}
.finder form{background:var(--navy);color:#fff;padding:22px 28px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;clip-path:polygon(0 0,100% 0,100% calc(100% - 26px),calc(100% - 26px) 100%,0 100%)}
.finder__intro{flex:1 1 220px;align-self:center}
.finder__intro b{display:block;font-weight:600;font-size:20px}
.finder__intro span{font-size:14px;color:#AEBDC9}
.finder label{flex:1 1 200px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:#C3CFD8}
.finder select{height:50px;padding:0 12px;border:0;background:#fff;color:var(--navy);font-weight:600;font-size:16px;font-family:inherit}
.finder .sl{min-height:50px}

/* Statement */
.statement{padding:100px 0 110px}
.statement .wrap{display:flex;flex-wrap:wrap;gap:40px 80px;align-items:flex-start}
.statement__h{flex:1 1 420px}
.statement__h .h2{max-width:12ch}
.statement__body{flex:1 1 460px;border-left:3px solid var(--blue);padding-left:32px}
.statement__body p{margin:0 0 16px;color:var(--muted)}
.statement__group{display:inline-flex;align-items:center;gap:12px;font-size:14px;color:var(--muted)}
.statement__group img{height:24px;width:auto}
.statement__ctas{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}

/* Section head */
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 60px;flex-wrap:wrap;margin-bottom:48px}

/* Lames d'activités */
.lines{background:var(--mist);padding:100px 0 110px}
.blades{display:flex;gap:12px;padding:0 44px;height:500px}
.blade{position:relative;flex:1 1 0;min-width:0;padding:0;border:0;cursor:pointer;transform:skewX(var(--skew));overflow:hidden;background:var(--navy);color:#fff;transition:flex .7s var(--ease)}
.blade.is-open{flex:3.4 1 0;cursor:default}
.blade>img{position:absolute;top:0;bottom:0;left:-110px;width:calc(100% + 220px);max-width:none;height:100%;object-fit:cover;transform:skewX(var(--unskew)) scale(1.08);transition:transform .9s var(--ease)}
.blade.is-open>img,.blade:hover>img{transform:skewX(var(--unskew)) scale(1)}
.blade__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,28,42,.92) 0%,rgba(10,28,42,.25) 55%,rgba(10,28,42,.25) 100%);transition:background .6s}
.blade.is-open .blade__shade{background:linear-gradient(0deg,rgba(10,28,42,.92) 0%,rgba(10,28,42,.35) 55%,rgba(10,28,42,0) 100%)}
.blade__label{position:absolute;left:34px;right:14px;bottom:30px;transform:skewX(var(--unskew));font-weight:600;font-size:16px;line-height:1.15;text-align:left;transition:opacity .3s}
.blade__plus{position:absolute;right:26px;top:22px;transform:skewX(var(--unskew));width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--navy);transition:opacity .3s}
.blade__plus .icon{width:18px;height:18px}
.blade__content{position:absolute;left:70px;right:40px;bottom:34px;transform:skewX(var(--unskew));display:flex;flex-direction:column;gap:12px;text-align:left;opacity:0;visibility:hidden;transition:opacity .35s .25s}
.blade.is-open .blade__content{opacity:1;visibility:visible}
.blade.is-open .blade__label,.blade.is-open .blade__plus{opacity:0}
.blade__content h3{margin:0;font-size:34px}
.blade__content p{margin:0;font-size:15.5px;line-height:1.5;color:#D9E2E8;max-width:40ch}
.blade__logos{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;margin-top:8px}
.blade__logos img{height:22px;width:auto;max-width:90px}
.blade__cta{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-weight:700;font-size:15px}
.blade__cta .icon{width:17px;height:17px;transition:transform .25s}
.blade__cta:hover .icon{transform:translateX(4px)}

/* Explore by (section) */
.xs{background:var(--navy);color:#fff;padding:100px 0 110px}
.xs .lead{color:#C3CFD8}
.tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,.18)}
.tabs button{border:0;min-height:60px;padding:0 30px;cursor:pointer;background:transparent;color:#AEBDC9;font-weight:600;font-size:17px;display:inline-flex;gap:10px;align-items:center;transition:color .2s,box-shadow .2s}
.tabs button .icon{width:18px;height:18px}
.tabs button[aria-selected="true"]{color:#fff;box-shadow:inset 0 -4px 0 var(--blue)}
.xs__grid{display:flex;flex-wrap:wrap}
.xs__list{flex:1 1 260px;padding:22px 0;border-right:1px solid rgba(255,255,255,.12);max-height:520px;overflow-y:auto}
.xs__list button{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:46px;padding:0 24px 0 0;border:0;background:transparent;cursor:pointer;font-size:16px;text-align:left;font-weight:500;color:#C3CFD8;transition:padding .25s,color .25s}
.xs__list button:hover{padding-left:8px;color:#fff}
.xs__list button[aria-pressed="true"]{color:#fff;font-weight:700}
.xs__list button .t{display:inline-flex;gap:12px;align-items:center}
.xs__list button .tick{display:none}
.xs__list button[aria-pressed="true"] .tick{display:inline-block}
.xs__list small{font-size:13px;color:#8FA2B1}
.xs__panel{flex:999 1 520px;min-width:0;padding:30px 0 0 40px}
.xs__head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.xs__head h3{margin:0;font-size:34px}
.xs__head span{font-size:14px;color:#AEBDC9}
.ecards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.ecard{background:#fff;color:var(--navy);padding:24px;display:flex;flex-direction:column;gap:18px;clip-path:polygon(0 0,100% 0,100% calc(100% - 26px),calc(100% - 26px) 100%,0 100%);transition:transform .3s var(--ease)}
.ecard:hover{transform:translateY(-4px)}
.ecard__name{display:block;font-weight:700;font-size:18px}
.ecard__place{font-size:14px;color:var(--muted)}
.ecard__logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ecard__site{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--link)}
.lcell{display:flex;align-items:center;justify-content:center;height:64px;background:var(--mist);transition:background .25s}
.lcell img{max-height:26px;max-width:78%;width:auto;transition:transform .3s}
a.lcell:hover,.ecard:hover .lcell{background:var(--ice)}
a.lcell:hover img{transform:scale(1.08)}
.fade-in{animation:fadeIn .4s ease both}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Réseau */
.net{background:var(--mist);padding:110px 0}
.net .wrap{display:flex;flex-wrap:wrap;gap:40px 60px;align-items:center}
.net__text{flex:1 1 400px}
.net__text .h2{margin-bottom:22px}
.net__text .lead{margin-bottom:30px}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px;padding-left:6px}
.chips button{min-height:42px;padding:0 18px;border:0;transform:skewX(var(--skew));cursor:pointer;font-weight:600;font-size:14.5px;background:#fff;color:var(--navy);transition:background .2s,color .2s}
.chips button span{display:inline-block;transform:skewX(var(--unskew))}
.chips button[aria-pressed="true"]{background:var(--navy);color:#fff}
.subs{list-style:none;margin:0 0 32px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 28px;min-height:280px;align-content:start}
.subs li{border-top:1px solid var(--line)}
.subs a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;transition:padding .25s,color .25s}
.subs a:hover{padding-left:8px;color:var(--link)}
.subs small{display:block;font-size:12.5px;color:var(--link);font-weight:600}
.subs b{font-weight:600;font-size:15px}
.net__map{flex:1 1 460px;position:relative;display:flex;justify-content:center}
.net__map img{width:100%;max-width:560px;height:auto}
.net__figs{position:absolute;right:0;bottom:40px;display:flex;flex-direction:column;gap:10px}
.net__figs div{background:#fff;transform:skewX(var(--skew));padding:12px 22px}
.net__figs div>span{display:block;transform:skewX(var(--unskew))}
.net__figs b{display:block;font-weight:500;font-stretch:118%;font-size:40px;line-height:1;letter-spacing:-.04em}
.net__figs small{font-size:13px;color:var(--muted)}

/* Marques */
.brands{padding:110px 0}
.bgroup{display:flex;flex-wrap:wrap;gap:18px 40px;align-items:flex-start;padding:28px 0;border-top:1px solid var(--line)}
.bgroup__name{flex:0 0 220px;display:flex;flex-direction:column;gap:10px;font-weight:600;font-size:18px}
.bgroup__logos{flex:1 1 600px;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.bgroup__logos .lcell{height:92px}
.bgroup__logos .lcell img{max-height:32px;max-width:74%}

/* Actualités */
.news{background:var(--mist);padding:100px 0}
.ncards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ncard{display:flex;flex-direction:column;background:#fff;overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),calc(100% - 30px) 100%,0 100%);transition:transform .3s var(--ease)}
.ncard:hover{transform:translateY(-4px)}
.ncard__img{overflow:hidden;clip-path:polygon(0 0,100% 0,100% 86%,0 100%)}
.ncard__img img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .7s var(--ease)}
.ncard:hover .ncard__img img{transform:scale(1.05)}
.ncard__meta{padding:6px 24px 0;display:flex;gap:10px;align-items:center;font-size:13.5px;color:var(--muted)}
.ncard__title{padding:10px 24px 34px;font-weight:600;font-size:21px;line-height:1.25;letter-spacing:-.015em}
.more{display:inline-flex;gap:8px;align-items:center;font-weight:600;color:var(--link)}
.more .icon{width:18px;height:18px;transition:transform .25s}
.more:hover .icon{transform:translateX(4px)}

/* Carrières */
.careers{padding:120px 0 130px}
.careers .wrap{display:flex;flex-wrap:wrap;gap:50px 70px;align-items:center}
.careers__text{flex:1 1 380px}
.careers__text .h2{margin-bottom:22px;max-width:10ch}
.careers__note{display:flex;gap:10px;align-items:flex-start;font-size:15px;max-width:44ch;margin:0 0 32px}
.careers__note .icon{color:var(--link);width:18px;height:18px;margin-top:3px}
.slices{flex:1 1 560px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;height:470px;padding:0 44px}
.slices div{position:relative;transform:skewX(var(--skew));overflow:hidden;margin-bottom:50px}
.slices div:nth-child(2){margin:50px 0 0}
.slices img{position:absolute;top:0;bottom:0;left:-80px;width:calc(100% + 160px);max-width:none;height:100%;object-fit:cover;transform:skewX(var(--unskew));transition:transform .8s var(--ease)}
.slices div:hover img{transform:skewX(var(--unskew)) scale(1.05)}

/* Footer commun */
.ft{position:relative;background:var(--navy2);color:#C3CFD8;font-size:15px}
.ft::before{content:"";position:absolute;left:0;top:0;width:34%;height:6px;background:var(--blue);clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.ft::after{content:"";position:absolute;left:34%;top:0;width:8%;height:6px;background:var(--gold);clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}
.ft .wrap{padding-top:76px;padding-bottom:40px}
.ft__cols{display:flex;flex-wrap:wrap;gap:44px 56px}
.ft__brand{flex:1 1 250px;display:flex;flex-direction:column;gap:18px}
.ft__brand>img{height:40px;width:auto;align-self:flex-start}
.ft__brand a{display:inline-flex;align-items:center;gap:12px;align-self:flex-start}
.ft__brand a img{height:28px;width:auto}
.ft__col{flex:1 1 150px}
.ft__col--wide{flex:1 1 260px}
.ft__col h4{color:#fff;font-weight:600;margin:0 0 14px;font-size:15px}
.ft__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.ft__col a{transition:color .2s}
.ft__col a:hover{color:#fff}
.ft__logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ft__logos a{display:flex;align-items:center;height:46px;padding:0 14px;border:1px solid rgba(255,255,255,.14);transition:border-color .2s,background .2s}
.ft__logos a:hover{border-color:var(--blue);background:rgba(25,191,239,.08)}
.ft__logos img{height:22px;width:auto;max-width:100px}
.ft__bottom{display:flex;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.16);margin-top:56px;padding-top:24px;font-size:13.5px}
.ft__bottom nav{display:flex;gap:22px;flex-wrap:wrap;align-items:center}

/* Explore by ouvert (overlay) */
.xo{position:fixed;inset:0;z-index:100;display:none}
.xo.is-open{display:block}
.xo__bg{position:absolute;inset:0;background:rgba(8,26,40,.72);animation:fadeOnly .3s ease}
.xo__panel{position:absolute;left:50%;top:24px;bottom:24px;width:min(1360px,calc(100% - 48px));transform:translateX(-50%);background:#fff;color:var(--navy);display:flex;clip-path:polygon(0 0,100% 0,100% calc(100% - 34px),calc(100% - 34px) 100%,0 100%);animation:panelIn .45s var(--ease)}
@keyframes fadeOnly{from{opacity:0}to{opacity:1}}
@keyframes panelIn{from{opacity:0;transform:translate(-50%,-16px)}to{opacity:1;transform:translate(-50%,0)}}
.xo__dims{width:290px;flex:none;background:var(--mist);padding:30px 28px;display:flex;flex-direction:column;gap:10px}
.xo__title{font-size:30px;margin:0}
.xo__dims p{margin:0 0 14px;font-size:14px;color:var(--muted)}
.xo__dim{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:64px;padding:0 18px;border:0;cursor:pointer;transform:skewX(-6deg);background:#fff;color:var(--navy);text-align:left;transition:background .2s,color .2s}
.xo__dim>span{transform:skewX(6deg);display:flex;flex-direction:column;gap:2px}
.xo__dim small{font-size:13px;font-weight:600;opacity:.75}
.xo__dim b{font-size:17px}
.xo__dim[aria-selected="true"]{background:var(--navy);color:#fff;box-shadow:inset 4px 0 0 var(--blue)}
.xo__clear{align-self:flex-start;border:0;background:transparent;color:var(--link);font-weight:700;font-size:14px;cursor:pointer;padding:6px 0;margin-top:6px}
.xo__note{margin:auto 0 0!important;font-size:12px!important}
.xo__opts{width:330px;flex:none;border-right:1px solid var(--line);padding:30px 22px;overflow-y:auto}
.xo__opts h3{font-size:13px;font-weight:600;color:var(--muted);margin:0 6px 12px}
.xo__opt{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:0 14px;margin-bottom:4px;border:0;text-align:left;font-size:15.5px;font-weight:500;cursor:pointer;background:transparent;color:var(--navy);transition:background .2s,transform .2s}
.xo__opt:hover:not([disabled]){transform:translateX(4px);background:var(--mist)}
.xo__opt[aria-pressed="true"]{background:var(--blue);font-weight:700}
.xo__opt[disabled]{opacity:.38;cursor:default}
.xo__opt .t{display:inline-flex;align-items:center;gap:12px}
.xo__opt .lg{width:64px;height:30px;display:inline-flex;align-items:center;justify-content:center}
.xo__opt .lg img{max-height:26px;max-width:60px;width:auto}
.xo__opt small{font-size:13px;font-weight:600;opacity:.7}
.xo__res{flex:1;min-width:0;padding:30px 34px;overflow-y:auto}
.xo__reshead{display:flex;justify-content:flex-start;align-items:center;gap:16px 24px;margin-bottom:18px;flex-wrap:wrap;padding-right:170px;min-height:56px}
.xo__reshead h3{margin:0;font-size:26px}
.xo__chips{display:flex;gap:8px;flex-wrap:wrap}
.xo__chips button{border:0;cursor:pointer;transform:skewX(var(--skew));background:var(--navy);color:#fff;height:34px;padding:0 14px;font-weight:600;font-size:13px}
.xo__chips button span{display:inline-block;transform:skewX(var(--unskew))}
.xo__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rcard{display:flex;flex-direction:column;gap:14px;border:1px solid var(--line);padding:20px 22px;background:#fff;transition:transform .25s var(--ease),box-shadow .25s}
.rcard:hover{transform:translateY(-3px);box-shadow:0 18px 30px -22px rgba(13,36,54,.55)}
.rcard__top{display:flex;flex-direction:column;gap:6px}
.rcard__top b{display:block;font-size:17px}
.rcard__top small{font-size:13.5px;color:var(--muted)}
.rcard__site{font-size:12.5px;font-weight:700;color:var(--link);white-space:nowrap}
.rcard__tags{display:flex;flex-wrap:wrap;gap:6px}
.rcard__tags span{font-size:12px;font-weight:600;padding:4px 10px;background:var(--mist)}
.rcard__logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.rcard__logos span{display:flex;align-items:center;justify-content:center;height:46px;background:var(--mist);transition:opacity .2s}
.rcard__logos span.is-hit{background:var(--ice);box-shadow:inset 0 0 0 2px var(--blue)}
.rcard__logos span.is-dim{opacity:.45}
.rcard__logos img{max-height:22px;max-width:78%;width:auto}
.xo__close{position:absolute;right:28px;top:24px;z-index:2}

/* Menu mobile */
.mm{position:fixed;inset:0;z-index:110;background:var(--navy);color:#fff;display:none;flex-direction:column}
.mm.is-open{display:flex;animation:fadeOnly .25s ease}
.mm__top{display:flex;justify-content:space-between;align-items:center;height:70px;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.14)}
.mm__top img{height:30px;width:auto}
.mm__close{width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--blue);color:var(--navy);transform:skewX(var(--skew));border:0;cursor:pointer}
.mm__close span{display:inline-flex;transform:skewX(var(--unskew))}
.mm__body{flex:1;overflow-y:auto;padding:18px 20px 24px}
.mm__search{display:flex;align-items:center;gap:10px;height:50px;padding:0 14px;background:rgba(255,255,255,.08);color:#AEBDC9}
.mm__search input{flex:1;min-width:0;border:0;background:transparent;color:#fff;font:inherit;outline:none}
.mm__label{margin:24px 0 10px;font-size:13px;font-weight:600;color:var(--blue)}
.mm__grp{border-bottom:1px solid rgba(255,255,255,.12)}
.mm__grp>button{width:100%;display:flex;justify-content:space-between;align-items:center;min-height:58px;padding:0;border:0;background:transparent;color:#fff;font-size:21px;font-weight:500;font-stretch:118%;letter-spacing:-.02em;cursor:pointer}
.mm__grp>button .icon{transition:transform .25s}
.mm__grp.is-open>button .icon{transform:rotate(90deg)}
.mm__items{display:none;flex-wrap:wrap;gap:8px;padding:2px 0 18px}
.mm__grp.is-open .mm__items{display:flex}
.mm__items a,.mm__items button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;background:rgba(255,255,255,.08);font-size:14.5px;font-weight:600;border:0;color:#fff;cursor:pointer}
.mm__items img{height:18px;width:auto;max-width:70px}
.mm__nav{display:flex;flex-direction:column;margin-top:18px}
.mm__nav a{display:flex;justify-content:space-between;align-items:center;min-height:48px;font-size:16.5px;font-weight:500;color:#D3DEE6}
.mm__foot{padding:16px 20px 22px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;align-items:center;gap:12px}

/* Responsive */
@media (max-width:1180px){
  .hd__links{gap:20px}.hd__nav{gap:20px}
  .blades{padding:0 30px}
}
@media (max-width:1020px){
  .hd__links,.hd__lang,.hd__search,.hd__explore{display:none}
  .hd__burger{display:inline-flex}
  .xo__panel{flex-direction:column;overflow-y:auto}
  .xo__dims,.xo__opts{width:auto}
  .xo__opts{border-right:0;border-bottom:1px solid var(--line);max-height:none}
  .xo__res{overflow:visible}
}
@media (max-width:760px){
  :root{--pad:20px}
  body{font-size:16px}
  .tb__links .tb__portal{display:none}
  .hd .wrap{min-height:70px}
  .hd__logo img{height:30px}
  .hero{min-height:680px;height:92svh}
  .hero__body{padding-top:130px;padding-bottom:120px}
  .hero__lead{font-size:16.5px;margin:18px 0 26px}
  .hero__ctrl{position:static;margin-top:26px}
  .hero .sl-row .sl--ghost{display:none}
  .horizon .wrap{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fig{padding:0 12px}.fig b{font-size:40px}.fig span{font-size:13px}
  .horizon__src{grid-column:1/-1;text-align:left;padding-top:12px}
  .hero__body{padding-bottom:40px}
  .hero{height:auto;min-height:0;max-height:none}
  .hero__body{padding-top:150px}
  .finder form{padding:20px}
  .finder .sl{width:100%;justify-content:center}
  .statement,.lines,.xs,.net,.brands,.news{padding:70px 0}
  .careers{padding:70px 0 80px}
  .statement__body{padding-left:20px}
  .blades{flex-direction:column;height:auto;padding:0;gap:10px}
  .blade{transform:none;flex:none;height:96px;clip-path:polygon(0 0,100% 0,100% 100%,18px 100%)}
  .blade.is-open{height:420px;flex:none}
  .blade>img,.blade.is-open>img,.blade:hover>img{left:0;width:100%;transform:none}
  .blade__label{transform:none;left:20px;bottom:auto;top:50%;margin-top:-10px;font-size:18px}
  .blade__plus{transform:none;top:50%;margin-top:-19px;right:16px}
  .blade__content{transform:none;left:20px;right:20px;bottom:24px}
  .blade__content h3{font-size:28px}
  .xs__list{flex:1 1 100%;max-height:none;display:flex;gap:8px;overflow-x:auto;padding:16px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .xs__list button{width:auto;flex:none;min-height:42px;padding:0 14px;background:rgba(255,255,255,.08);white-space:nowrap}
  .xs__list button:hover{padding-left:14px}
  .xs__list button[aria-pressed="true"]{background:var(--blue);color:var(--navy)}
  .xs__list button .tick,.xs__list button[aria-pressed="true"] .tick{display:none}
  .xs__panel{padding:24px 0 0}
  .tabs{flex-wrap:nowrap;overflow-x:auto}
  .tabs button{padding:0 16px;font-size:15px;white-space:nowrap;flex:none}
  .ecards{grid-template-columns:1fr}
  .net__figs{position:static;flex-direction:row;margin-top:14px}
  .net__map{flex-direction:column;align-items:center}
  .bgroup__name{flex:1 1 100%}
  .bgroup__logos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bgroup__logos .lcell{height:72px}
  .ncards{grid-template-columns:1fr}
  .slices{flex:1 1 100%;height:300px;padding:0 24px}
  .xo__panel{top:0;bottom:0;width:100%;clip-path:none}
  .xo__grid{grid-template-columns:1fr}
  .xo__reshead{padding-right:0}
  .xo__close{position:fixed;right:16px;top:12px}
  .ft__col--wide{flex-basis:100%}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

/* ===================== Pages intérieures ===================== */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13.5px;color:var(--muted);margin-bottom:22px}
.crumbs a:hover{color:var(--link)}
.crumbs span[aria-current]{color:var(--navy);font-weight:600}
.phero{position:relative;background:#fff;overflow:hidden}
.phero__grid{display:flex;flex-wrap:wrap;align-items:stretch;min-height:540px}
.phero__text{flex:1 1 520px;display:flex;flex-direction:column;justify-content:center;padding:64px 40px 72px max(var(--pad),calc((100vw - var(--wrap))/2 + var(--pad)))}
.phero__text h1{margin:0;font-size:clamp(40px,5vw,72px);max-width:13ch}
.phero__text .lead{margin-top:22px;font-size:18.5px}
.phero__text .sl-row{margin-top:32px}
.phero__media{flex:1 1 520px;position:relative;min-height:380px}
.phero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}
.phero__band{position:absolute;left:3%;top:50px;bottom:-30px;width:22%;background:var(--blue);clip-path:polygon(52% 0,100% 0,48% 100%,0 100%)}
.phero__tag{position:absolute;left:12%;bottom:34px;display:flex;background:#fff;transform:skewX(var(--skew));box-shadow:0 24px 40px -24px rgba(13,36,54,.45)}
.phero__tag div{padding:14px 24px}
.phero__tag div+div{border-left:1px solid var(--line)}
.phero__tag div>span{display:block;transform:skewX(var(--unskew))}
.phero__tag b{display:block;font-weight:500;font-stretch:118%;font-size:36px;line-height:1;letter-spacing:-.04em}
.phero__tag small{font-size:13px;color:var(--muted);white-space:nowrap}
.phero--dark{background:var(--navy);color:#fff}
.phero--dark .crumbs{color:#AEBDC9}.phero--dark .crumbs span[aria-current]{color:#fff}
.phero--dark .lead{color:#C3CFD8}

.sec{padding:100px 0}
.sec--mist{background:var(--mist)}
.sec--navy{background:var(--navy);color:#fff}
.sec--navy .lead{color:#C3CFD8}

.cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.scard{background:#fff;display:flex;flex-direction:column;clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),calc(100% - 30px) 100%,0 100%);transition:transform .3s var(--ease)}
.sec:not(.sec--mist) .scard{background:var(--mist)}
.scard:hover{transform:translateY(-4px)}
.scard__img{overflow:hidden;clip-path:polygon(0 0,100% 0,100% 86%,0 100%)}
.scard__img img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .7s var(--ease)}
.scard:hover .scard__img img{transform:scale(1.05)}
.scard__body{padding:18px 26px 34px;display:flex;flex-direction:column;gap:10px}
.scard__body h3{margin:0;font-size:22px;font-weight:600;letter-spacing:-.01em}
.scard__body p{margin:0;color:var(--muted);font-size:15.5px}
.scard__ic{width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;transform:skewX(var(--skew));margin-top:24px}
.scard__ic .icon{transform:skewX(var(--unskew));width:22px;height:22px}

.lineup{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.lineup a{background:#fff;display:flex;flex-direction:column;gap:12px;padding:22px 20px;transition:background .25s,transform .3s var(--ease)}
.sec:not(.sec--mist) .lineup a{background:var(--mist)}
.lineup a:hover{background:var(--ice);transform:translateY(-3px)}
.lineup .lg{height:46px;display:flex;align-items:center}
.lineup .lg img{max-height:38px;max-width:140px;width:auto}
.lineup b{font-size:16px}
.lineup small{font-size:13.5px;color:var(--muted)}

.split{display:flex;flex-wrap:wrap;gap:40px 70px;align-items:center}
.split__text{flex:1 1 420px}
.split__text .h2{margin-bottom:22px}
.split__text p{color:var(--muted);margin:0 0 16px;max-width:52ch}
.split__media{flex:1 1 480px;position:relative}
.split__media img{width:100%;aspect-ratio:5/4;object-fit:cover;clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}
.split__media--left img{clip-path:polygon(0 0,100% 0,86% 100%,0 100%)}

.ctaband{background:var(--navy);color:#fff;padding:60px 0}
.ctaband .wrap{display:flex;flex-wrap:wrap;gap:24px 60px;align-items:center;justify-content:space-between}
.ctaband h2{margin:0;font-size:clamp(28px,3vw,40px)}
.ctaband p{margin:8px 0 0;color:#C3CFD8}

.ents{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.ents .ecard{border:1px solid var(--line)}

/* Organisation du Groupe */
.org{display:flex;flex-direction:column;align-items:center;gap:0}
.org__lvl{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;position:relative}
.org__box{background:#fff;padding:18px 26px;min-width:230px;text-align:center;transform:skewX(var(--skew));box-shadow:0 18px 30px -24px rgba(13,36,54,.45)}
.org__box>span{display:block;transform:skewX(var(--unskew))}
.org__box b{display:block;font-size:17px}
.org__box small{font-size:13.5px;color:var(--muted)}
.org__box--on{background:var(--navy);color:#fff}
.org__box--on small{color:#AEBDC9}
.org__box img{height:30px;width:auto;margin:0 auto 8px}
.org__line{width:2px;height:34px;background:var(--blue)}

.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.facts div{background:#fff;padding:26px 28px;clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}
.sec:not(.sec--mist) .facts div{background:var(--mist)}
.facts b{display:block;font-weight:400;font-stretch:118%;font-size:54px;line-height:1;letter-spacing:-.04em}
.facts span{display:block;margin-top:8px;font-size:15px;color:var(--muted)}
.src{font-size:12.5px;color:var(--muted);margin:14px 0 0}

.timeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border-top:3px solid var(--blue)}
.timeline div{padding:22px 24px 0 0;position:relative}
.timeline div::before{content:"";position:absolute;left:0;top:-9px;width:16px;height:16px;background:var(--navy);transform:skewX(var(--skew))}
.timeline b{display:block;font-weight:500;font-stretch:118%;font-size:30px;margin:6px 0}
.timeline p{margin:0;color:var(--muted);font-size:15px;max-width:30ch}

/* Carrières */
.jobs__filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px;align-items:flex-end}
.jobs__filters label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);flex:1 1 200px}
.jobs__filters select,.jobs__filters input{height:50px;padding:0 12px;border:1px solid var(--line);background:#fff;font:inherit;font-size:15.5px;color:var(--navy)}
.jobs__count{font-size:14px;color:var(--muted);margin-bottom:12px}
.joblist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.joblist li{border-bottom:1px solid var(--line)}
.joblist a{display:grid;grid-template-columns:1.6fr 1fr 1fr 40px;gap:16px;align-items:center;padding:20px 0;transition:padding .25s,background .25s}
.joblist a:hover{padding-left:12px;background:var(--mist)}
.joblist b{font-size:17px}
.joblist small{display:block;font-size:13.5px;color:var(--muted)}
.joblist .icon{width:20px;height:20px;color:var(--link)}
.sample{display:inline-block;font-size:12px;font-weight:700;background:#FFF4DC;color:#7A4B00;padding:3px 10px;margin-left:10px;vertical-align:middle}
.families{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.family{position:relative;height:340px;overflow:hidden;color:#fff;display:flex;align-items:flex-end;clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),calc(100% - 30px) 100%,0 100%)}
.family img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.family:hover img{transform:scale(1.05)}
.family::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,28,42,.9),rgba(10,28,42,.1) 60%)}
.family span{position:relative;z-index:1;padding:24px 26px 34px}
.family b{display:block;font-size:22px;font-weight:600}
.family small{font-size:14.5px;color:#D9E2E8}
.quote{display:flex;flex-wrap:wrap;gap:40px 60px;align-items:center}
.quote img{flex:0 0 360px;width:360px;min-width:0;max-width:100%;aspect-ratio:4/5;object-fit:cover;clip-path:polygon(0 0,100% 0,84% 100%,0 100%)}
.quote blockquote{flex:1 1 420px;margin:0}
.quote blockquote p{font-size:clamp(24px,2.6vw,34px);font-weight:500;font-stretch:112%;letter-spacing:-.02em;line-height:1.25;margin:0 0 20px}
.quote cite{font-style:normal;color:#C3CFD8}

/* Formulaires */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.form .full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.field input,.field select,.field textarea{height:52px;padding:0 14px;border:1px solid var(--line);background:#fff;font:inherit;font-weight:400;font-size:16px;color:var(--navy);transition:border-color .2s,box-shadow .2s}
.field textarea{height:120px;padding:12px 14px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(25,191,239,.2)}
.field .tel{display:flex}
.field .tel select{width:120px;flex:none;border-right:0}
.field .tel input{flex:1;min-width:0}
.field .err{display:none;font-weight:500;font-size:13px;color:#B42318}
.field.is-error input,.field.is-error select{border-color:#B42318}
.field.is-error .err{display:block}
.field .hint{font-weight:400;font-size:13px;color:var(--muted)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted);font-weight:400}
.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--navy)}
.file{display:flex;align-items:center;gap:12px;padding:16px;border:1px dashed #9DB0BF;background:#fff;font-weight:500;color:var(--muted)}
.ok{display:none;background:#E7F7EE;color:#14532D;padding:20px 24px;font-weight:600}
.ok.is-on{display:block}

/* Article */
.article{max-width:760px}
.article p{font-size:18px;line-height:1.7;margin:0 0 22px}
.article h2{font-size:28px;margin:40px 0 16px}
.article figure{margin:36px 0}
.article figcaption{font-size:13.5px;color:var(--muted);margin-top:8px}
.meta{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;font-size:14px;color:var(--muted);margin-top:22px}
.share{display:flex;gap:10px}
.share a{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);transition:background .2s}
.share a:hover{background:var(--mist)}

/* Explore by en page */
.xo--page{position:static;display:block;z-index:auto}
.xo--page .xo__bg,.xo--page .xo__close{display:none}
.xo--page .xo__panel{position:relative;left:auto;top:auto;bottom:auto;width:100%;transform:none;height:760px;animation:none;border:1px solid var(--line)}
.xo--page .xo__reshead{padding-right:0}

@media (max-width:760px){
  .phero__grid{min-height:0}
  .phero__text{padding:40px var(--pad) 44px}
  .phero__media{min-height:280px;flex-basis:100%}
  .phero__band{display:none}
  .phero__media img{clip-path:polygon(0 0,100% 0,100% 100%,0 92%)}
  .phero__tag{left:var(--pad);bottom:20px}
  .phero__tag div{padding:10px 16px}.phero__tag b{font-size:26px}
  .sec{padding:64px 0}
  .form{grid-template-columns:minmax(0,1fr)}
  .lineup{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lineup a{padding:16px 14px}
  .joblist a{grid-template-columns:1fr 30px}
  .joblist a>span:nth-child(2),.joblist a>span:nth-child(3){display:none}
  .quote img{flex-basis:100%;width:100%}
  .org__box{min-width:0}
  .xo--page .xo__panel{height:auto}
}

/* ---- Corrections du 01/11 ---- */
.net__legend{position:absolute;left:0;bottom:40px;display:flex;flex-direction:column;gap:10px;font-size:13.5px;color:var(--muted);background:rgba(238,243,246,.9);padding:12px 16px}
.net__legend span{display:inline-flex;align-items:center;gap:8px}
.net__legend .pin{width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px var(--navy)}
.net__legend i{display:inline-block;flex:0 0 auto}
.net__legend .ring{width:12px;height:12px;border-radius:50%;background:#fff;border:2.5px solid var(--navy)}
.subs li.is-net small{color:var(--muted)}
.chips a{display:inline-flex;align-items:center;min-height:42px;padding:0 18px;transform:skewX(var(--skew));font-weight:600;font-size:14.5px;background:#fff;color:var(--navy);transition:background .2s,color .2s}
.chips a span{display:inline-block;transform:skewX(var(--unskew))}
.chips a:hover{background:var(--navy);color:#fff}
.lbl2{margin:6px 0 12px;font-size:13px;font-weight:600;color:var(--muted)}
.ranges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.range{position:relative;background:#fff;padding:30px 30px 34px;clip-path:polygon(0 0,100% 0,100% calc(100% - 26px),calc(100% - 26px) 100%,0 100%)}
.range__ic{display:inline-flex;width:54px;height:54px;align-items:center;justify-content:center;background:var(--ice);color:var(--navy);transform:skewX(var(--skew));margin-bottom:22px}
.range__ic .icon{width:26px;height:26px;transform:skewX(var(--unskew))}
.range h3{margin:0 0 8px;font-size:22px;font-weight:600}
.range p{margin:0;color:var(--muted);font-size:15.5px}
.range--soon{background:transparent;outline:1.5px dashed #9FB2C1;outline-offset:-1.5px}
.range__tag{position:absolute;top:30px;right:30px;background:var(--gold);color:var(--navy);font-size:12.5px;font-weight:700;padding:5px 12px;transform:skewX(var(--skew))}
.sites3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.site{border:1px solid rgba(255,255,255,.18);padding:26px 26px 22px}
.site h3{margin:0 0 16px;font-size:19px;font-weight:600;color:#fff}
.site p{display:flex;gap:12px;margin:0 0 12px;color:#C3CFD8;font-size:15px;line-height:1.45}
.site p .icon{flex:0 0 18px;width:18px;height:18px;color:var(--blue);margin-top:2px}
.site a{color:#fff;font-weight:600}
.kf{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.kf li{font-size:14.5px;color:var(--muted);line-height:1.35}
.kf b{display:block;font-weight:500;font-stretch:118%;font-size:30px;letter-spacing:-.03em;color:var(--navy);line-height:1.05}
.ncard__src{display:block;padding:0 24px 22px;margin-top:-10px;font-size:12.5px;color:var(--muted)}
.quote cite small{display:block;margin-top:10px;font-size:12.5px;color:#8FA2B1}
.timeline--8{grid-template-columns:repeat(4,minmax(0,1fr));border-top:0;row-gap:40px}
.timeline--8 div{border-top:3px solid var(--blue)}
.timeline--8 div::before{top:-10px}
@media (max-width:1020px){.net__legend{position:static;flex-direction:row;background:none;padding:0;margin-top:10px}.ranges,.sites3{grid-template-columns:1fr}.timeline--8{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.timeline--8{grid-template-columns:1fr}}

/* Formulaire de contact */
.mcontact__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px 70px;align-items:start}
.mcontact__info .h2{margin-bottom:18px}
.mcontact__list{list-style:none;margin:30px 0 30px;padding:0;border-top:1px solid var(--line)}
.mcontact__list li{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--muted)}
.mcontact__list .icon{flex:0 0 20px;width:20px;height:20px;color:var(--link);margin-top:2px}
.mcontact__list b{display:block;color:var(--navy);font-weight:600;margin-bottom:2px}
.mcontact__list a{color:var(--navy);font-weight:600}
.mcontact__form{background:#fff;padding:34px 36px 38px;clip-path:polygon(0 0,100% 0,100% calc(100% - 30px),calc(100% - 30px) 100%,0 100%)}
.radios{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px 22px}
.radios legend{width:100%;margin-bottom:8px;font-weight:600;font-size:14px}
.radios label{display:inline-flex;align-items:center;gap:8px;font-size:15px}
.radios input{accent-color:var(--navy);width:18px;height:18px}
@media (max-width:1020px){.mcontact__grid{grid-template-columns:minmax(0,1fr)}}
.mcontact select,.mcontact input,.mcontact textarea{max-width:100%;min-width:0}
@media (max-width:760px){.mcontact__form{padding:24px 20px 28px}}
.mcontact .field{min-width:0}
.mcontact input[type=checkbox],.mcontact input[type=radio]{flex:none;width:18px;height:18px}
.radios{flex-direction:row}
.radios>label{flex:0 0 auto;width:auto;margin:0}
.ft__sub{list-style:none;margin:8px 0 4px;padding:0 0 0 14px;border-left:1px solid rgba(255,255,255,.18)}
.ft__sub li{margin:0 0 6px}
.ft__sub a{font-size:13.5px;opacity:.85}
