.intro-split-icon {
    width: 3rem;
    height: 3rem;
}

/* Як TW: w-64 → sm:w-80 → lg:w-96 (одна шкала для обох фреймворків) */
.intro-split-thumb {
    width: 16rem;
    height: 16rem;
    flex-shrink: 0;
}

@media (min-width: 640px) {
    .intro-split-thumb {
        width: 20rem;
        height: 20rem;
    }
}

@media (min-width: 1024px) {
    .intro-split-thumb {
        width: 24rem;
        height: 24rem;
    }
}

/* Bootstrap: flex + gap (no .row negative margins; works with section overflow). Tailwind grid ignores flex on items. */
@media (min-width: 576px) {
    .intro-split-benefits__row > * {
        flex: 1 1 0%;
        min-width: 0;
    }
}

.essence-card-hover {
    transition: transform 0.3s ease;
}

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

.split-cyber-timeline__scanlines {
    background-image: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 2px,
        currentColor 2px,
        currentColor 3px
    );
}

@keyframes split-cyber-timeline__slide-left {
    from { opacity: 0; transform: translateX(-32px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes split-cyber-timeline__slide-right {
    from { opacity: 0; transform: translateX(32px); }
    to { opacity: 1; transform: translateX(0); }
}

.split-cyber-timeline__reveal-left {
    animation: split-cyber-timeline__slide-left 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.split-cyber-timeline__reveal-right {
    animation: split-cyber-timeline__slide-right 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.split-cyber-timeline__section {
    min-height: 480px;
}

.split-cyber-timeline__overlay-z {
    z-index: 10;
}

.split-cyber-timeline__inner-height {
    min-height: 480px;
}

.split-cyber-timeline__media-clip {
    min-height: 280px;
    position: relative;
}

.split-cyber-timeline__media-clip > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.split-cyber-timeline__media-clip--even {
    clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%);
}

.split-cyber-timeline__media-clip--odd {
    clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%);
}

.split-cyber-timeline__accent-bar {
    width: 4px;
}

.split-cyber-timeline__accent-bar--right {
    right: 0;
}

.split-cyber-timeline__accent-bar--left {
    left: 0;
}

.split-cyber-timeline__content-z {
    z-index: 20;
}

.split-cyber-timeline__line-sm {
    width: 1rem;
    height: 2px;
}

.split-cyber-timeline__accent-sm {
    width: 2rem;
    height: 0.25rem;
}

@media (min-width: 768px) {
    .split-cyber-timeline__section--reverse .split-cyber-timeline__inner {
        flex-direction: row-reverse;
    }

    .split-cyber-timeline__content-z--odd {
        padding-left: 4rem;
        padding-right: 3rem;
    }
}

.stacked-shadow-deck__portrait {
    width: 6rem;
    height: 6rem;
}

.stacked-shadow-deck__beacon {
    width: 1.5rem;
    height: 1.5rem;
    bottom: -0.125rem;
    right: -0.125rem;
}

.stacked-shadow-deck__beacon-dot {
    width: 0.5rem;
    height: 0.5rem;
}

.stacked-shadow-deck__shadow--far {
    transform: translate(0.5rem, 0.5rem);
}

.stacked-shadow-deck__shadow--near {
    transform: translate(0.25rem, 0.25rem);
}

.stacked-shadow-deck__corner {
    width: 3rem;
    height: 3rem;
}

.stacked-shadow-deck__min-shrink {
    min-width: 0;
}

#scroll-container {
  -ms-overflow-style: none;
  scrollbar-width: none;
  touch-action: pan-x;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

/* #scroll-container::-webkit-scrollbar {
  display: none;
} */
/* 
#scroll-container {
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
} */

/* @media (pointer: fine) {
  #scroll-container {
    scroll-snap-type: x proximity;
  }
} */

.values-scroll-deck__hint-right {
    cursor: pointer;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    right: 1rem;
}

.values-scroll-deck__hint-left {
    cursor: pointer;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    left: 1rem;
}

.values-scroll-deck__item {
    scroll-snap-align: center;
    width: 90%;
    min-width: 280px;
}

@media (min-width: 768px) {
    .values-scroll-deck__item {
        width: 70%;
    }
}

@media (min-width: 992px) {
    .values-scroll-deck__item {
        width: 55%;
    }
}

.values-scroll-deck__card {
    min-height: 380px;
}

.values-scroll-deck__thumb {
    width: 6rem;
    height: 6rem;
}

.values-scroll-deck__overlay {
    height: 6rem;
}

/* quote — featured academic quote + supporting cards */

/* serif lead + drop-cap. BS has no font-serif utility; font-family here is allowed (it is not a color) */
.quote-essay__lead {
    font-family: ui-serif, Georgia, "Times New Roman", serif;
}

.quote-essay__lead::first-letter {
    float: left;
    font-size: 3.25rem;
    line-height: 0.8;
    padding-right: 0.5rem;
    font-weight: 700;
}

/* author avatar: fixed size + cover (neither has a BS utility) */
.quote-essay__avatar {
    width: 3.5rem;
    height: 3.5rem;
    object-fit: cover;
}

.quote-essay__glow {
    width: 16rem;
    height: 16rem;
    filter: blur(64px);
}

/* stepping-stone offset rhythm on supporting cards — layout only */
@media (min-width: 1024px) {
    .quote-essay__step:nth-child(odd) {
        transform: translateY(0.75rem);
    }
    .quote-essay__step:nth-child(even) {
        transform: translateY(-0.25rem);
    }
}
/* hover + focus affordances (layout/outline via theme token) */
@media (hover: hover) {
    .quote-essay-root [role="listitem"]:hover,
    .quote-essay-root article:hover,
    .quote-essay-root [class*="quote-essay__card"]:hover,
    .quote-essay-root .quote-essay__book:hover,
    .quote-essay-root .quote-essay__step:hover,
    .quote-essay-root .quote-essay__index-card:hover,
    .quote-essay-root .quote-essay__pill:hover,
    .quote-essay-root .quote-essay__item:hover {
        transform: translateY(-0.125rem);
    }
}

.quote-essay-root [role="listitem"],
.quote-essay-root article,
.quote-essay-root [class*="quote-essay__card"],
.quote-essay-root .quote-essay__book,
.quote-essay-root .quote-essay__step,
.quote-essay-root .quote-essay__index-card,
.quote-essay-root .quote-essay__pill {
    transition: transform 200ms ease;
}

.quote-essay-root a:focus-visible,
.quote-essay-root button:focus-visible,
.quote-essay-root [tabindex="0"]:focus-visible,
.quote-essay-root input:focus-visible,
.quote-essay-root summary:focus-visible,
.quote-essay-root [role="slider"]:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

@media (hover: hover) {
    .quote-essay-root button:hover,
    .quote-essay-root a:hover,
    .quote-essay-root summary:hover {
        opacity: 0.92;
    }
}

