.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 gutter — bracket ticks share width */
.content-gutter__tick {
    width: 1px;
}

/* solo column: span full grid / row when second stack hidden */
.content-gutter__lead--span {
    grid-column: 1 / -1;
}

/* Decor geometry (layout only; colors stay in Blade / @sem) */
.leaflet-document__decor-1 {
    position: absolute;
    width: 8rem;
    height: 8rem;
    top: 0;
    left: 0;
    transform: translate(-4rem, -4rem);
    z-index: 0;
    pointer-events: none;
}

.leaflet-document__decor-2 {
    position: absolute;
    width: 12rem;
    height: 12rem;
    bottom: 0;
    right: 0;
    transform: translate(6rem, 6rem);
    z-index: 0;
    pointer-events: none;
}

.leaflet-document__decor-3 {
    position: absolute;
    width: 6rem;
    height: 6rem;
    top: 50%;
    right: 0;
    transform: translate(3rem, -50%);
    z-index: 0;
    pointer-events: none;
}

.leaflet-document__decor-4 {
    position: absolute;
    width: 4rem;
    height: 4rem;
    left: 25%;
    bottom: 25%;
    transform: translate(-50%, 50%);
    z-index: 0;
    pointer-events: none;
}

.leaflet-document__divider-bar {
    height: 0.25rem;
}

.leaflet-document__title-trail { margin-bottom: 2rem; }

.leaflet-document__rule-trail { margin-bottom: 3rem; }

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

.content-prose-measure {
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.content-heading-gap {
    margin-bottom: 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-river__arc {
    width: 18rem;
    height: 18rem;
}

.content-river__node {
    width: 0.75rem;
    height: 0.75rem;
    transform: translate(-50%, -50%);
}

@media (min-width: 768px) {
    .content-river__copy--right {
        grid-column-start: 2;
    }

    .content-river__copy--left {
        grid-column-start: 1;
        grid-row-start: 1;
    }

    .content-river__spacer--left {
        order: 2;
    }
}

.content-flex-min {
    min-width: 0;
}

/* Values v24 - luxury manifesto hairline rule and vertical rhythm (layout only, no colors) */

.values-manifesto__rule {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1px;
    background: currentColor;
    opacity: 0.15;
}

