/* intro v28 — Arc diagonal-split: clip split, floating rings, ransom-note words, grayscale hover, click burst */

/* Diagonal split zone */
.intro-arc2__split {
    clip-path: polygon(0 0, 100% 0, 100% 62%, 0 100%);
    opacity: 0.6;
}

/* Floating rings / donuts (fixed size — no BS w-N/h-N utility) */
.intro-arc2__ring { width: 10rem; height: 10rem; animation: intro-arc2-float 7s ease-in-out infinite; }
.intro-arc2__ring--2 { width: 6rem; height: 6rem; animation-duration: 9s; animation-delay: 1s; }
@keyframes intro-arc2-float {
    50% { transform: translateY(-1.2rem) rotate(20deg); }
}

/* Serif accent (paired with sans body) */
.intro-arc2__serif { font-family: ui-serif, Georgia, "Times New Roman", serif; }

/* Hero image grayscale → colour reveal on hover */
.intro-arc2__figure { aspect-ratio: 4 / 3; }
.intro-arc2__img {
    object-fit: cover;
    filter: grayscale(1);
    transition: filter 420ms ease;
}
.intro-arc2__figure:hover .intro-arc2__img { filter: grayscale(0); }

/* Ransom-note mixed letters: alternate rotation, weight, family (no colour) */
.intro-arc2__word {
    display: inline-block;
    margin-right: 0.25em;
}
.intro-arc2__word:nth-child(3n+1) { transform: rotate(-4deg); font-weight: 900; }
.intro-arc2__word:nth-child(3n+2) { transform: rotate(3deg);  font-family: ui-serif, Georgia, serif; font-style: italic; }
.intro-arc2__word:nth-child(3n+3) { transform: rotate(-1deg); font-weight: 700; text-transform: uppercase; }

/* Click burst spark (inherits the button's primary colour via currentColor) */
.intro-arc2__react { position: relative; overflow: visible; }
.intro-arc2__spark {
    position: absolute;
    left: 50%;
    top: 50%;
    pointer-events: none;
    animation: intro-arc2-burst 640ms ease-out forwards;
}
@keyframes intro-arc2-burst {
    to { opacity: 0; transform: translate(var(--dx), var(--dy)) scale(0.4) rotate(160deg); }
}

@media (prefers-reduced-motion: reduce) {
    .intro-arc2__ring { animation: none; }
}

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

.sidebar-dot-card-timeline__line {
    width: 2px;
    left: 1rem;
}

@media (min-width: 768px) {
    .sidebar-dot-card-timeline__line {
        left: 2rem;
    }
}

.sidebar-dot-card-timeline__dot {
    width: 1rem;
    height: 1rem;
    left: 0.5rem;
    margin-top: 0.5rem;
}

@media (min-width: 768px) {
    .sidebar-dot-card-timeline__dot {
        left: 1.5rem;
        transform: translateX(-0.5rem);
    }
}

.sidebar-dot-card-timeline__card {
    margin-left: 0;
}

@media (min-width: 768px) {
    .sidebar-dot-card-timeline__card {
        margin-left: 4rem;
    }
}

/* values datatable v18 - grid layout only, no colors */
.values-datatable__row {
    column-gap: 1rem;
}

@media (min-width: 640px) {
    .values-datatable__row {
        column-gap: 1.5rem;
    }
}

.crew-card-snapshot__cover {
    width: 100%;
    height: 16rem;
}

.crew-card-snapshot__min-shrink {
  min-width: 0;
}

.staircase-cascade-quote__portrait {
    width: 5rem;
    height: 5rem;
}

.staircase-cascade-quote__step:nth-child(1) .staircase-cascade-quote__shadow {
    transform: translate(0, 0);
}

.staircase-cascade-quote__step:nth-child(2) .staircase-cascade-quote__shadow {
    transform: translate(16px, 16px);
}

.staircase-cascade-quote__step:nth-child(3) .staircase-cascade-quote__shadow {
    transform: translate(32px, 32px);
}

.staircase-cascade-quote__step:nth-child(4) .staircase-cascade-quote__shadow {
    transform: translate(48px, 48px);
}

.staircase-cascade-quote__step:nth-child(5) .staircase-cascade-quote__shadow {
    transform: translate(64px, 64px);
}

.staircase-cascade-quote__step:nth-child(6) .staircase-cascade-quote__shadow {
    transform: translate(80px, 80px);
}

.staircase-cascade-quote__step:nth-child(n + 7) .staircase-cascade-quote__shadow {
    transform: translate(96px, 96px);
}

