.intro-cta-content {
    max-width: 56rem;
}

.about-mosaic__tile { opacity: 0; transform: translateY(1.5rem); transition: opacity 700ms ease, transform 700ms cubic-bezier(.2, .8, .2, 1), box-shadow 300ms ease; }
.about-mosaic.is-visible .about-mosaic__tile { opacity: 1; transform: none; }

.about-mosaic__caption { font-size: .875rem; line-height: 1.25rem; }
.about-mosaic__link i { transition: transform 250ms ease; }
.about-mosaic__link:hover i { transform: translateX(.25rem); }

.about-mosaic__area { aspect-ratio: 5 / 2; cursor: crosshair; touch-action: pan-y; }
.about-mosaic__area svg, .about-mosaic__mini svg { display: block; width: 100%; height: 100%; overflow: visible; }
.about-mosaic__area text { font-size: 12px; font-weight: 700; }
.about-mosaic__mini { height: 4.5rem; }

.about-mosaic__draw { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1600ms cubic-bezier(.2, .8, .2, 1) 300ms; }
.about-mosaic__fade { opacity: 0; transition: opacity 900ms ease 900ms; }
.about-mosaic__col { transform-box: fill-box; transform-origin: 50% 100%; transform: scaleY(0); transition: transform 900ms cubic-bezier(.2, .8, .2, 1); }
.about-mosaic__seg { transform-box: fill-box; transform-origin: 0 50%; transform: scaleX(0); transition: transform 700ms cubic-bezier(.2, .8, .2, 1); }
.about-mosaic__arc { transition: stroke-dashoffset 1500ms cubic-bezier(.2, .8, .2, 1) 300ms; }
.about-mosaic__needle { transition: transform 1500ms cubic-bezier(.3, 1.3, .4, 1) 300ms; }
.about-mosaic__pulse { transform-box: fill-box; transform-origin: center; animation: about-mosaic-pulse 2.2s ease-out infinite; }
.about-mosaic__cursor { opacity: 0; transition: opacity 200ms ease; }
.about-mosaic__area.is-hover .about-mosaic__cursor { opacity: 1; }

.is-drawn .about-mosaic__draw { stroke-dashoffset: 0; }
.is-drawn .about-mosaic__fade { opacity: 1; }
.is-drawn .about-mosaic__col, .is-drawn .about-mosaic__seg { transform: none; }

@keyframes about-mosaic-pulse { 0% { transform: scale(1); opacity: .5; } 100% { transform: scale(3.2); opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
    .about-mosaic__tile, .about-mosaic__draw, .about-mosaic__fade, .about-mosaic__col, .about-mosaic__seg, .about-mosaic__arc, .about-mosaic__needle { transition: none; }
    .about-mosaic__tile { opacity: 1; transform: none; }
    .about-mosaic__pulse { animation: none; opacity: 0; }
}

.about-mosaic__tip, .about-mosaic__dot { opacity: 0; pointer-events: none; transition: opacity 200ms ease; white-space: nowrap; }
.about-mosaic__dot { width: 1rem; height: 1rem; }
.about-mosaic__area.is-hover .about-mosaic__tip, .about-mosaic__area.is-hover .about-mosaic__dot { opacity: 1; }

/* wpg-hidden: utility classes are renamed in production builds, so hidden states must not rely on .hidden / .d-none alone */
.about-mosaic[hidden], .about-mosaic [hidden], .about-mosaic .hidden.d-none { display: none !important; }

/* value + unit suffix stay inside their card: smaller suffix, long words may break */
.about-mosaic__suffix { font-size: .55em; margin-left: .1em; }
.about-mosaic :has(> .about-mosaic__suffix) { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }

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

.timeline-bubble-row__portrait {
    width: 10rem;
    height: 10rem;
}

.timeline-bubble-row__beacon {
    width: 1.5rem;
    height: 1.5rem;
}

.timeline-bubble-row__min-shrink {
  min-width: 0;
}


.beacon-signal__section {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.beacon-signal__inner {
    max-width: 64rem;
    width: 100%;
    box-sizing: border-box;
    padding-bottom: 1.5rem;
}

@keyframes beacon-signal-pin-blink-seq {
    0%, 100% { opacity: 1; }
    50%       { opacity: .5; }
}
.beacon-signal__pin--blink {
    animation: beacon-signal-pin-blink-seq 2s cubic-bezier(.4,0,.6,1) infinite;
}

.beacon-signal__slab--glow:hover { transform: scale(1.05); transition: transform .2s ease; }

.beacon-signal__record--glow:hover { transform: scale(1.05); transition: transform .2s ease; }

.beacon-signal__prompt--glow:hover { transform: scale(1.05); transition: transform .2s ease; }

.beacon-signal__action--glow:hover { transform: scale(1.05); transition: transform .2s ease; }

/* Equal columns + row/column gap (flex-wrap + content width caused uneven cards) */
.beacon-signal__surround-row-bs {
    display: grid;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1rem;
    row-gap: 1.5rem;
}

@media (min-width: 768px) {
    .beacon-signal__surround-row-bs {
        column-gap: 1.25rem;
        row-gap: 1.75rem;
    }
}

@media (min-width: 992px) {
    .beacon-signal__surround-row-bs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 1.5rem;
        row-gap: 1.75rem;
    }
}

.beacon-signal__surround-row-bs > .beacon-signal__record--glow {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    min-width: 0;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

