.intro-split-icon {
    width: 3rem;
    height: 3rem;
}

/* Як TW: w-64 → sm:w-80 → lg:w-96 (одна шкала для обох фреймворків) */
.intro-split-thumb {
    width: 16rem;
    height: 16rem;
    flex-shrink: 0;
}

@media (min-width: 640px) {
    .intro-split-thumb {
        width: 20rem;
        height: 20rem;
    }
}

@media (min-width: 1024px) {
    .intro-split-thumb {
        width: 24rem;
        height: 24rem;
    }
}

/* Bootstrap: flex + gap (no .row negative margins; works with section overflow). Tailwind grid ignores flex on items. */
@media (min-width: 576px) {
    .intro-split-benefits__row > * {
        flex: 1 1 0%;
        min-width: 0;
    }
}

.services-tabs__serif,
[data-serif] {
    font-family: Georgia, "Times New Roman", Times, serif;
}

.services-tabs__btn {
    background-color: transparent;
}
.services-tabs__btn:hover {
    background-color: color-mix(in srgb, var(--bs-secondary-color) 6%, transparent);
}
.services-tabs__btn.is-active {
    border-color: var(--bs-primary) !important;
    background-color: color-mix(in srgb, var(--bs-primary) 8%, transparent) !important;
}

.services__tile--lift {
  transition: transform 0.3s ease;
}

.services__tile--lift:hover {
  transform: scale(1.05);
}

.services__cta--lift {
  transition: transform 0.3s ease;
}

.services__cta--lift:hover {
  transform: scale(1.05);
}

.services__marker--offset {
  top: 0.5rem;
  inset-inline-end: 0.5rem;
}

.services__marker--reveal {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.services__tile:hover .services__marker--reveal {
  opacity: 1;
}

/* v25 - chat bubble speech tail (border-triangle trick has no TW/BS utility) */
[data-chat-bubble] {
    position: relative;
}

/* fixed max-widths matching the TW max-w-3xl / max-w-2xl utilities (no BS equivalent) */
.dialogue-thread__wrap {
    max-width: 48rem;
}

.dialogue-thread__subtitle-max {
    max-width: 42rem;
}

/* fixed avatar size matching TW w-8 h-8 (no BS utility beyond 25/50/75/100%) */
.dialogue-thread__avatar {
    width: 2rem;
    height: 2rem;
}

/* fixed bubble max-width matching TW max-w-md (no BS equivalent) */
.dialogue-thread__bubble {
    max-width: 28rem;
}

[data-bubble-side="left"] [data-chat-bubble]::before {
    content: "";
    position: absolute;
    top: 1.25rem;
    left: -0.5rem;
    width: 0;
    height: 0;
    border-top: 0.5rem solid transparent;
    border-bottom: 0.5rem solid transparent;
    border-right: 0.5rem solid currentColor;
    color: inherit;
    opacity: 0.15;
}

[data-bubble-side="right"] [data-chat-bubble]::before {
    content: "";
    position: absolute;
    top: 1.25rem;
    right: -0.5rem;
    width: 0;
    height: 0;
    border-top: 0.5rem solid transparent;
    border-bottom: 0.5rem solid transparent;
    border-left: 0.5rem solid currentColor;
    color: inherit;
    opacity: 0.15;
}


.invite-boost__section {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

@keyframes invite-boost-flare-throb-cycle {
    0%, 100% { opacity: 1; }
    50%       { opacity: .5; }
}
.invite-boost__flare--throb {
    animation: invite-boost-flare-throb-cycle 2s cubic-bezier(.4,0,.6,1) infinite;
}

@keyframes invite-boost-flare-rebound-cycle {
    0%, 100% { transform: translateY(0); animation-timing-function: cubic-bezier(.8,0,1,1); }
    50%       { transform: translateY(-25%); animation-timing-function: cubic-bezier(0,0,.2,1); }
}
.invite-boost__flare--rebound {
    animation: invite-boost-flare-rebound-cycle 1s infinite;
}

@keyframes invite-boost-flare-ping-cycle {
    75%, 100% { transform: scale(2); opacity: 0; }
}
.invite-boost__flare--ping {
    animation: invite-boost-flare-ping-cycle 1s cubic-bezier(0,0,.2,1) infinite;
}

@keyframes invite-boost-stroke-throb-cycle {
    0%, 100% { opacity: 1; }
    50%       { opacity: .5; }
}
.invite-boost__stroke--throb {
    animation: invite-boost-stroke-throb-cycle 2s cubic-bezier(.4,0,.6,1) infinite;
}

.invite-boost__layer--lift:hover { transform: scale(1.05); transition: transform .2s ease; }

.invite-boost__flare--lift:hover { transform: scale(1.25); transition: transform .2s ease; }

.invite-boost__action--lift:hover { transform: scale(1.05); transition: transform .2s ease; }

