/* ==========================================================================
   intro — text block under a banner (EXALCO-Istoria / -ESG / -Anakainizo …)
   Variants: default (eyebrow + h2 + copy), --lead (copy only, Products),
   --page-head (first section of a page without banner: carries the h1).
   ========================================================================== */
.ex-intro__eyebrow { margin-bottom: 14px; }
.ex-intro__title { margin-bottom: 16px; overflow-wrap: break-word; }

/* Copy: larger than the generic rich text, ink colour, 14px between paragraphs. */
.ex-intro__text.ex-rich-text { font-size: clamp(14.5px, 1.1vw, 16px); line-height: 1.7; color: var(--ex-fg); }
.ex-intro__text.ex-rich-text > *,
.ex-intro__text.ex-rich-text p { margin-bottom: 14px; }
.ex-intro__text.ex-rich-text > *:last-child,
.ex-intro__text.ex-rich-text p:last-child { margin-bottom: 0; }

/* Copy only (Products / Erga): 16.5px, 44px under the banner. */
.ex-intro--lead .ex-intro__text.ex-rich-text { font-size: clamp(14.5px, 1.1vw, 16.5px); line-height: 1.65; }
.ex-intro.ex-intro--lead:not(:has(.ex-intro__eyebrow)) { padding-top: clamp(28px, 3vw, 44px); }
/* Eyebrow + copy, no title (Articles): the standard copy in a 640px column. */
.ex-intro--lead .ex-intro__eyebrow + .ex-intro__text.ex-rich-text { max-width: min(640px, 66%); font-size: clamp(14.5px, 1.1vw, 16px); line-height: 1.7; }

/* Page head (Partners / Glossary): same look as the no-image inner banner */
.ex-intro--page-head .ex-intro__title { margin-bottom: 14px; }
.ex-intro--page-head .ex-intro__text.ex-rich-text { max-width: 820px; line-height: 1.65; }

/* Mockup: lead and page-head intros have no bottom padding when a white section follows. */
.ex-intro--tight:has(+ :not(.ex-section--tint):not(.ex-section--blue):not(.ex-section--dark):not(.ex-section--flush-top)) { padding-bottom: 0; }

/* Steps strip (Anakainizo) */
.ex-intro__steps {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  margin: 26px 0 0;
  padding: 0;
  border: .5px solid var(--ex-hairline-strong);
  list-style: none;
}
.ex-intro__step { display: block; padding: 26px 20px 18px; }
.ex-intro__step + .ex-intro__step { border-left: .5px solid var(--ex-hairline-strong); }
.ex-intro__step-title { display: block; font-size: 13px; font-weight: 700; line-height: normal; /* rendered: 15px line */ }
.ex-intro__step-text { display: block; margin-top: 4px; font-size: 12px; line-height: 1.5; }

/* Vision highlight (Istoria) */
.ex-intro__highlight { margin-top: 22px; padding: 4px 0 4px 22px; border-left: 3px solid var(--ex-red); }
.ex-intro__highlight-label { margin: 0 0 8px; font-size: 11px; font-weight: 700; line-height: normal; /* rendered: 12px line */ letter-spacing: .22em; color: var(--ex-red); }
.ex-intro__highlight-text { margin: 0; font-size: clamp(16px, 1.3vw, 19px); font-weight: 700; line-height: 1.5; color: var(--ex-fg); }

/* Stats (ESG) */
.ex-intro__stats { display: flex; flex-wrap: wrap; align-items: stretch; margin: 26px 0 0; padding: 0; list-style: none; }
.ex-intro__stat { flex: 1; min-width: 150px; padding-inline: clamp(24px, 3vw, 48px); border-left: 1px solid rgba(35, 31, 32, .15); }
.ex-intro__stat:first-child { padding-left: 0; border-left: 0; }
.ex-intro__stat:last-child { padding-right: 0; }
.ex-intro__stat-value { display: block; font-size: clamp(28px, 2.6vw, 42px); font-weight: 900; line-height: 1; letter-spacing: -.02em; color: var(--ex-red); }
.ex-intro__stat-label { display: block; margin-top: 6px; font-size: 12px; line-height: 1.4; color: var(--ex-fg-muted); }

/* When the copy is missing the extras follow the title directly */
.ex-intro__title + .ex-intro__steps,
.ex-intro__title + .ex-intro__stats,
.ex-intro__title + .ex-intro__highlight { margin-top: 0; }
.ex-intro__title:last-child,
.ex-intro__eyebrow:last-child { margin-bottom: 0; }

@media (max-width: 899px) {
  .ex-intro__steps { grid-auto-flow: row; }
  .ex-intro__step { padding: 18px 20px; }
  .ex-intro__step + .ex-intro__step { border-left: 0; border-top: .5px solid var(--ex-hairline-strong); }
  .ex-intro__step-title { font-size: 14px; }
  .ex-intro__step-text { font-size: 13px; }
  .ex-intro__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 0; }
  .ex-intro__stat { min-width: 0; padding-inline: 20px; }
  .ex-intro__stat:nth-child(odd) { padding-left: 0; border-left: 0; }
  .ex-intro__stat:nth-child(even) { padding-right: 0; }
  .ex-intro__stat-label { font-size: 13px; }
  .ex-intro--page-head .ex-intro__title { font-size: clamp(30px, 7.4vw, 44px); }
  .ex-intro--lead .ex-intro__eyebrow + .ex-intro__text.ex-rich-text { max-width: none; }
}

@media (max-width: 599px) {
  .ex-intro__highlight { padding-left: 16px; }
  .ex-intro__stat-label br { display: none; }
}
