/* intro — ledger rail: photo-left stack with bar chart */
.intro-ledger__eyebrow {
    letter-spacing: 0.12em;
}

.intro-ledger__title {
    letter-spacing: -0.03em;
}

.intro-ledger__mark {
    height: 0.2em;
    margin-top: 0.15em;
}

.intro-ledger__stack {
    padding-left: 0.75rem;
}

.intro-ledger__avatar {
    width: 2.75rem;
    height: 2.75rem;
    margin-left: -0.7rem;
    line-height: 1;
}

.intro-ledger__rule {
    height: 0;
    border-top-style: solid !important;
}

.intro-ledger__photo {
    min-height: 22rem;
}

.intro-ledger__photo-img {
    object-fit: cover;
}

.intro-ledger__card {
    padding: 1.25rem;
}

.intro-ledger__caption {
    font-size: 0.75rem;
    line-height: 1rem;
}

.intro-ledger__bars {
    height: 5.5rem;
}

.intro-ledger__bar {
    transform-origin: center bottom;
    animation: intro-ledger-bar 3.6s ease-in-out infinite;
}

.intro-ledger__bar--b1 { height: 45%; }
.intro-ledger__bar--b2 { animation-delay: 0.2s; height: 55%; }
.intro-ledger__bar--b3 { animation-delay: 0.4s; height: 85%; }
.intro-ledger__bar--b4 { animation-delay: 0.6s; height: 40%; }
.intro-ledger__bar--b5 { animation-delay: 0.8s; height: 70%; }

@keyframes intro-ledger-bar {
    0%, 100% {
        transform: scaleY(0.55);
        opacity: 0.55;
    }
    50% {
        transform: scaleY(1);
        opacity: 1;
    }
}

@media (min-width: 1024px) {
    .intro-ledger__photo {
        min-height: 36rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .intro-ledger__bar {
        animation: none;
        opacity: 1;
        transform: none;
    }
}

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

/* content companion — hairline width for BS decor */
.content-companion__hair {
    width: 3rem;
}

/* numeric index column width on small screens */
.content-companion__index {
    min-width: 0;
}

.content-companion__index-digit {
    font-variant-numeric: tabular-nums;
}

.banner-overlay-feed__tile--glow {
    height: 14rem;
}

@media (min-width: 768px) {
    .banner-overlay-feed__tile--glow {
        height: 16rem;
    }
}

.banner-overlay-feed__tile--glow:hover { transform: scale(1.05); transition: transform .2s ease; }

/* v12 - Horizontal carousel: flex track with explicit gap (framework-independent — works under both TW and BS, since BS has no row/col-safe equivalent for a gapped scroll track) */
.steps-gradient-carousel__track {
    display: flex;
    gap: 1.5rem;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-behavior: smooth;
}

.steps-gradient-carousel__track::-webkit-scrollbar {
    display: none;
}

.steps-gradient-carousel__card {
    width: 260px;
    flex-shrink: 0;
}

@media (min-width: 768px) {
    .steps-gradient-carousel__card {
        width: 300px;
    }
}

/* prev/next controls: fixed circle size, no Bootstrap utility equivalent */
.steps-gradient-carousel__arrow {
    width: 2.75rem;
    height: 2.75rem;
}

/* icon badge: fixed square size, no Bootstrap width/height utility beyond w-25/50/75/100 */
.steps-gradient-carousel__badge {
    width: 3.5rem;
    height: 3.5rem;
}

/* Bootstrap: grid + gap (row gutters often collapse) */
.tips-detailed__bs-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
}

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

.tips-detailed__subtitle-max {
    max-width: 42rem;
}

.tips-detailed__thumb {
    width: 3rem;
    height: 3rem;
}

.tips-detailed__cta-thumb {
    width: 2rem;
    height: 2rem;
}

.tips-detailed__min-shrink {
    min-width: 0;
}

.ledger-band__img { object-fit: cover; height: 22rem; }
.ledger-band__bars { height: 9rem; }
.ledger-band__bar {
    display: block;
    flex: 1 1 0;
    min-width: 0;
    transform-origin: bottom center;
    animation: ledger-band-bar 2.8s ease-in-out infinite;
}
.ledger-band__bar--1 { height: 35%; opacity: 0.22; }
.ledger-band__bar--2 { height: 50%; opacity: 0.34; animation-delay: 0.2s; }
.ledger-band__bar--3 { height: 64%; opacity: 0.46; animation-delay: 0.4s; }
.ledger-band__bar--4 { height: 82%; opacity: 0.6; animation-delay: 0.6s; }
.ledger-band__bar--5 { height: 100%; opacity: 1; animation-delay: 0.8s; }
@keyframes ledger-band-bar {
    0%, 100% { transform: scaleY(0.45); }
    50% { transform: scaleY(1); }
}
.ledger-band__dot { width: 0.5rem; height: 0.5rem; }
.ledger-band__avatars { margin: 0; padding: 0; list-style: none; }
.ledger-band__avatar { width: 2.75rem; height: 2.75rem; }
.ledger-band__avatar + .ledger-band__avatar { margin-left: -0.75rem; }
@media (prefers-reduced-motion: reduce) {
    .ledger-band__bar { animation: none; }
}

