/* ===========================================================================
   SolutionsSales -- AI model logos + key visual, inside the hero <section>
   (avatar-key-visual-placement-and-logo-claims: same slot as Coding/DataHub,
   no extra section). Mail stays provider-neutral (no Gmail/SES chip) --
   avatar-sales-platform-vs-sald. Logos are official files, unaltered
   (third-party-brand-logos-decision) -- no trademark line, by the same
   decision (D23 on the Coding page).
   =========================================================================== */
.sa-eco { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: 24px; align-items: center; padding-top: clamp(28px, 3vw, 40px); padding-bottom: clamp(40px, 4.2vw, 60px); border-top: 1px solid var(--line); }
@media (min-width: 900px) { .sa-eco { grid-template-columns: minmax(0, 1fr) minmax(0, 460px); column-gap: clamp(40px, 5vw, 80px); } }
.sa-eco__k { margin: 0 0 12px; font-size: 13px; font-weight: 700; letter-spacing: 0.2em; color: var(--sa-acc); }
.sa-eco__h { margin: 0 0 20px; max-width: 30em; font-size: clamp(18px, 1.8vw, 22px); font-weight: 700; line-height: 1.6; color: var(--navy); text-wrap: pretty; }
.sa-eco__dl { margin: 0; max-width: 34em; }
.sa-eco__dl > div { display: grid; grid-template-columns: 7em minmax(0, 1fr); column-gap: 16px; padding: 12px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.sa-eco__dl dt { padding-top: 10px; font-size: 13px; font-weight: 700; line-height: 1.85; color: var(--muted); }   /* centred on the 44px tile row */
.sa-eco__dl dd { margin: 0; }

.sa-eco__chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-width: 420px; margin: 0; padding: 0; list-style: none; }
.sa-eco__chips li { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 16px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); box-shadow: 0 1px 2px rgba(16, 42, 67, 0.05); font-size: 14px; font-weight: 700; letter-spacing: 0.01em; color: var(--navy); white-space: nowrap; }
.sa-eco__chips img { display: block; width: auto; max-width: 100%; height: var(--h, 20px); object-fit: contain; }
.sa-eco__chips .sa-eco__more { grid-column: 1 / -1; gap: 6px; border-style: dashed; border-color: #B7C4D1; background: none; box-shadow: none; font-size: 13px; color: var(--muted); }

.sa-eco__fig { justify-self: center; width: 100%; max-width: 460px; margin: 0; }
.sa-eco__fig img { display: block; width: 100%; height: auto; border-radius: 16px; }

@media (max-width: 759.98px) {
  .sa-eco__dl > div { grid-template-columns: minmax(0, 1fr); row-gap: 6px; }
  .sa-eco__dl dt { padding-top: 0; }
}

/* ---- motion: rises in once, same latch as the rest of the page ----------- */
html.sa-motion .sa-eco[data-sa-latch]:not(.sa-seen) :is(.sa-eco__k, .sa-eco__h, .sa-eco__dl > div) { opacity: 0; transform: translateY(12px); }
html.sa-motion .sa-eco[data-sa-latch]:not(.sa-seen) .sa-eco__fig { opacity: 0; transform: translateY(20px); }
.sa-eco.sa-seen :is(.sa-eco__k, .sa-eco__h, .sa-eco__dl > div) { transition: opacity var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out); }
.sa-eco.sa-seen .sa-eco__fig { transition: opacity var(--dur-2) var(--ease-out) 200ms, transform var(--dur-2) var(--ease-out) 200ms; }
.sa-eco.sa-seen .sa-eco__h { transition-delay: 70ms; }
.sa-eco.sa-seen .sa-eco__dl > div:nth-child(1) { transition-delay: 160ms; }
