/* intro v26 — Dieter Rams node: hex grid, bottom band, blurred ghost image, serif, typewriter */

/* Hexagon-ish grid (minimal, colour from Tailwind text-*, lines via currentColor) */
.intro-node__hex {
    background-image:
        repeating-linear-gradient(60deg, currentColor 0 1px, transparent 1px 26px),
        repeating-linear-gradient(-60deg, currentColor 0 1px, transparent 1px 26px);
    opacity: 0.1;
}

.intro-node__band { height: 10rem; opacity: 0.7; }

/* Blurred background photo behind the spotlight node */
.intro-node__ghost { height: 14rem; }
.intro-node__img {
    object-fit: cover;
    filter: blur(10px);
    opacity: 0.35;
    transform: scale(1.08);
}

/* Serif heading */
.intro-node__serif {
    font-family: ui-serif, Georgia, "Times New Roman", serif;
}

/* Org-chart stem connector */
.intro-node__stem {
    width: 1px;
    height: 2rem;
}

/* Typewriter caret */
.intro-node__type .is-typing {
    border-right: 2px solid currentColor;
    animation: intro-node-caret 800ms step-end infinite;
}
@keyframes intro-node-caret {
    50% { border-color: transparent; }
}

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

/* v10 - Diagonal Skewed Timeline with Brutalist Borders (no BS analog for skew transform) */
.steps-brutal-skew__row {
    opacity: 0;
    transform: translateX(-1.5rem) skewX(-2deg);
    transition: opacity 500ms ease, transform 500ms ease;
}

.steps-brutal-skew__row.is-visible {
    opacity: 1;
    transform: skewX(-2deg);
}

.steps-brutal-skew__row:nth-child(even) {
    transform: translateX(1.5rem) skewX(2deg);
}

.steps-brutal-skew__row:nth-child(even).is-visible {
    transform: skewX(2deg);
}

.steps-brutal-skew__panel {
    transform: skewX(2deg);
}

.steps-brutal-skew__row:nth-child(even) .steps-brutal-skew__panel {
    transform: skewX(-2deg);
}

.steps-brutal-skew__num {
    transform: skewX(2deg);
}

.steps-brutal-skew__row:nth-child(even) .steps-brutal-skew__num {
    transform: skewX(-2deg);
}

/* fixed-size number badge — no Bootstrap width/height utility beyond w-25/50/75/100 */
.slant-ledger__badge {
    width: 5rem;
    height: 5rem;
}

@media (min-width: 768px) {
    .slant-ledger__badge {
        width: 6rem;
        height: 6rem;
    }
}

/* CTA hover — Bootstrap has no hover: utility variants like Tailwind's hover:bg-*.
   Pre-approved color exception for CTA/pill hover states (theme-token fallback). */
.slant-ledger__cta {
    transition: background-color 200ms ease, color 200ms ease;
}

.slant-ledger__cta:hover {
    background-color: var(--bs-primary, rgb(var(--tw-primary-600, 37 99 235) / 1)) !important;
    color: var(--bs-white, #fff) !important;
}

.ideal-ledger__col-label {
    width: 2rem;
}

.ideal-ledger__col-title {
    width: 16rem;
}

