/* group-hover та картка */
.services__tile--lift {
  transition: box-shadow 0.5s ease, transform 0.5s ease;
}

.services__tile--lift:hover {
  box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
  transform: translateY(-0.75rem);
}

@media (min-width: 640px) {
  .services__tile--lift:hover {
    transform: translateY(-0.75rem) scale(1.05);
  }
}

.services__media {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.services__row:hover .services__media {
  transform: scale(1.1);
  box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1);
}

.services__heading {
  transition: color 0.3s ease;
}

.services__row:hover .services__heading {
  color: #2563eb;
}

.dark .services__row:hover .services__heading {
  color: #60a5fa;
}

[data-bs-theme="dark"] .services__row:hover .services__heading {
  color: var(--bs-primary, #6ea8fe);
}

.services__accent {
  transition: width 0.3s ease;
}

.services__row:hover .services__accent {
  width: 6rem;
}

.services__badge--offset {
  top: 2rem;
  inset-inline-end: 2rem;
}

.services__decor--blur {
  filter: blur(64px);
}

.services__decor-root {
  z-index: -1;
}

/* BS: розміри блобів (TW — через w-72 / w-96 у sem) */
.services__blob-a {
  width: 18rem;
  height: 18rem;
}

.services__blob-b {
  width: 24rem;
  height: 24rem;
}

/* Block: advantages-icon-grid-numbers — custom BS/TW parity (hover scale) */
.advantages-icon-grid-numbers__card--hover {
    transition: transform 0.2s ease;
}

.advantages-icon-grid-numbers__card--hover:hover {
    transform: scale(1.05);
}


.bodycopy-storyblock__cabin-stack-gap {
    gap: 4rem;
}

.bodycopy-storyblock__rail-stack-gap {
    gap: 4rem;
}

.content-flow-gap {
    gap: 4rem;
}

.content-grid-gap {
    gap: 2rem;
}

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

.content-wide-frame {
    max-width: 72rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.content-cta__lift { transition: transform 150ms ease; }
.content-cta__lift:hover { transform: translateY(-2px); }

.content-col-grow {
    flex: 1 1 0%;
    min-width: 0;
}

.content-img-medium {
    display: block;
    width: 100%;
    height: 18rem;
    min-height: 18rem;
    flex-shrink: 0;
    object-fit: cover;
}
@media (min-width: 768px) {
    .content-img-medium {
        height: 20rem;
        min-height: 20rem;
    }
}

.content-small-height {
    display: block;
    width: 100%;
    height: 12rem;
    min-height: 12rem;
    flex-shrink: 0;
    object-fit: cover;
}

/* contact-bento — CSS Grid bento layout (applies to both TW and BS) */
.contact-bento__grid {
    display: grid;
    gap: 1rem;
}

@media (min-width: 768px) {
    .contact-bento__grid {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: 14rem 10rem;
    }

    .contact-bento__cell--title   { grid-column: 1 / 3; grid-row: 1; }
    .contact-bento__cell--image   { grid-column: 3 / 4; grid-row: 1; }
    .contact-bento__cell--phone   { grid-column: 1 / 2; grid-row: 2; }
    .contact-bento__cell--email   { grid-column: 2 / 3; grid-row: 2; }
    .contact-bento__cell--address { grid-column: 3 / 4; grid-row: 2; }
}

/* contact-bento — icon cell fixed size (TW w-10 h-10 has no BS util) */
.contact-bento__icon {
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* contact-bento — image fill (no BS object-fit util) */
.contact-bento__img {
    object-fit: cover;
    min-height: 12rem;
}

