/* Stack: как grid grid-cols-1 gap-lg (1.5rem в типичной шкале) */
.vertical-manifesto-grid {
    display: grid;
    width: 100%;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr);
}

/* Строка карточки: flex + gap-6 + items-start — то же, что tw flex flex-row items-start gap-6 */
.philosophy-v6-inner {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 1.5rem;
    width: 100%;
}

/* Как absolute -top-6 у бейджа в оригинале */
.philosophy-v6-badge-wrap {
    flex-shrink: 0;
    align-self: flex-start;
    margin-top: -1.5rem;
}

.philosophy-v6-box {
    flex: 1;
    min-width: 0;
}

/* Круг как в Bootstrap + фикс «вытянутой» капсулы во flex */
.philosophy-vertical__badge {
    width: 4rem;
    height: 4rem;
    flex-shrink: 0;
    aspect-ratio: 1;
    box-sizing: border-box;
}

.philosophy-bg__img {
    object-fit: cover;
}

/* steps v23 - scroll progress fill driven by a JS-set --progress custom property */

.steps-scroll-timeline__fill {
    --progress: 0%;
    height: var(--progress);
    transition: height 120ms linear;
}

/* process storybook — gallery height, image crop, active nav, BS row overflow fix (no colors) */
.process-cdpr__root {
    max-width: 100%;
}
.process-cdpr__gallery-wrap {
    max-width: 100%;
    overflow: hidden;
}
.process-cdpr__gallery {
    height: 16rem;
    max-width: 100%;
}
.process-cdpr__gallery.row {
    margin-left: 0;
    margin-right: 0;
}
.process-cdpr__gallery > * {
    min-width: 0;
}
.process-cdpr__img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-width: 100%;
}
.process-cdpr__nav-btn {
    transition: border-color 200ms ease, color 200ms ease;
}
.process-cdpr__nav-btn.is-active {
    border-color: var(--bs-primary);
    color: var(--bs-primary);
}

/* advantages versus — decorative corner ring (size/position only, no colors) */
.advantages-versus__ring {
    width: 18rem;
    height: 18rem;
    top: -5rem;
    left: -5rem;
}

/* cta slice — diagonal bottom edge + cover image */
.cta-slice__section {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 93%);
  padding-bottom: 5rem;
}

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

.cta-slice__title-track {
  letter-spacing: 0.28em;
}

.cta-slice__tagline-track {
  letter-spacing: 0.14em;
}

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

@media (max-width: 767px) {
  .cta-slice__section {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 97%);
    padding-bottom: 3rem;
  }

  .cta-slice__title-track {
    letter-spacing: 0.16em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cta-slice__section {
    clip-path: none;
    padding-bottom: 0;
  }
}

