/* v20 — decorative large animated elements */
@keyframes glance-float {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-12px) scale(1.02); }
}
@keyframes glance-pulse-slow {
    0%, 100% { opacity: 0.15; }
    50% { opacity: 0.25; }
}

.glance-float { animation: glance-float 6s ease-in-out infinite; animation-delay: 1s; }
.glance-float-reverse { animation: glance-float-reverse 8s ease-in-out infinite; animation-delay: 2s; }
.glance-pulse-slow { animation: glance-pulse-slow 4s ease-in-out infinite; }

.glance-orb-one {
    top: -2rem;
    left: -2rem;
    width: 16rem;
    height: 16rem;
    filter: blur(3rem);
}

.glance-orb-three {
    bottom: -3rem;
    left: 25%;
    width: 14rem;
    height: 14rem;
}

.glance-spin-orb {
    top: 1rem;
    right: 1rem;
    width: 8rem;
    height: 8rem;
    animation-duration: 25s;
}

.glance-orb-four {
    bottom: 2rem;
    left: -1rem;
    width: 6rem;
    height: 6rem;
    transform: rotate(12deg);
}

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

.glance-cta-hover:hover {
    transform: scale(1.05);
}

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

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

/* Совпадает с Tailwind max-w-4xl (56rem) для Bootstrap-ветки */
.border-rail-list__shell {
    max-width: 56rem;
}

.border-rail-list__portrait {
    width: 7rem;
    height: 7rem;
}

@media (min-width: 768px) {
    .border-rail-list__portrait {
        width: 8rem;
        height: 8rem;
    }
}

.border-rail-list__min-shrink {
  min-width: 0;
}

/* Grid + gap: @sem may obfuscate Tailwind grid/gap */
.rotating-badge-grid {
    display: grid;
    width: 100%;
    gap: 1.5rem;
    grid-template-columns: minmax(0, 1fr);
}

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

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

@media (min-width: 1280px) {
    .rotating-badge-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* Badge: w-12 = 3rem — lift above card (bs had top-0) */
.philosophy-v4-badge-decor {
    top: -2.25rem;
}

.philosophy-rotate-badge {
    width: 3rem;
    height: 3rem;
}

.philosophy-bg__img {
    object-fit: cover;
}

