.hero-ledger__blob { width: 36rem; height: 36rem; top: -10rem; right: -10rem; filter: blur(70px); opacity: .7; }

.hero-ledger__copy > * { opacity: 0; transform: translateY(1rem); animation: hero-ledger-rise 700ms cubic-bezier(.2, .8, .2, 1) forwards; }
.hero-ledger__copy > *:nth-child(2) { animation-delay: 90ms; }
.hero-ledger__copy > *:nth-child(3) { animation-delay: 180ms; }
.hero-ledger__copy > *:nth-child(4) { animation-delay: 270ms; }
.hero-ledger__copy > *:nth-child(5) { animation-delay: 360ms; }

.hero-ledger__live { width: .5rem; height: .5rem; border-radius: 999px; border: .25rem solid; animation: hero-ledger-pulse 1.8s ease-in-out infinite; }

.hero-ledger__card { opacity: 0; transform: translateY(2rem) rotate(-1deg); transition: opacity 800ms ease, transform 800ms cubic-bezier(.2, .8, .2, 1); }
[data-ledger-dash].is-visible .hero-ledger__card { opacity: 1; transform: none; }

.hero-ledger__chart { display: block; width: 100%; height: 9rem; overflow: visible; }
.hero-ledger__chart [data-line] { transition: stroke-dashoffset 1600ms ease 300ms; }
.hero-ledger__chart [data-area] { transition: opacity 700ms ease 1400ms; }
[data-ledger-dash].is-visible .hero-ledger__chart [data-area] { opacity: .12; }

.hero-ledger__acc { opacity: 0; transform: translateX(1.5rem); transition: opacity 500ms ease, transform 500ms ease; }
[data-ledger-dash].is-visible .hero-ledger__acc { opacity: 1; transform: none; }
[data-ledger-dash].is-visible .hero-ledger__acc:nth-child(1) { transition-delay: 700ms; }
[data-ledger-dash].is-visible .hero-ledger__acc:nth-child(2) { transition-delay: 850ms; }
[data-ledger-dash].is-visible .hero-ledger__acc:nth-child(3) { transition-delay: 1000ms; }

.hero-ledger__badge { left: -1.5rem !important; bottom: -1.5rem !important; animation: hero-ledger-float 5s ease-in-out infinite; }
.hero-ledger__ring { width: 3rem; height: 3rem; }
.hero-ledger__ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.hero-ledger__ring [data-ring-arc] { stroke-dasharray: 126; stroke-dashoffset: 126; transition: stroke-dashoffset 1400ms cubic-bezier(.2, .8, .2, 1) 900ms; }
.hero-ledger__micro { font-size: .7rem; }
.hero-ledger__badge-text { max-width: 11rem; }

@keyframes hero-ledger-rise { to { opacity: 1; transform: none; } }
@keyframes hero-ledger-pulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.6); opacity: .5; } }
@keyframes hero-ledger-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

@media (prefers-reduced-motion: reduce) {
    .hero-ledger__copy > *, .hero-ledger__card, .hero-ledger__acc { animation: none; opacity: 1; transform: none; transition: none; }
    .hero-ledger__badge, .hero-ledger__live { animation: none; }
}
/* keep the floating badge clear of the last account row; long trust labels must not collide */
.hero-ledger__card { padding-bottom: 3.5rem !important; }
.hero-ledger__trust > * { min-width: 0; overflow-wrap: anywhere; }

/* account rows: the amount never breaks or pushes out, the label shrinks instead */
.hero-ledger__acc { flex-wrap: wrap; row-gap: .25rem; }
.hero-ledger__acc > :first-child { flex: 1 1 7.5rem; min-width: 0; overflow-wrap: anywhere; }
.hero-ledger__acc > :last-child { flex-shrink: 0; white-space: nowrap; margin-left: auto; }

/* wpg-hidden: utility classes are renamed in production builds, so hidden states must not rely on .hidden / .d-none alone */
.hero-ledger[hidden], .hero-ledger [hidden], .hero-ledger .hidden.d-none { display: none !important; }

.stats-strata__swatch { width: 1rem; height: 1rem; flex-shrink: 0; }
.stats-strata__layer--1 { opacity: .55; }
.stats-strata__layer--2 { opacity: .25; }

.stats-strata__stage { height: 16rem; }
.stats-strata__chart { display: block; width: 100%; height: 100%; overflow: visible; }
.stats-strata__area { transform: scaleY(0); transform-origin: bottom; transform-box: fill-box; transition: transform 1100ms cubic-bezier(.2, .8, .2, 1); }
.stats-strata__area.stats-strata__layer--0 { opacity: .9; transition-delay: 600ms; }
.stats-strata__area.stats-strata__layer--1 { transition-delay: 300ms; }
[data-strata].is-visible .stats-strata__area { transform: scaleY(1); }

[data-guides] line { stroke-dasharray: 4 5; opacity: 0; transition: opacity 400ms ease 1400ms; }
[data-strata].is-visible [data-guides] line { opacity: 1; }

.stats-strata__pin { width: 2rem; height: 2rem; transform: translate(-50%, -50%) scale(0); transition: transform 400ms cubic-bezier(.3, 1.6, .5, 1); }
[data-strata].is-visible .stats-strata__pin { transform: translate(-50%, -50%) scale(1); }
.stats-strata__pin.is-hot { transform: translate(-50%, -50%) scale(1.3) !important; }

.stats-strata__num { width: 1.5rem; height: 1.5rem; flex-shrink: 0; }
.stats-strata__callout { cursor: default; transition: transform 200ms ease; }
.stats-strata__callout:hover,
.stats-strata__callout:focus-visible { transform: translateY(-3px); }
.stats-strata__micro { font-size: .75rem; }

@media (prefers-reduced-motion: reduce) {
    .stats-strata__area, .stats-strata__pin, [data-guides] line { transition: none; transform: none; opacity: 1; }
    [data-strata].is-visible .stats-strata__pin { transform: translate(-50%, -50%); }
}
.stats-strata__micro { min-width: 0; }
.stats-strata__micro > span { flex: 1 1 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-align: center; }
.stats-strata__micro > span:first-child { text-align: left; }
.stats-strata__micro > span:last-child { text-align: right; }
/* long values must wrap inside the 2-column grid on phones */
.stats-strata__callout { min-width: 0; }
/* badge always sits above the value so all four callouts line up */
.stats-strata__callout > dd { flex-direction: column; align-items: flex-start !important; gap: .5rem !important; min-width: 0; }
.stats-strata__value { min-width: 0; overflow-wrap: anywhere; line-height: 1.1; }
.stats-strata__suffix { display: inline-block; font-size: .6em; margin-left: .1em; line-height: 1.2; vertical-align: baseline; }
@media (max-width: 575px) { .stats-strata__callout > dd { font-size: 1.5rem !important; } }

/* wpg-hidden: utility classes are renamed in production builds, so hidden states must not rely on .hidden / .d-none alone */
.stats-strata[hidden], .stats-strata [hidden], .stats-strata .hidden.d-none { display: none !important; }
.stats-strata__num { align-self: flex-start !important; }

.values-card-strip__item {
    max-width: 24rem;
}

.values-card-strip__thumb {
    width: 5rem;
    height: 5rem;
}

.values-card-strip__panel {
    max-width: 48rem;
}

.classic-rail-timeline__line {
    width: 2px;
    left: 2rem;
}

@media (min-width: 768px) {
    .classic-rail-timeline__line {
        left: 50%;
        transform: translateX(-50%);
    }
}

.classic-rail-timeline__dot {
    width: 1rem;
    height: 1rem;
    left: 2rem;
    top: 50%;
    transform: translateY(-50%);
}

@media (min-width: 768px) {
    .classic-rail-timeline__dot {
        left: 50%;
        transform: translate(-50%, -50%);
    }
}

.classic-rail-timeline__content {
    margin-left: 5rem;
}

@media (min-width: 768px) {
    .classic-rail-timeline__content {
        margin-left: 0;
        width: 50%;
    }

    .classic-rail-timeline__content--start {
        padding-right: 2.5rem;
    }

    .classic-rail-timeline__content--end {
        padding-left: 2.5rem;
    }

    .classic-rail-timeline__row--reverse {
        flex-direction: row-reverse;
    }
}

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

/* cta v38 — surge band: rising area chart + staggered copy reveal (no colors) */
.cta-surge__band { isolation: isolate; }
.cta-surge__chart { pointer-events: none; top: auto !important; bottom: 0 !important; height: 55% !important; }
.cta-surge__rise { transform-box: view-box; transform-origin: 50% 100%; transform: scaleY(0); transition: transform 1400ms cubic-bezier(.2, .8, .2, 1); }
.cta-surge__rise path[data-line] { transition: stroke-dashoffset 2200ms ease 300ms; }
[data-surge].is-visible .cta-surge__rise { transform: scaleY(1); }

.cta-surge__pulse { width: .875rem; height: .875rem; opacity: 0; transform: translate(-50%, -50%); transition: opacity 400ms ease 1800ms; }
.cta-surge__pulse::after { content: ""; position: absolute; inset: 0; border-radius: 50%; border: 2px solid; animation: cta-surge-ping 2s ease-out infinite; }
[data-surge].is-visible .cta-surge__pulse { opacity: 1; }

.cta-surge__eyebrow { backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.cta-surge__fade { opacity: 0; transform: translateY(1.25rem); transition: opacity 700ms ease, transform 700ms cubic-bezier(.2, .8, .2, 1); }
.cta-surge__fade--2 { transition-delay: 120ms; }
.cta-surge__fade--3 { transition-delay: 240ms; }
[data-surge].is-visible .cta-surge__fade { opacity: 1; transform: none; }

.cta-surge__stat { opacity: 0; transform: translateY(1rem); transition: opacity 600ms ease, transform 600ms ease; }
[data-surge].is-visible .cta-surge__stat { opacity: 1; transform: none; }
[data-surge].is-visible li:nth-child(2) .cta-surge__stat { transition-delay: 150ms; }
[data-surge].is-visible li:nth-child(3) .cta-surge__stat { transition-delay: 300ms; }

@keyframes cta-surge-ping { 0% { transform: scale(1); opacity: .6; } 100% { transform: scale(3.2); opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
    .cta-surge__rise, .cta-surge__fade, .cta-surge__stat { transition: none; transform: none; opacity: 1; }
    .cta-surge__rise path[data-line] { transition: none; }
    .cta-surge__pulse { transition: none; }
    .cta-surge__pulse::after { animation: none; }
}

/* wpg-hidden: utility classes are renamed in production builds, so hidden states must not rely on .hidden / .d-none alone */
.cta-surge[hidden], .cta-surge [hidden], .cta-surge .hidden.d-none { display: none !important; }

