body.index-page .experts-carousel {
  --card-width: clamp(286px, 21.1vw, 405px);
  --card-height: calc(var(--card-width) * 1.0864);
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(660px, 48vw, 780px) !important;
  margin: 0 !important;
  padding: clamp(72px, 8vw, 126px) 0 clamp(76px, 8vw, 132px) !important;
  overflow: hidden !important;
  border: 0 !important;
  background: #e9e9e9 !important;
  color: #111;
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  user-select: none;
  isolation: isolate;
}

body.index-page .experts-carousel__heading {
  position: relative;
  z-index: 30;
  width: min(980px, calc(100% - 40px));
  margin: 0 auto clamp(54px, 5vw, 82px);
  text-align: center;
  color: #111;
  /* On the shared scale (assets/css/cnw-type-scale.css). This carousel predates
     it, so it was left at weight 500 with its own tracking. */
  font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  font-size: var(--cnw-display-size);
  font-weight: var(--cnw-display-weight) !important;
  line-height: var(--cnw-display-leading);
  letter-spacing: var(--cnw-display-tracking) !important;
  text-transform: none !important;
  text-wrap: balance;
}

body.index-page .experts-carousel__viewport {
  position: relative;
  width: 100%;
  height: var(--card-height);
  perspective: 900px;
  perspective-origin: 50% 50%;
  touch-action: pan-y pinch-zoom;
  cursor: grab;
  overflow: visible;
  -webkit-mask-image: none;
  mask-image: none;
  contain: layout style;
}

body.index-page .experts-carousel__viewport.is-dragging { cursor: grabbing; }

body.index-page .experts-carousel__viewport.is-dragging .experts-carousel__card,
body.index-page .experts-carousel.is-rebasing .experts-carousel__card {
  transition: none !important;
}

body.index-page .experts-carousel__viewport.is-dragging .experts-carousel__image {
  transform: scale(1.001) !important;
  transition: none !important;
}

body.index-page .experts-carousel__track {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
}

body.index-page .experts-carousel__card {
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--card-width);
  height: var(--card-height);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: clamp(16px, 1.25vw, 25px);
  overflow: hidden;
  background: #252629;
  color: #fff;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .08);
  transform-origin: center center;
  transform-style: preserve-3d;
  will-change: transform, opacity, filter;
  transition: transform 420ms cubic-bezier(.22, .82, .2, 1), opacity 240ms ease, filter 260ms ease, box-shadow 300ms ease;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-drag: none;
}

body.index-page .experts-carousel__card[aria-hidden="true"] { pointer-events: none; }
body.index-page .experts-carousel__card.is-active { box-shadow: 0 26px 64px rgba(0, 0, 0, .13); }

body.index-page .experts-carousel__card-link {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  border-radius: inherit;
  color: inherit;
  text-decoration: none;
  outline: none;
  -webkit-user-drag: none;
}

body.index-page .experts-carousel__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transform: scale(1.001);
  transition: transform 700ms cubic-bezier(.2, .75, .2, 1);
  pointer-events: none;
}

body.index-page .experts-carousel__card-link::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5,5,5,.08) 0%, rgba(5,5,5,.02) 40%, rgba(5,5,5,.74) 100%);
  pointer-events: none;
}

body.index-page .experts-carousel__card:hover .experts-carousel__image,
body.index-page .experts-carousel__card:focus-within .experts-carousel__image { transform: scale(1.115); }

body.index-page .experts-carousel__category {
  position: absolute;
  left: clamp(18px, 2vw, 38px);
  top: clamp(18px, 2vw, 36px);
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: calc(100% - 72px);
  color: #fff;
  font: 600 clamp(8px, .58vw, 11px)/1 "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}

body.index-page .experts-carousel__category-icon {
  display: inline-flex;
  width: 25px;
  height: 25px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  overflow: hidden;
  background: #5c5c5c;
  box-shadow: 0 2px 7px rgba(0,0,0,.12);
  backdrop-filter: blur(5px);
}

body.index-page .experts-carousel__category-icon::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: url("../../images/brand/logo.png") center / cover no-repeat;
  filter: grayscale(1) contrast(.82) brightness(1.16);
}

body.index-page .experts-carousel + .home-latest-research {
  border-top: 0 !important;
}

body.index-page .experts-carousel__open {
  position: absolute;
  right: clamp(18px, 2vw, 38px);
  top: clamp(18px, 2vw, 36px);
  z-index: 3;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  opacity: 0;
  color: #fff;
  font-size: 24px;
  transform: translateX(-12px);
  transition: opacity 320ms ease, transform 420ms cubic-bezier(.2,.75,.2,1);
}

body.index-page .experts-carousel__card:hover .experts-carousel__open,
body.index-page .experts-carousel__card:focus-within .experts-carousel__open { opacity: 1; transform: translateX(0); }

body.index-page .experts-carousel__title {
  position: absolute;
  left: clamp(24px, 2.35vw, 42px);
  right: clamp(24px, 2.35vw, 42px);
  bottom: clamp(25px, 2.5vw, 44px);
  z-index: 3;
  margin: 0;
  color: #fff;
  font: 450 clamp(16px, 1vw, 21px)/1.14 "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  letter-spacing: -.035em;
  text-wrap: balance;
  text-shadow: 0 2px 12px rgba(0,0,0,.28);
}

body.index-page .experts-carousel__nav {
  position: absolute;
  top: 50%;
  bottom: auto;
  z-index: 50;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(17, 17, 17, .34);
  border-radius: 50%;
  background: rgba(255, 255, 255, .78);
  color: #111;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .07);
  backdrop-filter: blur(12px);
  transform: translateY(-50%);
  transition: transform 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

body.index-page .experts-carousel__nav:hover,
body.index-page .experts-carousel__nav:focus-visible {
  border-color: #111;
  background: #111;
  color: #fff;
  transform: translateY(-50%) scale(1.05);
}
body.index-page .experts-carousel__nav:disabled { opacity: .24; cursor: default; pointer-events: none; transform: translateY(-50%); }
body.index-page .experts-carousel__nav:focus-visible,
body.index-page .experts-carousel__card-link:focus-visible { outline: 3px solid rgba(25,58,41,.35); outline-offset: 4px; }
body.index-page .experts-carousel__nav--prev {
  left: clamp(20px, 2.5vw, 48px);
  border-radius: 50%;
}
body.index-page .experts-carousel__nav--next {
  right: clamp(20px, 2.5vw, 48px);
  border-radius: 50%;
}
body.index-page .experts-carousel__nav svg { width: 22px; height: 22px; pointer-events: none; }

body.index-page .home-model-stack-scene--models,
html body.index-page .home-model-stack-panel--models.experts-carousel {
  background: #e9e9e9 !important;
}

html body.index-page .home-model-stack {
  margin-top: clamp(-138px, calc(-8vw - 20px), -96px) !important;
}

html body.index-page .home-model-stack-panel--models.experts-carousel {
  padding-top: clamp(194px, 22vh, 226px) !important;
}

@media (max-width: 980px) {
  body.index-page .experts-carousel { --card-width: clamp(260px, 42vw, 350px); min-height: 660px !important; }
  body.index-page .experts-carousel__heading { margin-bottom: 54px; }
}

@media (max-width: 640px) {
  html body.index-page .home-model-stack { margin-top: -76px !important; }
  body.index-page .experts-carousel { --card-width: min(78vw, 330px); min-height: 620px !important; padding-top: 164px !important; padding-bottom: 70px !important; }
  body.index-page .experts-carousel__heading { width: calc(100% - 42px); margin-bottom: 44px; font-size: clamp(28px, 8vw, 38px); }
  body.index-page .experts-carousel__nav { top: 54%; bottom: auto; }
  body.index-page .experts-carousel__nav--prev { left: 12px; }
  body.index-page .experts-carousel__nav--next { right: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  body.index-page .experts-carousel__card,
  body.index-page .experts-carousel__image,
  body.index-page .experts-carousel__open { transition-duration: .01ms !important; }
}
