.hero-v10-btn-ghost {
    background-color: transparent;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.hero-v10-btn-ghost:hover,
.hero-v10-btn-ghost:focus {
    background-color: rgba(255, 255, 255, 0.2);
    color: #fff !important;
    border-color: #fff !important;
}

/* -- Button hover states -- */
.hero-btn-primary {
    transition: filter 0.2s ease, transform 0.15s ease;
}
.hero-btn-primary:hover,
.hero-btn-primary:focus {
    filter: brightness(1.12);
    transform: translateY(-1px);
}

.hero-btn-outline-secondary {
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.hero-btn-outline-secondary:hover,
.hero-btn-outline-secondary:focus {
    background-color: var(--bs-secondary) !important;
    color: #fff !important;
    border-color: var(--bs-secondary) !important;
    transform: translateY(-1px);
}

.hero-btn-outline-primary-light {
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.hero-btn-outline-primary-light:hover,
.hero-btn-outline-primary-light:focus {
    background-color: var(--bs-primary) !important;
    color: #fff !important;
    border-color: var(--bs-primary) !important;
    transform: translateY(-1px);
}
/*
 * BS Reboot задає img { max-width: 100%; height: auto } — у порожній рамці висота стає 0.
 * Рамка з aspect-ratio + absolute img гарантують видиму площу.
 */
.intro-performance-split__thumb {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 14rem;
    aspect-ratio: 4 / 3;
}

.intro-performance-split__thumb > img.intro-performance-split__img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    margin: 0;
    object-fit: cover;
    z-index: 0;
}

.intro-performance-split__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.intro-performance-split__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* v29 step funnel — badge fixed size (w-16 h-16 has no BS util) */
.perks-funnel__badge {
    width: 4rem;
    height: 4rem;
    flex-shrink: 0;
}

/* connecting horizontal line — full-width (absolute, no BS util) */
.perks-funnel__line {
    pointer-events: none;
}

/* stagger reveal animation (IntersectionObserver adds .is-visible) */
.perks-funnel__step {
    opacity: 0;
    transform: translateY(1.5rem);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.perks-funnel__step.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* stagger delays (max 4 steps) */
.perks-funnel__step:nth-child(1) { transition-delay: 0s; }
.perks-funnel__step:nth-child(2) { transition-delay: 0.1s; }
.perks-funnel__step:nth-child(3) { transition-delay: 0.2s; }
.perks-funnel__step:nth-child(4) { transition-delay: 0.3s; }

/* whyus v19 — fluid clamp() heading (Tailwind has no bare clamp() utility) */
.whyus-glitch-stack__heading {
    font-size: clamp(1.75rem, 1.3rem + 1.8vw, 3rem);
    font-weight: 900;
    line-height: 1.1;
}

/* Geometry shared by both CSS frameworks (Bootstrap has no utilities for it) */
.mxw-3xl {
    max-width: 48rem !important;
}

.whyus-glitch-stack__head,
.whyus-glitch-stack__media {
    margin: 0 0 2.5rem;
}

.whyus-glitch-stack__media-img {
    height: 16rem;
}

.whyus-glitch-stack__card--offset {
    margin-top: 2.5rem;
}

.whyus-glitch-stack__card-title {
    font-size: 1.125rem;
}

/* sticky reading-progress bar — JS sets --wpg-progress (0..1), CSS turns it into a scaleX */
.whyus-glitch-stack__progress {
    height: 0.25rem;
    overflow: hidden;
}

.whyus-glitch-stack__progress-fill {
    transform: scaleX(var(--wpg-progress, 0));
    transform-origin: left center;
    will-change: transform;
}

/* responsive art-direction crop for the section hero image (BS has no object-fit util) */
.whyus-glitch-stack__media-img {
    object-fit: cover;
    object-position: center;
}

@media (min-width: 768px) {
    .whyus-glitch-stack__media-img {
        height: 20rem;
        object-position: center 35%;
    }
}

/* scale-up-on-load reveal, staggered per card by JS (IntersectionObserver adds is-visible) */
.whyus-glitch-stack__reveal {
    opacity: 0;
    transform: scale(0.92);
    transition: opacity 550ms ease, transform 550ms ease;
}

.whyus-glitch-stack__reveal.is-visible {
    opacity: 1;
    transform: scale(1);
}

/* cursor-follow spotlight — currentColor keeps this file color-free, opacity/lightness only */
.whyus-glitch-stack__card {
    isolation: isolate;
}

.whyus-glitch-stack__card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), currentColor, transparent 60%);
    opacity: 0;
    transition: opacity 200ms ease;
    pointer-events: none;
}

.whyus-glitch-stack__card:hover::after {
    opacity: 0.05;
}

/* cross-hatch corner marks — repeating-linear-gradient on currentColor, no hardcoded color */
.whyus-glitch-stack__hatch {
    width: 1.5rem;
    height: 1.5rem;
    pointer-events: none;
}

.whyus-glitch-stack__hatch::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(45deg, currentColor 0 1px, transparent 1px 4px);
    opacity: 0.6;
}

.whyus-glitch-stack__hatch--tl {
    top: 0;
    inset-inline-start: 0;
    clip-path: polygon(0 0, 100% 0, 0 100%);
}

.whyus-glitch-stack__hatch--br {
    bottom: 0;
    inset-inline-end: 0;
    clip-path: polygon(100% 100%, 100% 0, 0 100%);
}

/* native details marker rotates open/closed instead of the UA default triangle */
.whyus-glitch-stack__summary {
    list-style: none;
    cursor: pointer;
}

.whyus-glitch-stack__summary::-webkit-details-marker {
    display: none;
}

.whyus-glitch-stack__chevron {
    transition: transform 200ms ease;
}

details[open] > .whyus-glitch-stack__summary .whyus-glitch-stack__chevron {
    transform: rotate(45deg);
}

/* features ticker — middot separator between inline items (layout only, no colors) */
.features-strip__item:not(:first-child)::before {
    content: "\2022";
    padding-inline-end: 0.5rem;
    opacity: 0.4;
}

/* Лише layout / рух; кольори теми — у Blade */
.socialproof-card-hover {
    transition:
        box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.socialproof__stat-value,
.socialproof__stat-label {
    transition: transform 0.3s ease, color 0.2s ease;
}

@media (hover: hover) {
    .socialproof-card-hover:hover {
        box-shadow: 0 22px 44px -18px rgba(15, 23, 42, 0.2);
    }

    .dark .socialproof-card-hover:hover {
        box-shadow: 0 22px 44px -14px rgba(0, 0, 0, 0.5);
    }

    .socialproof-card-hover:hover .socialproof__stat-value {
        transform: scale(1.08);
    }
}

@media (hover: hover) and (min-width: 640px) {
    .socialproof-card-hover--lift:hover {
        transform: translateY(-4px) scale(1.02);
    }
}

@media (prefers-reduced-motion: reduce) {
    .socialproof-card-hover,
    .socialproof__stat-value,
    .socialproof__stat-label {
        transition: none;
    }

    .socialproof-card-hover:hover,
    .socialproof-card-hover:hover .socialproof__stat-value,
    .socialproof-card-hover--lift:hover {
        transform: none;
    }
}

.socialproof__step {
    opacity: 0;
    transform: translateX(-20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    position: relative;
}

.socialproof__step--stagger[data-stagger='0'] {
    margin-left: 0;
}

.socialproof__step--stagger[data-stagger='1'] {
    margin-left: 2.5rem;
}

.socialproof__step--stagger[data-stagger='2'] {
    margin-left: 5rem;
}

.socialproof__step--stagger[data-stagger='3'] {
    margin-left: 7.5rem;
}

.socialproof__step--stagger[data-stagger='4'] {
    margin-left: 10rem;
}

.socialproof__step--stagger[data-stagger='5'] {
    margin-left: 12.5rem;
}

.socialproof__step--stagger[data-stagger='6'] {
    margin-left: 15rem;
}

.socialproof__step--stagger[data-stagger='7'] {
    margin-left: 17.5rem;
}

.socialproof__step--stagger[data-stagger='8'] {
    margin-left: 20rem;
}

.socialproof__step--stagger[data-stagger='9'] {
    margin-left: 22.5rem;
}

.socialproof__step--stagger[data-stagger='10'] {
    margin-left: 25rem;
}

.socialproof__step--stagger[data-stagger='11'] {
    margin-left: 27.5rem;
}

.socialproof__step--stagger[data-stagger='12'] {
    margin-left: 30rem;
}

.socialproof__step.visible {
    opacity: 1;
    transform: translateX(0);
}

.socialproof__step:last-child::after {
    display: none;
}

.socialproof__step-rail {
    width: 3px;
    border-radius: 9999px;
}



.socialproof__orb {
    position: absolute;
    border-radius: 9999px;
    filter: blur(20px);
    opacity: 0.35;
   
    mix-blend-mode: normal;
    animation: socialproof__orb-float 20s ease-in-out infinite alternate;
}

.socialproof__orb-1 {
    top: 0;
    right: 5%;
    width: 18rem;
    height: 18rem;
}

.socialproof__orb-2 {
    top: 25%;
    right: 0;
    width: 16rem;
    height: 16rem;
    animation-delay: 3s;
}

.socialproof__orb-3 {
    bottom: 25%;
    right: 10%;
    width: 20rem;
    height: 20rem;
    animation-delay: 6s;
}

.socialproof__orb-4 {
    bottom: -5%;
    right: 0;
    width: 18rem;
    height: 18rem;
    animation-delay: 9s;
}

@keyframes socialproof__orb-float {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    50% {
        transform: translate3d(-12px, -16px, 0) scale(1.05);
    }
    100% {
        transform: translate3d(8px, 20px, 0) scale(1.02);
    }
}

.compare-toggle-cards__is-hidden {
    display: none !important;
}

.compare-toggle-cards__mode--active {
    filter: brightness(1.06);
}

.compare-toggle-cards__mode--idle {
    filter: brightness(0.94);
}

.compare-toggle-cards__meter-bar {
    width: 90%;
}

/* BS: індикатори як TW w-3 h-3 (padding на колі конфліктував з розміром) */
.compare-toggle-cards__status-dot {
    width: 0.75rem;
    height: 0.75rem;
    flex-shrink: 0;
}

/* Bootstrap: blur-орби (TW — у @sem); без номера варіанту в іменах */
.stats__decor-blur-tl {
  position: absolute;
  top: 25%;
  left: 25%;
  width: 16rem;
  height: 16rem;
  filter: blur(64px);
}

.stats__decor-blur-br {
  position: absolute;
  bottom: 25%;
  right: 25%;
  width: 20rem;
  height: 20rem;
  filter: blur(64px);
}

.stats__rank-badge {
  width: 1.5rem;
  height: 1.5rem;
  min-width: 1.5rem;
  min-height: 1.5rem;
}

/* Висота смуги; TW — градієнт у @sem, BS — bg у @sem */
.stats__bottom-line-bar {
  height: 0.25rem;
}

/* Hover та градієнти — розміри/позиції в @sem */
.stats-card-hover {
  transition:
    border-color 0.5s ease,
    box-shadow 0.5s ease,
    transform 0.5s ease;
}

.stats-card-hover:hover {
  box-shadow:
    0 25px 50px -12px rgb(0 0 0 / 0.25);
  transform: scale(1.05);
}

.stats-gradient-overlay-hover {
  transition: opacity 0.5s ease;
  opacity: 0;
}

.stats-card-hover:hover .stats-gradient-overlay-hover {
  opacity: 1;
}

.stats-media-hover {
  transition: transform 0.3s ease;
}

.stats-card-hover:hover .stats-media-hover {
  transform: scale(1.1);
}

.stats-bottom-bar-hover {
  transition: opacity 0.5s ease;
  opacity: 0;
}

.stats-card-hover:hover .stats-bottom-bar-hover {
  opacity: 1;
}


.signup-conversion__section {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

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

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

.signup-conversion__cards-bs {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
}

.signup-conversion__cards-bs > .signup-conversion__slate--lift {
    flex: 1 1 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .signup-conversion__cards-bs > .signup-conversion__slate--lift {
        flex: 1 1 calc((100% - 2rem) / 2);
        max-width: calc((100% - 2rem) / 2);
    }
}

@media (min-width: 992px) {
    .signup-conversion__cards-bs > .signup-conversion__slate--lift {
        flex: 1 1 calc((100% - 4rem) / 3);
        max-width: calc((100% - 4rem) / 3);
    }
}

/* subscribe v13 — slim row decor float/pulse & thank-you reveal (layout/animation only) */
@keyframes mailing-slim-row-ring-pulse {
    0%, 100% {
        transform: translateY(-50%) scale(1);
    }
    50% {
        transform: translateY(-50%) scale(1.08);
    }
}

@keyframes mailing-slim-row-orbit-float {
    0%, 100% {
        transform: translateY(-50%) translateX(0);
    }
    50% {
        transform: translateY(calc(-50% - 0.45rem)) translateX(-0.2rem);
    }
}

@keyframes mailing-slim-row-mail-bob {
    0%, 100% {
        transform: translateY(-50%) rotate(-4deg);
    }
    50% {
        transform: translateY(calc(-50% - 0.35rem)) rotate(4deg);
    }
}

@keyframes mailing-slim-row-dot-drift {
    0%, 100% {
        transform: translateY(0);
        opacity: 0.55;
    }
    50% {
        transform: translateY(-0.35rem);
        opacity: 1;
    }
}

@keyframes mailing-slim-row-dot-drift-centered {
    0%, 100% {
        transform: translateY(-50%);
        opacity: 0.55;
    }
    50% {
        transform: translateY(calc(-50% - 0.35rem));
        opacity: 1;
    }
}

@keyframes mailing-slim-row-thanks-in {
    from {
        opacity: 0;
        transform: translateX(0.75rem);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Geometry shared by both CSS frameworks (Bootstrap has no utilities for it) */
.mailing-slim-row__section--py-2xl {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.mailing-slim-row__decor {
    width: 40%;
    max-width: 24rem;
}

.mailing-slim-row__bar {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.mailing-slim-row__group,
.mailing-slim-row__fields,
.mailing-slim-row__min0 {
    min-width: 0;
}

.mailing-slim-row__group,
.mailing-slim-row__fields {
    flex-direction: column;
    align-items: stretch;
}

.mailing-slim-row__group {
    gap: 0.75rem;
}

.mailing-slim-row__fields {
    gap: 0.5rem;
}

.mailing-slim-row__input {
    min-width: 0;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.mailing-slim-row__cta {
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (min-width: 640px) {
    .mailing-slim-row__bar,
    .mailing-slim-row__group,
    .mailing-slim-row__fields {
        flex-direction: row;
        align-items: center;
    }

    .mailing-slim-row__input {
        max-width: 20rem;
    }

    .mailing-slim-row__cta {
        width: auto;
    }
}

.mailing-slim-row__ring {
    top: 50%;
    inset-inline-end: 1.5rem;
    width: 8rem;
    height: 8rem;
    transform: translateY(-50%);
    animation: mailing-slim-row-ring-pulse 5s ease-in-out infinite;
}

.mailing-slim-row__orb {
    top: 50%;
    inset-inline-end: 4rem;
    width: 5rem;
    height: 5rem;
    transform: translateY(-50%);
    animation: mailing-slim-row-orbit-float 4.5s ease-in-out infinite;
    animation-delay: 0.4s;
}

.mailing-slim-row__mail {
    top: 50%;
    inset-inline-end: 3rem;
    transform: translateY(-50%);
    animation: mailing-slim-row-mail-bob 3.5s ease-in-out infinite;
}

.mailing-slim-row__dot--a {
    top: 50%;
    inset-inline-end: 6rem;
    width: 0.75rem;
    height: 0.75rem;
    transform: translateY(-50%);
    animation: mailing-slim-row-dot-drift-centered 3s ease-in-out infinite;
}

.mailing-slim-row__dot--b {
    top: 38%;
    inset-inline-end: 2.5rem;
    width: 0.5rem;
    height: 0.5rem;
    animation: mailing-slim-row-dot-drift 3.6s ease-in-out infinite;
    animation-delay: 0.8s;
}

.mailing-slim-row__dot--c {
    top: 62%;
    inset-inline-end: 3.5rem;
    width: 0.5rem;
    height: 0.5rem;
    animation: mailing-slim-row-dot-drift 2.8s ease-in-out infinite;
    animation-delay: 1.5s;
}

.mailing-slim-row__thanks-in {
    animation: mailing-slim-row-thanks-in 0.45s ease-out both;
}

@media (prefers-reduced-motion: reduce) {
    .mailing-slim-row__ring,
    .mailing-slim-row__orb,
    .mailing-slim-row__mail,
    .mailing-slim-row__dot--a,
    .mailing-slim-row__dot--b,
    .mailing-slim-row__dot--c,
    .mailing-slim-row__thanks-in {
        animation: none;
    }
}

