/* Variante locale, soumise à validation. */
.ecosystem-section{padding:48px 0 36px;background:#fff;border-bottom:1px solid #e0e5df}.ecosystem-heading{display:grid;grid-template-columns:1fr 1fr;gap:10px 70px;align-items:end}.ecosystem-heading .eyebrow{grid-column:1/-1;font-size:.75rem;margin:0 0 3px;color:#647240}.ecosystem-heading h2{font-size:2rem;line-height:1.15;letter-spacing:-.025em}.ecosystem-heading>p:last-child{font-size:.9375rem;line-height:1.55;color:#566567;margin:0;max-width:550px}.ecosystem-marks{list-style:none;padding:28px 0;margin:25px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;border-top:1px solid #dde4dc;border-bottom:1px solid #dde4dc;gap:24px}.ecosystem-marks li{min-width:0;text-align:center}.ecosystem-marks a{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:3px;font-family:Arial,Helvetica,sans-serif;font-weight:600;font-size:1.55rem;letter-spacing:-.04em;color:#253234;transition:background .2s}.ecosystem-marks a:hover{background:#f2f5ef;text-decoration:none}.ecosystem-marks img{max-width:100%;width:150px;height:38px;object-fit:contain}.ecosystem-note{font-size:.75rem;line-height:1.5;color:#66716c;margin:15px 0 0}.method-visual-layout{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:60px;margin-bottom:42px}.method-copy .eyebrow{color:var(--lime)}.method-copy>p:last-child{font-size:1rem;color:var(--light-text);max-width:520px;margin:25px 0 0}.method-figure{margin:0;position:relative;overflow:hidden;border-radius:5px;aspect-ratio:8/5;background:#182426}.method-figure img{display:block;width:100%;height:100%;object-fit:cover}.method-figure figcaption{position:absolute;bottom:18px;left:22px;right:22px;display:flex;justify-content:space-between;gap:15px;color:#e5eddb;font-size:.75rem;letter-spacing:.07em}.expertise-section{padding-top:0}.sector-visual{position:relative;margin:0 0 65px;overflow:hidden;height:420px;background:#182426}.sector-visual img{width:100%;height:100%;object-fit:cover;display:block;object-position:center 55%}.sector-visual:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#111e20c9)}.sector-visual figcaption{position:absolute;z-index:1;bottom:40px;left:0;right:0;color:white}.sector-visual .eyebrow{color:var(--lime);margin-bottom:13px}.sector-visual h3{font-size:2.5rem;max-width:650px;line-height:1.15}.sector-visual .image-note{font-size:.75rem;margin:16px 0 0;color:#d5dddb}.sector-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.sector-tags span{padding:6px 12px;border:1px solid #b9c6c2;border-radius:3px;font-size:.875rem;color:#34433d}.expertise-markets{margin-top:24px!important}
@media(max-width:1000px){.ecosystem-heading{gap:12px 35px}.ecosystem-marks{gap:18px}.ecosystem-marks a{font-size:1.3rem}.method-visual-layout{gap:35px}.method-figure{aspect-ratio:1/1}.method-figure figcaption{font-size:.75rem;flex-wrap:wrap}.sector-visual{height:360px}}
@media(max-width:760px){.ecosystem-section{padding-block:36px 28px}.ecosystem-heading{grid-template-columns:1fr;gap:15px}.ecosystem-heading h2{font-size:1.8rem}.ecosystem-heading>p:last-child{font-size:1rem}.ecosystem-marks{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px 0;margin-top:22px}.ecosystem-marks li:last-child{grid-column:1/-1}.ecosystem-marks a{font-size:1.5rem;min-height:54px}.ecosystem-marks img{width:140px}.ecosystem-note{font-size:.75rem}.method-visual-layout{grid-template-columns:1fr;gap:25px}.method-figure{aspect-ratio:8/5}.method-figure figcaption{left:15px;right:15px;bottom:14px}.sector-visual{height:420px;margin-bottom:42px}.sector-visual img{object-position:65% center}.sector-visual figcaption{bottom:27px}.sector-visual h3{font-size:2rem}.sector-visual .image-note{font-size:.75rem;max-width:280px}.expertise-section{padding-top:0}.sector-tags{gap:8px;margin-top:20px}.ecosystem-heading h2,.ecosystem-marks a{overflow-wrap:break-word}}
@media(prefers-reduced-motion:reduce){.ecosystem-marks a{transition:none}}

/* Official brand assets retain their original proportions and colors. */
.ecosystem-marks a{min-height:76px;padding:10px 8px}
.ecosystem-marks a:hover{background:#fff;outline:1px solid #d8dfdc;outline-offset:3px}
.ecosystem-marks .ecosystem-logo{position:relative;display:block;max-width:100%;flex:none;overflow:hidden}
.ecosystem-marks .ecosystem-logo img{display:block;width:100%;height:auto;max-width:none;object-fit:contain}
.ecosystem-logo-openai{width:128px}
.ecosystem-logo-anthropic{width:158px}
.ecosystem-marks .ecosystem-logo-mistral{width:146px;display:flex;align-items:center;justify-content:center;gap:10px;overflow:visible}
.ecosystem-marks .ecosystem-logo-mistral img{width:32px;max-width:25%;flex:none}
.ecosystem-logo-mistral span{font-family:Arial,Helvetica,sans-serif;font-size:1.1rem;line-height:1.2;font-weight:600;letter-spacing:-.035em;white-space:nowrap}
.ecosystem-logo-google{width:116px;aspect-ratio:2661/820}
.ecosystem-marks .ecosystem-logo-google img{position:absolute;width:144.3067%;left:-22.1345%;top:-81.4634%}
.ecosystem-logo-microsoft{width:166px;aspect-ratio:378/93}
.ecosystem-marks .ecosystem-logo-microsoft img{position:absolute;width:391.5344%;left:-145.7672%;top:-397.8495%}
@media(max-width:760px){
  .ecosystem-marks{gap:12px 16px}
  .ecosystem-marks a{min-height:72px;padding:10px 4px}
  .ecosystem-marks li:last-child .ecosystem-logo{max-width:calc(50% - 12px)}
}
