.hero-stage__copy > * { opacity: 0; transform: translateY(1rem); animation: hero-stage-rise 700ms cubic-bezier(.2, .8, .2, 1) forwards; }
.hero-stage__copy > *:nth-child(2) { animation-delay: 100ms; }
.hero-stage__copy > *:nth-child(3) { animation-delay: 200ms; }

.hero-stage__tab { appearance: none; -webkit-appearance: none; cursor: pointer; transition: transform 200ms ease; }
.hero-stage__tab:hover { transform: translateY(-2px); }
.hero-stage__timer { transform: scaleX(0); transform-origin: left; }
.hero-stage__tab.is-active .hero-stage__timer { animation: hero-stage-timer var(--hero-stage-delay, 6s) linear forwards; }
.hero-stage__tab.is-active.is-paused .hero-stage__timer { animation: none; transform: scaleX(1); }

.hero-stage__chart { display: block; width: 100%; height: 16rem; }

.hero-stage__card { margin-top: -10rem; }
@media (max-width: 767px) { .hero-stage__card { margin-top: -4rem; } }
.hero-stage__pane.is-entering { animation: hero-stage-swap 450ms ease both; }
.hero-stage__track { height: .5rem; }
.hero-stage__fill { width: 0; transition: width 900ms cubic-bezier(.2, .8, .2, 1); }

@keyframes hero-stage-rise { to { opacity: 1; transform: none; } }
@keyframes hero-stage-timer { to { transform: scaleX(1); } }
@keyframes hero-stage-swap { from { opacity: 0; transform: translateY(.5rem); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
    .hero-stage__copy > * { animation: none; opacity: 1; transform: none; }
    .hero-stage__tab.is-active .hero-stage__timer { animation: none; transform: scaleX(1); }
}

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

/* tenet-tide — layout, sizes, shapes and motion only (colours live in the template) */

.tenet-tide__eyebrow {
    letter-spacing: 0.2em;
}

.tenet-tide__statement,
.tenet-tide__figure {
    letter-spacing: -0.03em;
}

.tenet-tide__micro {
    font-size: 0.75rem;
    line-height: 1rem;
}

/* hairline zone dividers: horizontal when stacked, vertical from lg */
.tenet-tide__zone + .tenet-tide__zone {
    border-top-width: 1px;
    border-top-style: solid;
}

.tenet-tide__photo {
    min-height: 18rem;
}

.tenet-tide__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tenet-tide__dot {
    width: 0.375rem;
    height: 0.375rem;
}

/* abstract drifting-wave chart — decorative only */
.tenet-tide__viz {
    min-height: 12rem;
}

.tenet-tide__guide {
    border-top-width: 1px;
    border-top-style: dashed;
}

.tenet-tide__guide--1 { top: 25%; }
.tenet-tide__guide--2 { top: 50%; }
.tenet-tide__guide--3 { top: 75%; }

.tenet-tide__track {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 200%;
    will-change: transform;
}

.tenet-tide__svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.tenet-tide__track--fill {
    animation: tenet-tide-drift 16s linear infinite;
}

.tenet-tide__track--slow {
    animation: tenet-tide-drift-back 11s linear infinite;
}

.tenet-tide__track--fast {
    animation: tenet-tide-drift 7s linear infinite;
}

.tenet-tide__track--thin {
    animation: tenet-tide-drift 9.5s linear infinite;
}

.tenet-tide__dash {
    stroke-dasharray: 3 6;
}

@keyframes tenet-tide-drift {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@keyframes tenet-tide-drift-back {
    from { transform: translateX(-50%); }
    to { transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
    .tenet-tide__track {
        animation: none;
    }
}

@media (min-width: 1024px) {
    .tenet-tide__zone + .tenet-tide__zone {
        border-top-width: 0;
        border-left-width: 1px;
        border-left-style: solid;
    }

    .tenet-tide__photo {
        min-height: 26rem;
    }

    .tenet-tide__viz {
        min-height: 15rem;
    }
}

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

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

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

.inline-row-avatars__blob-tl {
    width: 18rem;
    height: 18rem;
}

.inline-row-avatars__blob-br {
    width: 24rem;
    height: 24rem;
}

.inline-row-avatars__portrait {
    width: 10rem;
    height: 10rem;
}

.inline-row-avatars__status {
    width: 2rem;
    height: 2rem;
    bottom: -0.25rem;
    right: -0.25rem;
}

.inline-row-avatars__status-dot {
    width: 0.75rem;
    height: 0.75rem;
}

.inline-row-avatars__min-shrink {
    min-width: 0;
}

@media (min-width: 992px) {
    .inline-row-avatars__portrait {
        width: 12rem;
        height: 12rem;
    }

    .inline-row-avatars__row--reverse {
        flex-direction: row-reverse;
    }
}

.centered-spine-timeline__line {
    width: 4px;
    left: 50%;
    transform: translateX(-50%);
}

.centered-spine-timeline__dot {
    width: 1.5rem;
    height: 1.5rem;
}

