.hero-planner__glow { width: 42rem; height: 42rem; top: -14rem; right: -16rem; filter: blur(80px); opacity: .8; }
.hero-planner__title { letter-spacing: -0.02em; }

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

.hero-planner__tick { width: 1.5rem; height: 1.5rem; flex-shrink: 0; margin-top: .125rem; }
.hero-planner__icon { width: 2.75rem; height: 2.75rem; flex-shrink: 0; }
.hero-planner__micro { font-size: .75rem; line-height: 1rem; }
.hero-planner__body { min-width: 0; }

.hero-planner__card { opacity: 0; transform: translateY(2rem) scale(.98); transition: opacity 800ms ease, transform 800ms cubic-bezier(.2, .8, .2, 1); }
[data-planner].is-visible .hero-planner__card { opacity: 1; transform: none; }

.hero-planner__donut { width: 11rem; height: 11rem; flex-shrink: 0; }
.hero-planner__donut svg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.hero-planner__seg { stroke-dasharray: 0 302; transition: stroke-dasharray 900ms cubic-bezier(.2, .8, .2, 1); }
.hero-planner__seg--0 { opacity: 1; }
.hero-planner__seg--1 { opacity: .68; }
.hero-planner__seg--2 { opacity: .42; }
.hero-planner__seg--3 { opacity: .22; }
.hero-planner__dot { width: .625rem; height: .625rem; flex-shrink: 0; }

.hero-planner__track { height: .5rem; }
.hero-planner__fill { width: 0; height: 100%; transition: width 1300ms cubic-bezier(.2, .8, .2, 1); }

.hero-planner__goal { opacity: 0; transform: translateX(1.25rem); transition: opacity 500ms ease, transform 500ms ease; }
[data-planner].is-visible .hero-planner__goal { opacity: 1; transform: none; }
[data-planner].is-visible .hero-planner__goal:nth-child(1) { transition-delay: 450ms; }
[data-planner].is-visible .hero-planner__goal:nth-child(2) { transition-delay: 600ms; }
[data-planner].is-visible .hero-planner__goal:nth-child(3) { transition-delay: 750ms; }

.hero-planner__chip { top: -1.25rem !important; right: -.5rem !important; animation: hero-planner-float 5s ease-in-out infinite; }

@keyframes hero-planner-rise { to { opacity: 1; transform: none; } }
@keyframes hero-planner-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* the floating chip must never cover the card heading: on wide screens the heading row keeps room for it, below lg the chip sits in the flow above the card */
.hero-planner__chip { max-width: 14rem; }
.hero-planner__chip .hero-planner__micro { overflow-wrap: anywhere; }
@media (min-width: 992px) {
    .hero-planner__card > :first-child { padding-right: 10rem; }
}
@media (max-width: 991.98px) {
    .hero-planner [data-planner] { display: flex; flex-direction: column; }
    .hero-planner__chip { position: relative !important; top: auto !important; right: auto !important; order: -1; align-self: flex-end; margin-bottom: .75rem; animation: none; }
}

@media (prefers-reduced-motion: reduce) {
    .hero-planner__copy > *, .hero-planner__card, .hero-planner__goal { animation: none; opacity: 1; transform: none; transition: none; }
    .hero-planner__seg, .hero-planner__fill { transition: none; }
    .hero-planner__chip { animation: none; }
}

/* wpg-hidden: utility classes are renamed in production builds, so hidden states must not rely on .hidden / .d-none alone */
.hero-planner[hidden], .hero-planner [hidden], .hero-planner .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 split v16 - layout/size only, no colors */
.values-split__decor-circle {
    aspect-ratio: 1 / 1;
}

.values-split__numeral {
    line-height: 0.85;
    letter-spacing: -0.04em;
}

.values-split__row {
    will-change: transform;
}

.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;
    }
}

/* Hover — поза @sem */
.services__tile--lift {
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

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

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

.services__cta--lift {
  transition: filter 0.2s ease, transform 0.2s ease;
}

@media (min-width: 640px) {
  .services__cta--lift:hover {
    transform: scale(1.05);
  }
}

.services__cta--lift:hover {
  filter: brightness(0.92);
}

.cta-hub__stage { min-height: 24rem; }
.cta-hub__lines { position: absolute; inset: 0; width: 100%; height: 100%; }
.cta-hub__lines path { stroke-dasharray: 6 8; opacity: 0; }
[data-hub].is-visible .cta-hub__lines path { opacity: .5; animation: cta-hub-flow 1.2s linear infinite; transition: opacity 600ms ease 400ms; }

.cta-hub__node { opacity: 0; transition: opacity 500ms ease, transform 700ms cubic-bezier(.2, .8, .2, 1); }
.cta-hub__node--0 { top: 12% !important; left: 4% !important; transform: translate(-1.5rem, -1.5rem); }
.cta-hub__node--1 { top: 12% !important; left: auto !important; right: 4%; transform: translate(1.5rem, -1.5rem); }
.cta-hub__node--2 { top: auto !important; bottom: 12%; left: 4% !important; transform: translate(-1.5rem, 1.5rem); }
.cta-hub__node--3 { top: auto !important; bottom: 12%; left: auto !important; right: 4%; transform: translate(1.5rem, 1.5rem); }
[data-hub].is-visible .cta-hub__node { opacity: 1; transform: none; animation: cta-hub-bob 5s ease-in-out 1s infinite; }
[data-hub].is-visible .cta-hub__node--1 { transition-delay: 120ms; animation-delay: 1.6s; }
[data-hub].is-visible .cta-hub__node--2 { transition-delay: 240ms; animation-delay: 2.2s; }
[data-hub].is-visible .cta-hub__node--3 { transition-delay: 360ms; animation-delay: 2.8s; }

.cta-hub__core { transform: translate(-50%, -50%) scale(.8); opacity: 0; transition: transform 700ms cubic-bezier(.2, .8, .2, 1) 500ms, opacity 500ms ease 500ms; }
[data-hub].is-visible .cta-hub__core { transform: translate(-50%, -50%) scale(1); opacity: 1; }
.cta-hub__micro { font-size: .75rem; }

@keyframes cta-hub-flow { to { stroke-dashoffset: -28; } }
@keyframes cta-hub-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }

@media (prefers-reduced-motion: reduce) {
    .cta-hub__node, .cta-hub__core { transition: none; animation: none; opacity: 1; }
    [data-hub].is-visible .cta-hub__lines path { animation: none; }
}
/* phones: keep the four orbit nodes from colliding */
@media (max-width: 575px) {
    .cta-hub__node { max-width: 44%; padding: .5rem .75rem !important; font-size: .8125rem; line-height: 1.15rem; }
}

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

