/* Authored \n breaks are desktop-only; below the site's mobile breakpoint
   (navbar switch, 1280px) the text reflows naturally. */
@media (max-width: 1280px) {
  br.multiline-br {
    display: none;
  }
}

.esg-importance,
.esg-importance *,
.esg-importance *::before,
.esg-importance *::after,
.esg-importance-block,
.esg-importance-block *,
.esg-importance-block *::before,
.esg-importance-block *::after {
  box-sizing: border-box;
}

.esg-importance {
  --esg-importance-block-gap: 30px;

  width: 100%;
  min-width: 0;
  overflow: hidden;
  background: #fcfcfc;
  color: #18141e;
  font-family: "Mona Sans", "Helvetica Neue", Arial, sans-serif;
}

.esg-importance__inner {
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  padding: 58px 30px 102px;
}

.esg-importance__title {
  width: min(602px, 100%);
  margin: 0;
  color: #18141e;
  font: inherit;
  font-size: 60px;
  font-style: normal;
  font-weight: 500;
  line-height: 70px;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.esg-importance__viewport {
  width: auto;
  margin-top: 55px;
  /* Full-bleed scroller: cards clip at the section edge, not the 30px
     gutter; the padding keeps the resting cards aligned with the gutter */
  margin-inline: -30px;
  padding-inline: 30px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.esg-importance__viewport::-webkit-scrollbar {
  display: none;
}

.esg-importance__blocks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  align-items: stretch;
  gap: var(--esg-importance-block-gap);
}

.esg-importance__blocks > slot[name="children"] {
  display: flex !important;
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  margin-inline: calc(var(--esg-importance-block-gap) / -2);
  align-items: stretch;
  gap: 0;
}

/* Webflow assigns ONE wrapper div to the slot; display: contents collapses
   it so the block hosts participate in the slot's flex row directly. */
.esg-importance__blocks > slot[name="children"]::slotted(*) {
  display: contents !important;
}

/* display !important: Webflow's page-level code-island { display: contents }
   beats normal :host declarations. Scoped to the block host attribute so the
   section host is not affected. */
:host([data-esg-importance-block-host]) {
  display: flex !important;
  height: auto !important;
  margin-inline: calc(var(--esg-importance-block-gap, 30px) / 2);
  flex: 1 1 calc((100% - (var(--esg-importance-block-gap, 30px) * 2)) / 3);
  min-width: 0;
  order: var(--esg-importance-priority, 1);
}

.esg-importance-block {
  display: flex;
  min-height: 640px;
  flex-direction: column;
  overflow: hidden;
  border-radius: 20px;
  background: linear-gradient(135deg, #fcfcfc 0%, #dfe8e1 100%);
  color: #18141e;
  font-family: "Mona Sans", "Helvetica Neue", Arial, sans-serif;
  order: var(--esg-importance-priority, 1);
}

.esg-importance-block__media,
.esg-importance-block__image,
.esg-importance-block__placeholder {
  display: block;
  width: 100%;
  height: 308px;
  flex: 0 0 308px;
}

.esg-importance-block__media {
  overflow: hidden;
  border-radius: 20px;
  background: linear-gradient(135deg, #eff1eb, #bec2b7);
}

.esg-importance-block__image {
  object-fit: cover;
  object-position: var(--esg-importance-image-position, center);
}

.esg-importance-block__placeholder {
  background: linear-gradient(135deg, #eff1eb, #bec2b7);
}

.esg-importance-block__copy {
  min-width: 0;
  padding: 21px 21px 26px;
}

.esg-importance-block__title {
  width: fit-content;
  max-width: 100%;
  margin: 0;
  color: #18141e;
  font: inherit;
  font-size: 27px;
  font-style: normal;
  font-weight: 400;
  line-height: 32.4px;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

.esg-importance-block__description {
  width: 100%;
  margin: 21px 0 0;
  color: #18141e;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}

@keyframes esg-importance-reveal {
  from {
    opacity: 0;
    transform: translateY(36px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.esg-importance-reveal .esg-importance__title,
.esg-importance-reveal .esg-importance-block {
  opacity: 0;
}

.esg-importance-reveal.is-revealed .esg-importance__title,
.esg-importance-reveal.is-revealed .esg-importance-block {
  animation: esg-importance-reveal 850ms cubic-bezier(0.4, 0, 0.2, 1) both;
}

.esg-importance-reveal.is-revealed .esg-importance-block {
  animation-delay: 140ms;
}

@media (max-width: 768px) {
  .esg-importance {
    --esg-importance-block-gap: 24px;
  }

  .esg-importance__inner {
    padding-top: 48px;
    padding-bottom: 80px;
  }

  .esg-importance__title {
    font-size: 52px;
    line-height: 60px;
  }

  .esg-importance__viewport {
    margin-top: 48px;
  }

  .esg-importance {
    --esg-importance-block-gap: 16px;
  }

  .esg-importance__inner {
    padding: 40px 16px 64px;
  }

  .esg-importance__title {
    font-size: clamp(36px, 11vw, 46px);
    line-height: 1.12;
  }

  .esg-importance__viewport {
    margin-top: 36px;
    margin-inline: 0;
    padding-inline: 0;
    /* Both axes: a lone overflow-x: visible computes to auto while
       overflow-y stays hidden, leaving a sideways-scrollable column */
    overflow: visible;
  }

  .esg-importance__blocks,
  .esg-importance__blocks > slot[name="children"] {
    width: 100%;
    min-width: 0;
    flex-direction: column;

  }

  .esg-importance__blocks {
    grid-template-columns: 1fr;
    gap: var(--esg-importance-block-gap);
  }

  .esg-importance__blocks > slot[name="children"] {
    margin-block: calc(var(--esg-importance-block-gap) / -2);
    margin-inline: 0;
    gap: 0;
  }

  .esg-importance__blocks > slot[name="children"]::slotted(*),
  :host,
  .esg-importance-block {
    width: 100% !important;
    min-width: 0 !important;
    flex-basis: auto !important;
  }

  .esg-importance__blocks > slot[name="children"]::slotted(*) {
    margin-block: calc(var(--esg-importance-block-gap) / 2) !important;
    margin-inline: 0 !important;
  }

  :host {
    margin-block: calc(var(--esg-importance-block-gap, 16px) / 2);
    margin-inline: 0;
  }

  .esg-importance-block {
    min-height: 560px;
  }

  .esg-importance-block__media,
  .esg-importance-block__image,
  .esg-importance-block__placeholder {
    height: 240px;
    flex-basis: 240px;
  }

  .esg-importance-block__copy {
    padding: 20px 18px 24px;
  }

  .esg-importance-block__title {
    font-size: 24px;
    line-height: 29px;
  }

  .esg-importance-block__description {
    margin-top: 18px;
    font-size: 14px;
    line-height: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .esg-importance-reveal .esg-importance__title,
  .esg-importance-reveal .esg-importance-block {
    opacity: 1;
    animation: none;
  }
}


@keyframes esg-importance-block-reveal {
  from {
    opacity: 0;
    transform: translateY(36px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.esg-importance-block--reveal {
  opacity: 0;
}

.esg-importance-block--reveal.is-revealed {
  animation: esg-importance-block-reveal 850ms cubic-bezier(0.4, 0, 0.2, 1) 60ms both;
}

@media (prefers-reduced-motion: reduce) {
  .esg-importance-block--reveal {
    opacity: 1;
    animation: none;
  }
}

/* Waterfall: siblings entering together stagger left-to-right */

/* waterfall-esg-importance-block */
:host(:nth-child(2)) .esg-importance-block--reveal.is-revealed,
.esg-importance-block--reveal.is-revealed:nth-child(2) {
  animation-delay: 160ms;
}
:host(:nth-child(3)) .esg-importance-block--reveal.is-revealed,
.esg-importance-block--reveal.is-revealed:nth-child(3) {
  animation-delay: 260ms;
}
:host(:nth-child(4)) .esg-importance-block--reveal.is-revealed,
.esg-importance-block--reveal.is-revealed:nth-child(4) {
  animation-delay: 360ms;
}
:host(:nth-child(5)) .esg-importance-block--reveal.is-revealed,
.esg-importance-block--reveal.is-revealed:nth-child(5) {
  animation-delay: 460ms;
}
:host(:nth-child(6)) .esg-importance-block--reveal.is-revealed,
.esg-importance-block--reveal.is-revealed:nth-child(6) {
  animation-delay: 560ms;
}
:host(:nth-child(7)) .esg-importance-block--reveal.is-revealed,
.esg-importance-block--reveal.is-revealed:nth-child(7) {
  animation-delay: 660ms;
}

/* Direction variety: headings/copy arrive from the left */
@keyframes esg-importance-reveal-from-left {
  from {
    opacity: 0;
    transform: translateX(-28px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.esg-importance-reveal.is-revealed .esg-importance__title {
  animation-name: esg-importance-reveal-from-left;
}

/* waterfall-ext-esg-importance-block: items 8+ keep cascading instead of snapping to the base delay */
:host(:nth-child(8)) .esg-importance-block--reveal.is-revealed,
.esg-importance-block--reveal.is-revealed:nth-child(8) {
  animation-delay: 760ms;
}
:host(:nth-child(9)) .esg-importance-block--reveal.is-revealed,
.esg-importance-block--reveal.is-revealed:nth-child(9) {
  animation-delay: 860ms;
}
:host(:nth-child(n + 10)) .esg-importance-block--reveal.is-revealed,
.esg-importance-block--reveal.is-revealed:nth-child(n + 10) {
  animation-delay: 960ms;
}

