/* gallery v17 — diagonal cascade ribbon (clip-path + staggered offsets have no BS analog) */
.gallery-cascade__media {
    transition: clip-path 300ms ease;
}

@media (min-width: 640px) {
    [data-cascade-pos] {
        transition: transform 300ms ease;
    }

    [data-cascade-pos="0"] {
        transform: translateY(0);
    }

    [data-cascade-pos="0"] .gallery-cascade__media {
        clip-path: polygon(0 0, 100% 0, 100% 88%, 0 100%);
    }

    [data-cascade-pos="1"] {
        transform: translateY(1.75rem);
    }

    [data-cascade-pos="1"] .gallery-cascade__media {
        clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 88%);
    }

    [data-cascade-pos="2"] {
        transform: translateY(-1.25rem);
    }

    [data-cascade-pos="2"] .gallery-cascade__media {
        clip-path: polygon(0 0, 100% 12%, 100% 88%, 0 100%);
    }

    [data-cascade-pos="3"] {
        transform: translateY(2.25rem);
    }

    [data-cascade-pos="3"] .gallery-cascade__media {
        clip-path: polygon(0 12%, 100% 0, 100% 100%, 0 88%);
    }

    [data-cascade-pos]:hover {
        transform: translateY(0);
    }

    [data-cascade-pos]:hover .gallery-cascade__media {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }
}

.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;
}

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

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

.editorial-document__text-panel-inset {
    padding: 4rem;
}

/* Сетка карточек + gap (grid/gap в @sem могут обфусцироваться) */
.alternating-story-grid {
    display: grid;
    width: 100%;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 768px) {
    .alternating-story-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Иначе фото с большим intrinsic width раздувает ячейку шире текстовых карточек */
.alternating-story-grid > * {
    min-width: 0;
}

/* max-width + центрирование блока вне @sem (tw/bs одинаково, без обфускации mx-auto/max-w) */
.philosophy-v10-subtitle {
    width: 100%;
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
}

.philosophy-v10-wrap {
    position: relative;
    z-index: 10;
}

.philosophy-v10-thumb {
    width: 100%;
    max-width: 100%;
}

.philosophy-v10-thumb img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

.philosophy-alternating__blob-xl {
    width: 24rem;
    height: 24rem;
}

.philosophy-alternating__blob-lg {
    width: 20rem;
    height: 20rem;
}

.philosophy-alternating__blob-md {
    width: 16rem;
    height: 16rem;
}

.philosophy-alternating__dot-xl {
    width: 5rem;
    height: 5rem;
}

.philosophy-alternating__dot-lg {
    width: 4rem;
    height: 4rem;
}

.philosophy-alternating__dot-md {
    width: 3.5rem;
    height: 3.5rem;
}

.philosophy-alternating__dot-sm {
    width: 3rem;
    height: 3rem;
}

.philosophy-alternating__line {
    height: 1px;
}

.philosophy-alternating__line-xl {
    width: 24rem;
    height: 1px;
}

.philosophy-alternating__line-lg {
    width: 20rem;
    height: 1px;
}

.philosophy-alternating__line-md {
    width: 16rem;
    height: 1px;
}

.philosophy-alternating__line-sm {
    width: 14rem;
    height: 1px;
}

.philosophy-alternating__anim-delay-1 {
    animation-delay: 1s;
}

.philosophy-alternating__anim-delay-half {
    animation-delay: 0.5s;
}

.philosophy-alternating__anim-delay-1half {
    animation-delay: 1.5s;
}

.philosophy-alternating__anim-bounce-1 {
    animation-delay: 0s;
    animation-duration: 3s;
}

.philosophy-alternating__anim-bounce-2 {
    animation-delay: 1s;
    animation-duration: 4s;
}

.philosophy-alternating__anim-bounce-3 {
    animation-delay: 0.5s;
    animation-duration: 3.5s;
}

.philosophy-alternating__anim-bounce-4 {
    animation-delay: 1.5s;
    animation-duration: 4.5s;
}

.philosophy-alternating__anim-spin-slow {
    animation-duration: 20s;
}

.philosophy-alternating__anim-spin-reverse {
    animation-duration: 25s;
    animation-direction: reverse;
}

.philosophy-v10-thumb__img {
    object-fit: cover;
}

.philosophy-v10-abstract {
    min-height: 17.5rem;
}

.philosophy-v10-brand {
    min-height: 17.5rem;
}

.philosophy-v10-brand__inner {
    min-height: 17.5rem;
}

.philosophy-v10-brand__logo {
    width: 5rem;
    height: 5rem;
    padding: 0.75rem;
}

.philosophy-v10-brand__hatch {
    z-index: 1;
    background-image: repeating-linear-gradient(
        -38deg,
        transparent,
        transparent 8px,
        rgba(var(--bs-primary-rgb), 0.07) 8px,
        rgba(var(--bs-primary-rgb), 0.07) 9px
    );
}

.philosophy-v10-abstract__bg {
    z-index: 0;
}

.philosophy-v10-abstract__orb--a {
    animation: philosophy-v10-abstract-float 7s ease-in-out infinite;
}

.philosophy-v10-abstract__orb--b {
    animation: philosophy-v10-abstract-float 9s ease-in-out infinite reverse;
}

.philosophy-v10-abstract__arc--a {
    animation: philosophy-v10-abstract-dash 10s ease-in-out infinite;
}

.philosophy-v10-abstract__arc--b {
    animation: philosophy-v10-abstract-dash 12s ease-in-out infinite reverse;
}

@keyframes philosophy-v10-abstract-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

@keyframes philosophy-v10-abstract-dash {
    0%, 100% { opacity: 0.45; }
    50% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .philosophy-v10-abstract__orb--a,
    .philosophy-v10-abstract__orb--b,
    .philosophy-v10-abstract__arc--a,
    .philosophy-v10-abstract__arc--b {
        animation: none;
    }
}

.philosophy-alternating__blob-xl,
.philosophy-alternating__blob-lg,
.philosophy-alternating__blob-md,
.philosophy-alternating__line:not(.philosophy-alternating__line-xl):not(.philosophy-alternating__line-lg),
.philosophy-alternating__line-md,
.philosophy-alternating__line-sm {
    animation-name: philosophy-alternating__pulse;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

.philosophy-alternating__anim-bounce-1,
.philosophy-alternating__anim-bounce-2,
.philosophy-alternating__anim-bounce-3,
.philosophy-alternating__anim-bounce-4 {
    animation-name: philosophy-alternating__bounce;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

.philosophy-alternating__anim-spin-slow,
.philosophy-alternating__anim-spin-reverse {
    animation-name: philosophy-alternating__spin;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

@keyframes philosophy-alternating__pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

@keyframes philosophy-alternating__bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-25%); }
}

@keyframes philosophy-alternating__spin {
    to { transform: rotate(360deg); }
}

.content-brief__float-square {
    width: 4rem;
    height: 4rem;
}

.content-brief__float-square--slow {
    animation: content-brief-float-slow 10s ease-in-out infinite;
}

.content-brief__float-square--fast {
    animation: content-brief-float-fast 7s ease-in-out infinite;
}

@keyframes content-brief-float-slow {
    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-8px) rotate(6deg);
    }
}

@keyframes content-brief-float-fast {
    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(8px) rotate(-7deg);
    }
}

.content-vertical-paper__layout {
    display: grid;
    grid-template-columns: minmax(5rem, 8rem) minmax(0, 1fr);
}

.content-vertical-paper__title {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    letter-spacing: -0.025em;
}

@media (max-width: 767.98px) {
    .content-vertical-paper__layout {
        grid-template-columns: 1fr;
    }

    .content-vertical-paper__title {
        writing-mode: horizontal-tb;
        transform: none;
    }
}

/* Bootstrap: сетка + зазор; пропорции как md:w-1/2 и lg: 2/3 + 1/3 */
.values-bento-split__bs-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
    width: 100%;
}

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

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

    .values-bento-split__bs-grid .values-bento-split__bs-item--0 {
        grid-column: span 2;
    }

    .values-bento-split__bs-grid .values-bento-split__bs-item--1 {
        grid-column: span 1;
    }

    .values-bento-split__bs-grid .values-bento-split__bs-item--2 {
        grid-column: span 1;
    }

    .values-bento-split__bs-grid .values-bento-split__bs-item--3 {
        grid-column: span 2;
    }
}

.values-bento-split__subtitle-max {
    max-width: 48rem;
}

/* Текст под абсолютным кругом: отступы сильнее, чем были в bs (избегаем перекрытия) */
.values-bento-split__body {
    min-width: 0;
    margin-top: 6rem;
    margin-left: 0;
}

@media (min-width: 768px) {
    .values-bento-split__body {
        margin-top: 2rem;
        margin-left: 6rem;
    }
}

.values-bento-split__thumb {
    width: 4rem;
    height: 4rem;
}

@media (min-width: 768px) {
    .values-bento-split__thumb {
        width: 5rem;
        height: 5rem;
    }
}

