.focus-orb {
    top: 0;
    right: 0;
    width: 18rem;
    height: 18rem;
    filter: blur(3rem);
}

.focus-timeline {
    position: relative;
}

.focus-timeline__rail {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 1.5rem;
    width: 2px;
    pointer-events: none;
    --focus-tl-mid: var(--bs-primary, #60a5fa);
    background: linear-gradient(
        to bottom,
        color-mix(in srgb, var(--focus-tl-mid) 80%, transparent),
        color-mix(in srgb, var(--focus-tl-mid) 35%, transparent),
        transparent
    );
}

.dark .focus-timeline__rail {
    --focus-tl-mid: var(--bs-primary, #3b82f6);
}

@media (min-width: 768px) {
    .focus-timeline__rail {
        left: 50%;
        transform: translateX(-50%);
    }
}

.focus-timeline-dot {
    position: absolute;
    top: 1.25rem;
    left: 1.5rem;
    z-index: 2;
    transform: translateX(-50%);
}

@media (min-width: 768px) {
    .focus-timeline-dot {
        left: 50%;
        transform: translateX(-50%);
    }

    /* Відступ карток від центральної лінії (TW + BS) */
    .focus-timeline__item--left .focus-card-hover {
        margin-inline-start: clamp(1.25rem, 4vw, 2.75rem);
    }

    .focus-timeline__item--right .focus-card-hover {
        margin-inline-end: clamp(1.25rem, 4vw, 2.75rem);
    }
}

.focus-card-hover {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.focus-card-hover:hover {
    transform: translateY(-0.125rem);
    box-shadow: var(--bs-box-shadow);
}

.focus-icon-hover {
    transition: transform 0.2s ease;
}

.focus-card-hover:hover .focus-icon-hover {
    transform: scale(1.05);
}

.focus-title-hover {
    transition: color 0.2s ease;
}

.focus-card-hover:hover .focus-title-hover {
    color: var(--bs-primary, #2563eb);
}

.float-jitter-grid__portrait {
    width: 7rem;
    height: 7rem;
}

@media (min-width: 768px) {
    .float-jitter-grid__portrait {
        width: 8rem;
        height: 8rem;
    }
}

.float-jitter-grid__beacon {
    width: 1.5rem;
    height: 1.5rem;
}

.float-jitter-grid__tile:nth-child(4n+2) {
    transform: translateY(1rem) translateX(0.5rem);
}

.float-jitter-grid__tile:nth-child(4n+3) {
    transform: translateY(2rem) translateX(-0.5rem);
}

.float-jitter-grid__tile:nth-child(4n+4) {
    transform: translateY(1rem) translateX(1rem);
}

.art-deco-reveal-timeline__panel--hidden {
    display: none !important;
}

.art-deco-reveal-timeline__tab--active {
    position: relative;
}

.art-deco-reveal-timeline__tab--active::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 10px;
    height: 10px;
    outline: 2px solid;
    outline-offset: -2px;
}

@keyframes art-deco-reveal-timeline__reveal {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

.art-deco-reveal-timeline__panel:not(.art-deco-reveal-timeline__panel--hidden) {
    animation: art-deco-reveal-timeline__reveal 0.35s ease forwards;
}

.art-deco-reveal-timeline__corner-tl {
    top: 1.5rem;
    left: 1.5rem;
    width: 5rem;
    height: 5rem;
}

.art-deco-reveal-timeline__corner-tr {
    top: 1.5rem;
    right: 1.5rem;
    width: 5rem;
    height: 5rem;
}

.art-deco-reveal-timeline__corner-bl {
    bottom: 1.5rem;
    left: 1.5rem;
    width: 5rem;
    height: 5rem;
}

.art-deco-reveal-timeline__corner-br {
    bottom: 1.5rem;
    right: 1.5rem;
    width: 5rem;
    height: 5rem;
}

.art-deco-reveal-timeline__diamond-mid {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 0.75rem;
    height: 0.75rem;
    left: 0;
}

.art-deco-reveal-timeline__diamond-mid--right {
    left: auto;
    right: 0;
}

.art-deco-reveal-timeline__diamond-sm {
    width: 0.5rem;
    height: 0.5rem;
    transform: rotate(45deg);
}

.art-deco-reveal-timeline__inner-border {
    inset: 0.5rem;
}

.art-deco-reveal-timeline__icon-diamond {
    width: 5rem;
    height: 5rem;
    transform: rotate(45deg);
}

.art-deco-reveal-timeline__icon-inner {
    transform: rotate(-45deg);
}

.art-deco-reveal-timeline__diamond-xs {
    width: 0.375rem;
    height: 0.375rem;
    transform: rotate(45deg);
}

.art-deco-reveal-timeline__min-shrink {
  min-width: 0;
}

