.intro-animated-gradient__root {
    padding-top: clamp(4rem, 12vw, 10rem);
    padding-bottom: clamp(4rem, 12vw, 10rem);
    min-height: min(32rem, 85vh);
}

@keyframes intro-animated-gradient-spin {
    to {
        transform: rotate(360deg);
    }
}

.intro-animated-gradient__spin--left,
.intro-animated-gradient__spin--right {
    width: 85%;
    height: 85%;
    top: 7.5%;
    animation-name: intro-animated-gradient-spin;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    transform-origin: 50% 50%;
}

.intro-animated-gradient__spin--left {
    left: -18%;
    animation-duration: 48s;
}

.intro-animated-gradient__spin--right {
    right: -18%;
    animation-duration: 60s;
    animation-direction: reverse;
}

.intro-animated-gradient__area {
    max-width: 48rem;
}

.perspective-masthead-rule {
    border-top: 4px solid var(--bs-body-color);
    border-bottom: 4px solid var(--bs-body-color);
}

.perspective-title-rule {
    border-bottom: 2px solid var(--bs-body-color);
}

.perspective-quote-frame {
    border-top: 1px solid rgba(var(--bs-emphasis-color-rgb), 0.2);
    border-bottom: 1px solid rgba(var(--bs-emphasis-color-rgb), 0.2);
    border-left: 4px solid var(--bs-primary);
}

.perspective-headline-hover {
    transition: color 0.2s ease;
}

.perspective-headline-hover:hover {
    color: var(--bs-primary);
}

.perspective-micro-label {
    font-size: 0.6rem;
    letter-spacing: 0.15em;
}

.perspective-byline-suffix {
    font-size: 0.6rem;
    opacity: 0.6;
}

.perspective-quote-text {
    font-size: 1.1rem;
}

.perspective-card-desc {
    font-size: 0.875rem;
}

/* Values v24 - luxury manifesto hairline rule and vertical rhythm (layout only, no colors) */

.values-manifesto__rule {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1px;
    background: currentColor;
    opacity: 0.15;
}

/* Совпадает с 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;
}

/* quote v29 — Xbox pinwheel: origami fold, device bezel frame, ruler marks, hover overlay */

.quote-xbox__grid {
    /* ultra-tight compact layout */
}

.quote-xbox__item {
    min-height: 10rem;
}

/* origami fold effect via clip-path diagonal cut */
.quote-xbox__card {
    clip-path: polygon(0 0, 100% 0, 100% 95%, 95% 100%, 0 100%);
    transition: transform 200ms ease-out;
}

/* device bezel frame styling */
.quote-xbox__bezel {
    background-image:
        linear-gradient(135deg, rgba(0,0,0,0.04) 0%, transparent 50%),
        linear-gradient(-135deg, rgba(0,0,0,0.04) 0%, transparent 50%);
    box-shadow: inset 0 0 0.5rem rgba(0, 0, 0, 0.08), 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* ruler measurement marks corner decoration */
.quote-xbox__ruler {
    opacity: 0.6;
}

/* badge positioning and style */
.quote-xbox__badge {
    z-index: 2;
}

/* hover overlay slide-down effect */
.quote-xbox__overlay {
    overflow: hidden;
}

@media (hover: hover) {
    .quote-xbox__item:hover .quote-xbox__overlay {
        top: 0;
    }

    .quote-xbox__item:hover .quote-xbox__card {
        transform: translateY(0.25rem);
    }
}

.quote-xbox__overlay-text {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: break-word;
}

/* energy/aggressive border accent on hover */
@media (hover: hover) {
    .quote-xbox__item:hover .quote-xbox__bezel {
        border-color: rgb(var(--tw-primary-600, 139, 92, 246));
        box-shadow: inset 0 0 0.5rem rgba(139, 92, 246, 0.2), 0 4px 12px rgba(139, 92, 246, 0.3);
    }
}

/* responsive text sizing */
@media (max-width: 639px) {
    .quote-xbox__item {
        min-height: 9rem;
    }
}

/* watermark title utilities */
.quote-xbox__watermark {
    font-weight: 900;
    letter-spacing: -0.06em;
}

/* measurement marks SVG styling */
.quote-xbox__ruler line {
    stroke-linecap: round;
}

/* accessibility: ensure overlay is visible on focus */
.quote-xbox__item:focus-within .quote-xbox__overlay {
    top: 0;
}

