.gallery-zigzag__w-40 { width: 10rem; }
.gallery-zigzag__h-40 { height: 10rem; }
.gallery-zigzag__top-20 { top: 5rem; }

.gallery-zigzag__ratio-3x4 {
    --bs-aspect-ratio: 133.333333%;
}

.gallery-zigzag__hover-scale {
    transition: transform 0.3s ease;
}
.gallery-zigzag__hover-scale:hover {
    transform: scale(1.05);
}

.gallery-zigzag__group-hover-opacity {
    opacity: 0;
    transition: opacity 0.3s ease;
}
.gallery-zigzag__item:hover .gallery-zigzag__group-hover-opacity {
    opacity: 1;
}

.gallery-zigzag__translate-y-full {
    transform: translateY(100%);
    transition: transform 0.5s ease;
}
.gallery-zigzag__item:hover .gallery-zigzag__group-hover-translate-y-0 {
    transform: translateY(0);
}

.gallery-zigzag__group-hover-scale-110 {
    transition: transform 0.5s ease;
}
.gallery-zigzag__item:hover .gallery-zigzag__group-hover-scale-110 {
    transform: scale(1.1);
}

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

/* 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;
}

.stance-flip__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

@media (min-width: 640px) {
    .stance-flip__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.5rem;
    }
}

.stance-flip__card {
    perspective: 1200px;
    height: 32rem;
    overflow: hidden;
    border-radius: 1rem;
}

.stance-flip__inner {
    transition: transform 500ms ease;
    transform-style: preserve-3d;
}

.stance-flip__card.is-flipped .stance-flip__inner {
    transform: rotateY(180deg);
}

.stance-flip__face {
    backface-visibility: hidden;
}

.stance-flip__face--back {
    transform: rotateY(180deg);
}

.content-report-leaf__toggle {
    appearance: none;
    -webkit-appearance: none;
    font: inherit;
    cursor: pointer;
    outline-offset: -0.125rem;
}

.content-report-leaf__glyph {
    transition: transform 180ms ease;
}

.content-report-leaf__toggle.is-open .content-report-leaf__glyph {
    transform: rotate(45deg);
}

.content-report-leaf__orb {
    width: 10rem;
    height: 10rem;
    filter: blur(4rem);
}

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

/* values v27 - diagonal skewed constructivist cards */
.values-constructivist__wrap {
    max-width: 96rem;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.values-constructivist__col {
    display: flex;
}

.values-constructivist__card {
    transform: rotate(-3deg);
    will-change: transform;
    width: 100%;
    min-height: 22rem;
}

.values-constructivist__col:nth-child(even) .values-constructivist__card {
    transform: rotate(3deg);
}

.values-constructivist__icon-box {
    width: 3.5rem;
    height: 3.5rem;
    flex-shrink: 0;
}

.values-constructivist__dot {
    top: -0.75rem;
    left: -0.75rem;
    width: 2.5rem;
    height: 2.5rem;
}

.values-constructivist__card:hover,
.values-constructivist__card:focus-within {
    transform: rotate(0deg) translateY(-4px);
}

@media (prefers-reduced-motion: reduce) {
    .values-constructivist__card {
        transform: none;
    }

    .values-constructivist__col:nth-child(even) .values-constructivist__card {
        transform: none;
    }
}

