/* intro v30 — sticky sidebar + single wide photo with overlay */

.intro-lane__fluid {
    font-size: clamp(2.25rem, 5vw, 3.75rem);
}

.intro-lane__main { min-width: 0; }

.intro-lane__banner {
    min-height: 16rem;
}

.intro-lane__banner-img {
    object-fit: cover;
}

@media (min-width: 992px) {
    .intro-lane__banner { min-height: 22rem; }
}

/* Вертикальний таймлайн — позиція рейки та вузлів */
.services__rail {
  position: absolute;
  left: 1.3rem;
  top: 0.75rem;
  bottom: 0.75rem;
  width: 2px;
  background-color: var(--bs-border-color, #dee2e6);
  border-radius: 1px;
}

.dark .services__rail {
  background-color: rgba(148, 163, 184, 0.45);
}

.services__node {
  position: relative;
  padding-left: 3.5rem;
  padding-bottom: 1.5rem;
}

.services__node:last-child {
  padding-bottom: 0;
}

@media (max-width: 575.98px) {
  .services__node {
    padding-left: 3.25rem;
  }

  .services__rail {
    left: 1.4rem;
  }
}

.services__badge {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

/* 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);
}

/* features institution — hairline dividers between trust items (width/style only, color comes from Tailwind/BS classes) */

/* BS flex child needs min-width:0 to shrink instead of overflowing on long titles (no BS utility) */
.features-inst__body {
    min-width: 0;
}

.features-inst__item:not(:first-child) {
    border-top-width: 1px;
    border-top-style: solid;
}

@media (min-width: 768px) {
    /* equal-width columns regardless of text length (basis 0 + min-width:0 lets a text-heavy item shrink) */
    .features-inst__item {
        flex: 1 1 0%;
        min-width: 0;
    }

    .features-inst__item:not(:first-child) {
        border-top-width: 0;
        border-left-width: 1px;
        border-left-style: solid;
    }
}

/* v19 accordion — button UA reset (no BS btn class) */
.perks-linear-accord__trigger {
    appearance: none;
    -webkit-appearance: none;
    font: inherit;
    cursor: pointer;
    line-height: inherit;
}

/* body indent (BS has no ps-10 analog at this size) */
.perks-linear-accord__body {
    padding-left: 2.5rem;
}

/* chevron rotation when expanded */
.perks-linear-accord__item[data-open] .perks-linear-accord__chevron i {
    transform: rotate(180deg);
    transition: transform 0.25s ease;
}

.perks-linear-accord__chevron i {
    transition: transform 0.25s ease;
}

.cta-stagger-services__grid-lines {
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}

.cta-stagger-services__grid-line {
  flex: 1 1 0;
  height: 100%;
  border-inline-end-width: 1px;
  border-inline-end-style: solid;
}

.cta-stagger-services__grid-line:last-child {
  border-inline-end-width: 0;
}

.cta-stagger-services__logo {
  display: grid;
  grid-template-columns: repeat(3, 1.25rem);
  gap: 0.25rem;
}

.cta-stagger-services__logo-cell {
  width: 1.25rem;
  height: 1.25rem;
}

.cta-stagger-services__list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.cta-stagger-services__item--shift {
  margin-inline-start: 12%;
}

.cta-stagger-services__item-num {
  font-size: 0.875rem;
  vertical-align: super;
  line-height: 0;
  margin-inline-end: 0.35rem;
}

@media (max-width: 767px) {
  .cta-stagger-services__item--shift {
    margin-inline-start: 0;
  }
}

@media (min-width: 768px) {
  .cta-stagger-services__item--shift {
    margin-inline-start: 14%;
  }
}

/* CTA button — TW + BS */
.cta-stagger-services__cta {
  transition: filter 0.2s ease, transform 0.15s ease;
}

.cta-stagger-services__cta:hover,
.cta-stagger-services__cta:focus-visible {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.cta-stagger-services__cta:hover .cta-stagger-services__cta-icon,
.cta-stagger-services__cta:focus-visible .cta-stagger-services__cta-icon {
  transform: translate(2px, -2px);
}

.cta-stagger-services__cta-icon {
  transition: transform 0.2s ease;
}

/* Service strip cards — BS hover parity */
.cta-stagger-services__item-hov {
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.cta-stagger-services__item-hov:hover,
.cta-stagger-services__item-hov:focus-within {
  transform: translateY(-2px);
  box-shadow: var(--bs-box-shadow-lg);
  border-color: var(--bs-primary) !important;
}

.cta-stagger-services__item-hov:hover .cta-stagger-services__item-num,
.cta-stagger-services__item-hov:focus-within .cta-stagger-services__item-num {
  color: var(--bs-primary) !important;
}

@media (prefers-reduced-motion: reduce) {
  .cta-stagger-services__cta:hover,
  .cta-stagger-services__cta:focus-visible,
  .cta-stagger-services__item-hov:hover,
  .cta-stagger-services__item-hov:focus-within {
    transform: none;
  }

  .cta-stagger-services__cta:hover .cta-stagger-services__cta-icon,
  .cta-stagger-services__cta:focus-visible .cta-stagger-services__cta-icon {
    transform: none;
  }
}

