.content-col-grow {
    flex: 1 1 0%;
    min-width: 0;
}

.content-base-height {
    display: block;
    width: 100%;
    height: 16rem;
    min-height: 16rem;
    flex-shrink: 0;
    object-fit: cover;
}

/* Layout parity: Bootstrap bs: branch — values match theme/tailwind spacing (see v11 tw:) */
.content-v11-bs--root {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.content-v11-bs--area {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
}

.content-v11-bs--row {
    gap: 2rem;
}

@media (min-width: 992px) {
    .content-v11-bs--col-copy {
        max-width: 42rem;
    }
}

.content-v11-bs--panel-mb {
    margin-bottom: 2rem;
}

.content-v11-bs--col-visual {
    position: relative;
}

.content-v11-bs--media-back {
    position: absolute;
    top: 10rem;
    left: 1.25rem;
    width: 80%;
    pointer-events: none;
}

.content-v11-bs--media-front {
    position: relative;
    z-index: 10;
    margin-bottom: 5rem;
    margin-left: 2rem;
    width: 50%;
}

.content-quote-panel__slash {
    transform: rotate(45deg);
}

/* content stride — alternating paragraph inset (no surfaces) */
.content-stride__para--odd {
    padding-inline-start: 0;
}

@media (min-width: 768px) {
    .content-stride__para--even {
        padding-inline-start: 2rem;
    }
}

/* min-width: 0 — довгий текст/флекс у колонці не роздуває рядок */
.content-col-grow {
    min-width: 0;
}

.content-stack-col--text {
    overflow-wrap: anywhere;
}

.content-stack-col--text > :first-child {
    width: 100%;
    max-width: 65ch;
    margin-inline: auto;
}

/* gap лише для Tailwind (grid). У Bootstrap — відступи через g-* у component (row-cols + g-3), без CSS gap на .row */
.content-grid-gap:not(.row) {
    gap: 1rem;
}

.content-full-frame {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.content-section-pad {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

/* Третина рядка: стабільна висота прев’ю, без height:100% від сусіднього тексту */
.content-img-fullheight {
    display: block;
    width: 100%;
    max-width: min(100%, 28rem);
    margin-inline: auto;
    min-width: 0;
    aspect-ratio: 3 / 4;
    max-height: 28rem;
    height: auto;
    flex-shrink: 1;
    object-fit: cover;
    object-position: center;
}

/* our-philosophy — mission ledger: layout, sizes and transforms only (no colors) */
.mission-ledger__eyebrow {
    font-size: 0.875rem;
    letter-spacing: 0.2em;
}

.mission-ledger__heading {
    letter-spacing: -0.025em;
}

.mission-ledger__stage {
    min-height: 26rem;
}

.mission-ledger__cloud {
    filter: blur(2.5rem);
    pointer-events: none;
}

.mission-ledger__cloud--a { width: 14rem; height: 8rem; transform: translate(-3rem, 14rem); }
.mission-ledger__cloud--b { width: 18rem; height: 10rem; transform: translate(12rem, 20rem); }
.mission-ledger__cloud--c { width: 12rem; height: 7rem; transform: translate(20rem, 2rem); }

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

.mission-ledger__skeleton {
    height: 0.5rem;
}

.mission-ledger__skeleton--short {
    width: 70%;
}

.mission-ledger__skeleton--progress {
    width: 60%;
    height: 0.25rem;
}

.mission-ledger__avatar {
    width: 2rem;
    height: 2rem;
    font-size: 0.75rem;
}

.mission-ledger__bars {
    height: 9rem;
}

.mission-ledger__pill {
    font-size: 0.625rem;
    line-height: 1;
    white-space: nowrap;
}

.mission-ledger__bar { min-height: 1.5rem; }
.mission-ledger__bar--h1 { height: 55%; }
.mission-ledger__bar--h2 { height: 80%; }
.mission-ledger__bar--h3 { height: 45%; }
.mission-ledger__bar--h4 { height: 70%; }
.mission-ledger__bar--h5 { height: 50%; }

.mission-ledger__tick {
    width: 1.25rem;
    height: 1.25rem;
    font-size: 0.625rem;
}

@media (min-width: 640px) {
    .mission-ledger__lift {
        transform: translateY(-2.5rem);
    }
}

.mission-ledger__barcol {
    min-width: 0;
    flex-basis: 0;
}

.mission-ledger__barcol .mission-ledger__pill {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* the badge next to the card footer text wraps instead of running past the card edge */
.mission-ledger__lift :not(.mission-ledger__barcol):has(> .mission-ledger__pill) { flex-wrap: wrap; row-gap: .375rem; }
.mission-ledger__lift :not(.mission-ledger__barcol) > .mission-ledger__pill { white-space: normal; max-width: 100%; }
.mission-ledger__lift :not(.mission-ledger__barcol):has(> .mission-ledger__pill) > :first-child { min-width: 0; }

.content-margin-notes__aside {
    align-self: start;
}

@media (min-width: 992px) {
    .content-margin-notes__aside {
        position: sticky;
        top: 2rem;
    }
}

.content-col-grow {
    flex: 1 1 0%;
    min-width: 0;
}

.content-img-fill {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 16rem;
    min-width: 0;
    object-fit: cover;
    flex-shrink: 0;
}

.prose-bodycopy__text-panel-inset {
    padding: 4rem;
}

