.hero-v26-desc {
    max-width: 28rem;
}

@keyframes heroTitlePulse {
    0%, 100% { letter-spacing: -0.04em; }
    50% { letter-spacing: 0.01em; }
}

.hero-display-title {
    animation: heroTitlePulse 6s ease-in-out infinite;
}

/* -- 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);
}
/* intro — summit lead: split hero with swash highlight + finance showcase */
.summit-lead__eyebrow {
    letter-spacing: 0.12em;
}

.summit-lead__title {
    letter-spacing: -0.03em;
}

.summit-lead__swash {
    height: 0.32em;
    margin-top: -0.05em;
}

.summit-lead__stack {
    padding-left: 0.75rem;
}

.summit-lead__avatar {
    width: 3rem;
    height: 3rem;
    margin-left: -0.75rem;
    line-height: 1;
}

.summit-lead__panel {
    min-height: 24rem;
    padding: 1.5rem;
}

@media (min-width: 768px) {
    .summit-lead__panel {
        padding: 2.5rem;
    }
}

.summit-lead__cloud {
    filter: blur(40px);
}

.summit-lead__cloud--one {
    width: 18rem;
    height: 10rem;
    transform: translate(10%, 20%);
}

.summit-lead__cloud--two {
    width: 22rem;
    height: 12rem;
    transform: translate(120%, 140%);
}

.summit-lead__cloud--three {
    width: 16rem;
    height: 9rem;
    transform: translate(40%, 300%);
}

.summit-lead__connector {
    width: 55%;
    height: 2.5rem;
    flex-shrink: 0;
    border-style: dashed;
}

.summit-lead__dash {
    border-top-style: dashed !important;
}

.summit-lead__widget {
    padding: 1.25rem;
}

.summit-lead__widget--glass {
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.summit-lead__caption {
    font-size: 0.75rem;
    line-height: 1rem;
}

.summit-lead__chart {
    min-height: 6.5rem;
    overflow: visible;
}

.summit-lead__chart-fill {
    transform-origin: center bottom;
    animation: summit-lead-chart-fill 4.2s ease-in-out infinite;
}

.summit-lead__chart-line {
    stroke-dasharray: 420;
    stroke-dashoffset: 420;
    animation: summit-lead-chart-draw 4.2s ease-in-out infinite;
}

.summit-lead__chart-guide {
    animation: summit-lead-chart-guide 4.2s ease-in-out infinite;
}

.summit-lead__chart-dot {
    animation: summit-lead-chart-dot 4.2s ease-in-out infinite;
}

@keyframes summit-lead-chart-fill {
    0%, 12% {
        opacity: 0;
        transform: scaleY(0.55);
    }
    40%, 72% {
        opacity: 1;
        transform: scaleY(1);
    }
    88%, 100% {
        opacity: 0;
        transform: scaleY(0.55);
    }
}

@keyframes summit-lead-chart-draw {
    0% {
        stroke-dashoffset: 420;
        opacity: 0.35;
    }
    38% {
        stroke-dashoffset: 0;
        opacity: 1;
    }
    72% {
        stroke-dashoffset: 0;
        opacity: 1;
    }
    100% {
        stroke-dashoffset: 420;
        opacity: 0.35;
    }
}

@keyframes summit-lead-chart-guide {
    0%, 18% { opacity: 0; }
    40%, 72% { opacity: 1; }
    88%, 100% { opacity: 0; }
}

@keyframes summit-lead-chart-dot {
    0%, 28% {
        opacity: 0;
        transform: translateY(6px) scale(0.6);
    }
    42%, 72% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    88%, 100% {
        opacity: 0;
        transform: translateY(6px) scale(0.6);
    }
}

.summit-lead__photo {
    min-height: 22rem;
}

.summit-lead__photo-img {
    object-fit: cover;
}

@media (min-width: 1024px) {
    .summit-lead__panel {
        min-height: 32rem;
    }

    .summit-lead__photo {
        min-height: 32rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .summit-lead__chart-fill,
    .summit-lead__chart-line,
    .summit-lead__chart-guide,
    .summit-lead__chart-dot {
        animation: none;
        opacity: 1;
        transform: none;
        stroke-dashoffset: 0;
    }
}

/* short stat captions sit in narrow columns on phones: long words break instead of spilling over */
.summit-lead__caption { min-width: 0; overflow-wrap: anywhere; }

.dispatch-stack-media__frame {
    height: 12rem;
}

.dispatch-stack-media__col {
    min-width: 0;
}

/* BS-only gradient (TW uses @sem layer) */
.dispatch-stack-media__canvas-bg {
    background: linear-gradient(
        to bottom right,
        color-mix(in srgb, var(--bs-primary) 50%, black),
        color-mix(in srgb, var(--bs-primary) 38%, black),
        var(--bs-primary)
    );
}

.dark .dispatch-stack-media__canvas-bg,
[data-bs-theme="dark"] .dispatch-stack-media__canvas-bg {
    background: linear-gradient(
        to bottom right,
        color-mix(in srgb, var(--bs-primary) 10%, black),
        color-mix(in srgb, var(--bs-primary) 24%, black),
        color-mix(in srgb, var(--bs-primary) 40%, black)
    );
}

.dispatch-stack-media__svg {
    display: block;
}

.dispatch-stack-media__orb {
    transform-origin: center;
    transform-box: fill-box;
}

.dispatch-stack-media__orb--a {
    animation: dispatch-stack-media-drift-a 8s ease-in-out infinite;
}

.dispatch-stack-media__orb--b {
    animation: dispatch-stack-media-drift-b 10s ease-in-out infinite;
    animation-delay: 1s;
}

.dispatch-stack-media__wave {
    stroke-linecap: round;
    stroke-linejoin: round;
    transform-origin: center;
}

.dispatch-stack-media__wave--a {
    animation: dispatch-stack-media-wave-slide 12s linear infinite;
}

.dispatch-stack-media__wave--b {
    animation: dispatch-stack-media-wave-slide 16s linear infinite reverse;
    animation-delay: 1.5s;
}

.dispatch-stack-media__stage--1 .dispatch-stack-media__orb--a {
    animation-delay: 0.6s;
}

.dispatch-stack-media__stage--1 .dispatch-stack-media__wave--a {
    animation-duration: 14s;
}

@keyframes dispatch-stack-media-drift-a {
    0%,
    100% {
        transform: translate(0, 0) scale(1);
    }

    50% {
        transform: translate(10px, -8px) scale(1.07);
    }
}

@keyframes dispatch-stack-media-drift-b {
    0%,
    100% {
        transform: translate(0, 0) scale(1);
    }

    50% {
        transform: translate(-12px, 6px) scale(1.05);
    }
}

@keyframes dispatch-stack-media-wave-slide {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-36px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .dispatch-stack-media__orb--a,
    .dispatch-stack-media__orb--b,
    .dispatch-stack-media__wave--a,
    .dispatch-stack-media__wave--b {
        animation: none;
    }
}

/* glossary zig — reserved for layout-only hooks; motion lives in Tailwind on @sem('row'). */

.tips-interactive__badge {
    z-index: 20;
}

.tips-interactive__inner {
    z-index: 10;
}

.tips-interactive__panel {
    z-index: 50;
}

.tips-interactive__thumb {
    width: 4rem;
    height: 4rem;
}

.tips-interactive__thumb--sm {
    width: 3rem;
    height: 3rem;
}

.tips-interactive__panel--collapsed {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-1rem);
}

.tips-interactive__panel--open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.forum-series__rack {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
    width: 100%;
    max-width: 100%;
}

@media (min-width: 768px) {
    .forum-series__rack {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .forum-series__rack {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.forum-series__icon-circle { width: 5rem; height: 5rem; }

.forum-series__unit--shift:hover { transform: scale(1.05); transition: transform .2s ease; }

/* subscribe v23 — marquee: geometry shared by both CSS frameworks, no colors */
.mailing-marquee__section--py-4xl {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.mxw-2xl {
    max-width: 42rem !important;
}

@keyframes mailing-marquee-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.mailing-marquee__track {
    width: max-content;
    gap: 2.5rem;
    animation: mailing-marquee-scroll 25s linear infinite;
}

.mailing-marquee__kicker {
    font-size: 0.75rem;
    letter-spacing: 0.025em;
}

.mailing-marquee__row {
    flex-direction: column;
    gap: 0.75rem;
}

.mailing-marquee__input {
    max-width: 20rem;
}

@media (min-width: 640px) {
    .mailing-marquee__row {
        flex-direction: row;
    }
}

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

/* edge fade mask — alpha gradient, not a fill color choice */
.mailing-marquee__viewport {
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}

