/* SignalNids.fr — section découverte, sans dépendance JS externe. */
.snx-ecosystem, .snx-ecosystem * { box-sizing:border-box; }
.snx-ecosystem { font-family:inherit; background:#f5f7f2; color:#123e2d; padding:clamp(38px,5vw,76px) 0 clamp(50px,6vw,88px); border-top:1px solid #e4eae1; border-bottom:1px solid #e4eae1; }
.snx-ecosystem__wrap { min-width:0; }
.snx-ecosystem__kicker, .snx-ecosystem__eyebrow { margin:0; font-weight:800; font-size:11px; line-height:1.45; letter-spacing:.14em; color:#438360; }
.snx-ecosystem__intro { max-width:820px; margin-bottom:34px; }
.snx-ecosystem__intro h2 { font:700 clamp(29px,3vw,44px)/1.11 system-ui,-apple-system,"Segoe UI",sans-serif; letter-spacing:-.045em; color:#0b4230; margin:13px 0 14px; }
.snx-ecosystem__intro p { font-size:clamp(15px,1.2vw,17px); line-height:1.65; color:#617467; max-width:760px; margin:0; }
.snx-ecosystem__group + .snx-ecosystem__group { margin-top:45px; }
.snx-ecosystem__heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 17px; }
.snx-ecosystem__heading-main { display:flex; align-items:center; gap:14px; min-width:0; }
.snx-ecosystem__icon { flex:none; display:grid; place-items:center; width:47px; height:47px; font-size:25px; font-weight:700; color:#8f641a; background:#ffefc9; border:1px solid #f7e7bb; border-radius:12px; }
.snx-ecosystem__icon--mountain { color:#146b4e; background:#e0f2e6; border-color:#cbe7d4; }
.snx-ecosystem__heading h3 { font:700 clamp(23px,2vw,29px)/1.2 system-ui,-apple-system,"Segoe UI",sans-serif; letter-spacing:-.035em; color:#124d36; margin:4px 0 0; }
.snx-ecosystem__heading-actions { display:flex; align-items:center; gap:15px; }
.snx-ecosystem__see-all { color:#145d42; text-decoration:none; white-space:nowrap; font-size:14px; font-weight:800; }
.snx-ecosystem__see-all:hover,.snx-ecosystem__see-all:focus-visible { text-decoration:underline; text-underline-offset:4px; }
.snx-ecosystem__nav { display:flex; gap:7px; }
.snx-ecosystem__nav button { display:grid; place-items:center; width:40px; height:40px; font:500 27px/1 system-ui; border:1px solid #d5e1d5; background:#fff; color:#164c36; border-radius:10px; cursor:pointer; }
.snx-ecosystem__nav button:hover:not(:disabled),.snx-ecosystem__nav button:focus-visible:not(:disabled) { background:#e8f3e8; border-color:#91bda0; }
.snx-ecosystem__nav button:disabled { opacity:.35; cursor:default; }
.snx-ecosystem__track { display:flex; gap:16px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; padding:3px 1px 15px; scroll-padding-inline:1px; }
.snx-ecosystem__track::-webkit-scrollbar { display:none; }
.snx-ecosystem__track:focus-visible { outline:2px solid #1f855d; outline-offset:3px; }
.snx-ecosystem__card { min-width:0; flex:0 0 calc((100% - 32px)/3); scroll-snap-align:start; display:flex; flex-direction:column; background:#fff; text-decoration:none!important; color:inherit!important; border:1px solid #dfe9df; border-radius:17px; overflow:hidden; box-shadow:0 5px 20px rgba(18,67,41,.045); transition:transform .17s ease,box-shadow .17s ease; }
.snx-ecosystem__card:hover,.snx-ecosystem__card:focus-visible { transform:translateY(-3px); box-shadow:0 12px 24px rgba(18,67,41,.11); }
.snx-ecosystem__media { height:158px; position:relative; overflow:hidden; background:linear-gradient(120deg,#dcebe0,#b6d5c4); }
.snx-ecosystem__media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .35s ease; }
.snx-ecosystem__card:hover .snx-ecosystem__media img { transform:scale(1.035); }
.snx-ecosystem__media--gold { background:linear-gradient(135deg,#faf0d7,#e6c46e); }
.snx-ecosystem__media--abstract { background:radial-gradient(circle at 74% 25%,rgba(255,234,159,.7),transparent 36%),linear-gradient(125deg,#345e44,#9caa6c); }
.snx-ecosystem__media--mint { background:radial-gradient(circle at 70% 15%,rgba(255,255,255,.55),transparent 40%),linear-gradient(130deg,#bddcbd,#619c78); }
.snx-ecosystem__media--green { background:radial-gradient(circle at 67% 22%,rgba(198,233,175,.42),transparent 39%),linear-gradient(130deg,#0b4834,#478d68); }
.snx-ecosystem__illustration { position:absolute; top:21px; right:28px; color:#fff; font-size:70px; font-weight:650; opacity:.9; }
.snx-ecosystem__media-label { position:absolute; bottom:18px; left:18px; color:#fff; font-size:11px; font-weight:850; letter-spacing:.15em; text-shadow:0 1px 2px #355; }
.snx-ecosystem__body { padding:20px 20px 22px; display:flex; flex-direction:column; align-items:flex-start; gap:8px; min-height:195px; }
.snx-ecosystem__body small { font-size:10px; color:#4d9770; font-weight:900; letter-spacing:.12em; }
.snx-ecosystem__body strong { font:700 20px/1.23 system-ui,-apple-system,"Segoe UI",sans-serif; letter-spacing:-.027em; color:#114731; }
.snx-ecosystem__body>span { font-size:13px; color:#66766b; line-height:1.55; }
.snx-ecosystem__body b { margin-top:auto; padding-top:9px; font-size:13px; color:#176a4a; font-weight:800; }
.snx-ecosystem__body b i { font-style:normal; padding-left:4px; }
@media(max-width:900px){.snx-ecosystem__card{flex-basis:calc((100% - 16px)/2)}.snx-ecosystem__intro{max-width:700px}}
@media(max-width:620px){.snx-ecosystem{padding:38px 0 52px}.snx-ecosystem__wrap{min-width:0}.snx-ecosystem__intro{padding-inline:18px;margin-bottom:28px}.snx-ecosystem__intro h2{font-size:30px}.snx-ecosystem__heading{padding-inline:18px;align-items:flex-end;gap:6px}.snx-ecosystem__heading-main{gap:10px}.snx-ecosystem__heading h3{font-size:22px}.snx-ecosystem__icon{width:39px;height:39px;font-size:22px;border-radius:9px}.snx-ecosystem__eyebrow{font-size:9px}.snx-ecosystem__heading-actions{flex-direction:column;gap:8px;align-items:flex-end}.snx-ecosystem__see-all{font-size:11px}.snx-ecosystem__nav button{width:33px;height:33px;font-size:23px;border-radius:8px}.snx-ecosystem__track{padding:2px 18px 14px;gap:12px;scroll-padding-inline:18px}.snx-ecosystem__card{flex-basis:min(82vw,325px);border-radius:0}.snx-ecosystem__media{height:155px}.snx-ecosystem__body{padding:16px 17px 19px;min-height:181px}.snx-ecosystem__body strong{font-size:19px}.snx-ecosystem__group+.snx-ecosystem__group{margin-top:33px}}
@media(prefers-reduced-motion:reduce){.snx-ecosystem__track{scroll-behavior:auto}.snx-ecosystem__card,.snx-ecosystem__media img{transition:none}}

/* Harmonisation de l'accueil : conteneur partagé .wrap, media locaux à ratio constant. */
.snx-ecosystem { background:#f5f7f2; padding-block:clamp(44px,5vw,70px); }
.snx-ecosystem__wrap.wrap { box-sizing:border-box; }
.snx-ecosystem__intro { max-width:760px; margin-bottom:30px; }
.snx-ecosystem__group { min-width:0; }
.snx-ecosystem__track { display:flex; align-items:stretch; scroll-snap-stop:always; }
.snx-ecosystem__card { align-self:stretch; min-height:0; }
.snx-ecosystem__media { flex:none; height:auto; aspect-ratio: 16 / 9; min-height:0; background:#e2eade; }
.snx-ecosystem__media img { display:block; width:100%; height:100%; aspect-ratio:16 / 9; object-fit:cover; object-position:center center; }
.snx-ecosystem__body { flex:1 1 auto; min-height:184px; }
.snx-ecosystem__heading { min-width:0; }
.snx-ecosystem__heading-main > div { min-width:0; }
.snx-ecosystem__group + .snx-ecosystem__group { margin-top:45px; }
@media (max-width:620px) {
  .snx-ecosystem__wrap.wrap { padding-left:18px; padding-right:18px; }
  .snx-ecosystem__intro, .snx-ecosystem__heading { padding-inline:0; }
  .snx-ecosystem__track { padding-inline:0; scroll-padding-inline:0; }
  .snx-ecosystem__card { flex:0 0 min(84%,330px); }
  .snx-ecosystem__body { min-height:179px; }
  .snx-ecosystem__group + .snx-ecosystem__group { margin-top:34px; }
}
@media (max-width:380px) {
  .snx-ecosystem__card { flex-basis:91%; }
  .snx-ecosystem__heading { align-items:flex-start; }
  .snx-ecosystem__heading-actions { flex-direction:column; align-items:flex-end; }
  .snx-ecosystem__see-all { font-size:11px; }
}
