.ethic-scatter__dots {
    background-image: radial-gradient(currentColor 1.5px, transparent 1.5px);
    background-size: 24px 24px;
}

.ethic-scatter__item {
    transition: transform 300ms ease;
}

.ethic-scatter__item:nth-child(1) { transform: translateY(0.5rem) rotate(-1deg); }
.ethic-scatter__item:nth-child(2) { transform: translateY(-0.75rem) rotate(1.5deg); }
.ethic-scatter__item:nth-child(3) { transform: translateY(1rem) rotate(-0.5deg); }
.ethic-scatter__item:nth-child(4) { transform: translateY(-0.5rem) rotate(1deg); }

.ethic-scatter__item:hover {
    transform: scale(1.05);
}

.newspaper-columns-timeline__dropcap::first-letter {
    float: left;
    font-size: 4em;
    font-weight: 900;
    line-height: 0.75;
    padding-right: 0.1em;
    padding-top: 0.05em;
}

.newspaper-columns-timeline__ruled-bg {
    background-image: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 4.9%,
        currentColor 4.9%,
        currentColor 5%
    );
}

.newspaper-columns-timeline__rule {
    height: 1px;
}

.newspaper-columns-timeline__separator .flex-grow-1 {
    height: 1px;
}

.newspaper-columns-timeline__columns {
    columns: 1;
    column-gap: 2.5rem;
}

@media (min-width: 768px) {
    .newspaper-columns-timeline__columns {
        columns: 2;
    }
}

/* v15 - dashboard bento stat tiles: glass blur + bento span (no BS analog, no colors) */

/* shared grid for BS render (Bootstrap has no row/col + gap safe combo for bento spans) */
.panel-mosaic__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 768px) {
    .panel-mosaic__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
}

.steps-dashboard-bento__tile {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

@media (min-width: 768px) {
    .steps-dashboard-bento__tile--wide {
        grid-column: span 2 / span 2;
    }
}


.bodycopy-storyblock__icon-trail { margin-bottom: 2rem; }

.bodycopy-storyblock__title-trail { margin-bottom: 2rem; }

.bodycopy-storyblock__lead-trail { margin-bottom: 2rem; }

.bodycopy-storyblock__wrapper-section-pad {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.content-prose-measure {
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.content-heading-gap {
    margin-bottom: 2rem;
}

.values-circle-block__card {
    max-width: 24rem;
}

.values-circle-block__item {
    max-width: 24rem;
}

.values-circle-block__thumb {
    width: 5rem;
    height: 5rem;
}

.cta-minimal-carousel__section {
  min-height: 28rem;
}

.cta-minimal-carousel__wrap {
  padding-bottom: 5rem;
}

@media (min-width: 768px) {
  .cta-minimal-carousel__wrap {
    padding-bottom: 7rem;
  }
}

.cta-minimal-carousel__viewport {
  position: relative;
  min-height: 22rem;
}

.cta-minimal-carousel__panel--center {
  text-align: center;
}

.cta-minimal-carousel__panel--left {
  display: flex;
  align-items: center;
  min-height: 20rem;
}

.cta-minimal-carousel__left-stack {
  width: 100%;
}

.cta-minimal-carousel__panel--split {
  min-height: 20rem;
  display: flex;
  align-items: flex-end;
}

.cta-minimal-carousel__panel.cta-minimal-carousel__slide--hidden {
  display: none;
}

.cta-minimal-carousel__slide--hidden {
  display: none;
}

.cta-minimal-carousel__cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@keyframes cta-minimal-carousel__fade-in {
  from {
    opacity: 0;
    transform: translateX(1.5rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.cta-minimal-carousel__slide--visible {
  animation: cta-minimal-carousel__fade-in 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.cta-minimal-carousel__eyebrow-track {
  letter-spacing: 0.22em;
}

.cta-minimal-carousel__title-track {
  letter-spacing: 0.12em;
}

.cta-minimal-carousel__nav-btn {
  width: 2.75rem;
  height: 2.75rem;
}

.cta-minimal-carousel__outline-cta {
  min-width: 9rem;
}

.cta-minimal-carousel__dot--active {
  width: 1.75rem;
  filter: brightness(1);
}

.cta-minimal-carousel__dot--idle {
  width: 0.5rem;
  filter: brightness(0.45);
}

@media (min-width: 768px) {
  .cta-minimal-carousel__viewport {
    min-height: 26rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cta-minimal-carousel__slide--visible {
    animation: none;
  }
}

