/* Institutional redesign layer.
   The previous section system remains loaded first as a compatibility fallback. */
:root {
  --ier-redesign-paper: #f7f9fc;
  --ier-redesign-ink: #071f3d;
  --ier-redesign-copy: #506982;
  --ier-redesign-orange: #ef762d;
}

/* Keep the handoff from the hero expressive, while calming the internal rhythm. */
.partners-showcase {
  isolation: isolate;
  padding: clamp(54px, 5.2vw, 88px) 0 clamp(72px, 6vw, 104px);
  border: 0;
  background:
    radial-gradient(circle at 88% 22%, rgba(214, 227, 241, .62) 0 8%, transparent 8.2%),
    var(--ier-redesign-paper);
}

.partners-showcase::after {
  content: '';
  position: absolute;
  z-index: 5;
  right: -4%;
  bottom: -1px;
  left: -4%;
  height: 58px;
  border-top: 3px solid var(--ier-redesign-orange);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  transform: translateY(50%);
  pointer-events: none;
}

.partners-showcase::before {
  top: 48%;
  right: 7%;
  width: min(25vw, 340px);
  height: min(25vw, 340px);
  opacity: .075;
}

.partners-intro { margin-bottom: 34px; }
.partners-mark {
  font-size: clamp(3rem, 5.2vw, 5.15rem);
  letter-spacing: -.06em;
}
.partners-sparks { top: -12px; left: -16px; transform: scale(.8); }
.partners-mark strong::after { bottom: -24px; height: 42px; }

body.ier-home .carrossel-container { padding: 5px 0 0; }
.carrossel-main.carrossel-main--continuo { height: 142px; }
.carrossel-main--continuo .carrossel-item { height: 136px; flex-basis: clamp(214px, 17vw, 270px); width: clamp(214px, 17vw, 270px); padding: 0 9px; }
.carrossel-main--continuo .carrossel-item a { height: 124px; border-radius: 11px; box-shadow: 0 8px 20px rgba(7, 31, 61, .07); }

/* Who we are: mostly straight top edge, with the requested shallow 50–80px curve. */
.about-history { overflow: visible; background: var(--ier-redesign-paper); }
.about-history::before {
  content: '';
  position: absolute;
  z-index: 4;
  top: 0;
  right: -3%;
  left: -3%;
  height: 78px;
  border-top: 0;
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  background: var(--ier-redesign-paper);
  transform: translateY(-50%);
  pointer-events: none;
}
.about-history::after {
  content: '';
  position: absolute;
  z-index: 6;
  top: 0;
  right: -3%;
  left: -3%;
  height: 78px;
  border-top: 2px solid var(--ier-redesign-orange);
  border-radius: 50% 50% 0 0 / 100% 100% 0 0;
  transform: translateY(-50%);
  pointer-events: none;
}
.about-history-card { position: relative; z-index: 2; background: var(--ier-redesign-paper); }
.about-history-card .about-copy h2 { color: var(--ier-redesign-ink); }
.about-copy>p:not(.about-eyebrow) { color: var(--ier-redesign-copy); }
.about-shape--blue { opacity: .58; }
.about-shape--orange { border-width: 2px; opacity: .62; }

/* Purpose begins on a clean, almost square seam. */
.about-purpose { position: relative; padding-top: 76px; padding-bottom: 92px; background: var(--ier-redesign-ink); }
.about-purpose::after {
  display: none;
}
.about-purpose::before { opacity: .12; }
.about-purpose-ring { opacity: .48; border-width: 2px; }
.about-purpose-main,.about-purpose-small { box-shadow: 0 18px 40px rgba(0, 0, 0, .22); }
.about-purpose-badge { box-shadow: 0 12px 24px rgba(0,0,0,.2); }

/* One signature curve: the orange seam is the exact end of the navy section. */
.about-location { position: relative; overflow: visible; margin-top: 0; background: var(--ier-redesign-paper); }
.about-location::before {
  content: '';
  position: absolute;
  z-index: 5;
  top: -96px;
  right: -4%;
  left: -4%;
  height: 144px;
  background: var(--ier-redesign-orange);
  clip-path: polygon(0 68%, 25% 62%, 50% 54%, 75% 62%, 100% 64%, 100% 100%, 0 100%);
  pointer-events: none;
}
.about-location::after {
  content: '';
  position: absolute;
  z-index: 5;
  top: -96px;
  right: -4%;
  left: -4%;
  height: 144px;
  background: var(--ier-redesign-paper);
  clip-path: polygon(0 71%, 25% 65%, 50% 57%, 75% 65%, 100% 67%, 100% 100%, 0 100%);
  pointer-events: none;
}
.about-location-card { position: relative; z-index: 6; padding-top: 44px; background: transparent; }
.about-location-visual::before { border-width: 2px; opacity: .62; }
.about-location-main { box-shadow: 0 18px 38px rgba(7,31,61,.13); }
.about-map-card,.about-location-small { box-shadow: 0 14px 30px rgba(7,31,61,.13); }

/* Quiet handoff into the values section: one shallow dip, no wave. */
.value-title {
  position: relative;
  overflow: hidden;
}
.value-title::before {
  content: '';
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  left: 0;
  height: 48px;
  background: var(--ier-redesign-orange);
  clip-path: polygon(0 23%, 12% 24%, 24% 27%, 36% 31%, 46% 36%, 50% 40%, 54% 36%, 64% 31%, 76% 27%, 88% 24%, 100% 23%, 100% 26%, 88% 27%, 76% 30%, 64% 34%, 54% 39%, 50% 43%, 46% 39%, 36% 34%, 24% 30%, 12% 27%, 0 26%);
  pointer-events: none;
}

@media (max-width: 680px) {
  .partners-showcase::after { height: 34px; border-width: 2px; }
  .about-history::before,.about-history::after { height: 42px; }
  .about-purpose { padding-top: 54px; padding-bottom: 66px; }
  .about-location::before { top: -48px; height: 68px; }
  .about-location::after { top: -48px; height: 68px; }
  .about-location-card { padding-top: 48px; }
  .value-title::before { height: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  .carrossel-main.carrossel-main--continuo { animation-play-state: paused; }
}

/* Compact-laptop contract for the hero handoff. The large-desktop composition
   above remains untouched, while the partner band gains room on shorter screens. */
@media (min-width: 761px) and (max-width: 1599px),
       (min-width: 761px) and (max-height: 900px) {
  .partners-showcase {
    padding-top: clamp(72px, 6vw, 92px);
    padding-bottom: clamp(64px, 5vw, 82px);
  }

  .partners-intro {
    margin-bottom: clamp(24px, 2.4vw, 32px);
  }

  .partners-mark {
    font-size: clamp(3rem, 4.4vw, 4.15rem);
  }

  .carrossel-main.carrossel-main--continuo {
    height: 124px;
  }

  .carrossel-main--continuo .carrossel-item {
    flex-basis: clamp(196px, 16vw, 238px);
    width: clamp(196px, 16vw, 238px);
    height: 118px;
  }

  .carrossel-main--continuo .carrossel-item a {
    height: 106px;
  }
}

@media (max-width: 760px) {
  .partners-showcase {
    padding-top: clamp(38px, 10vw, 54px);
    padding-bottom: clamp(56px, 14vw, 72px);
  }

  .partners-mark {
    max-width: calc(100vw - 36px);
    font-size: clamp(1.85rem, 8vw, 3rem);
    letter-spacing: -.04em;
    white-space: normal;
    text-align: center;
  }

  .partners-mark strong::after {
    right: -12px;
    left: -12px;
    bottom: -18px;
    height: 32px;
  }

  .partners-sparks {
    top: -10px;
    left: -10px;
    transform: scale(.62);
  }
}
