/* intro v27 — Evangelion cascade: organic blob, wide banner, diagonal steps, slide-in L/R, word reveal */

/* Organic blob */
.intro-eva__blob {
    width: 24rem;
    height: 24rem;
    filter: blur(60px);
    opacity: 0.4;
    border-radius: 38% 62% 55% 45% / 55% 42% 58% 45%;
    animation: intro-eva-morph 12s ease-in-out infinite;
}
@keyframes intro-eva-morph {
    50% { border-radius: 55% 45% 42% 58% / 42% 58% 45% 55%; }
}

/* Single wide banner */
.intro-eva__banner-img {
    display: block;
    width: 100%;
    height: 12rem;
    object-fit: cover;
}
@media (min-width: 768px) {
    .intro-eva__banner-img { height: 16rem; }
}

/* Stepped diagonal cascade + asymmetric mixed sizes */
.intro-eva__row { margin-left: 0; }
.intro-eva__cell { max-width: 46rem; }
@media (min-width: 768px) {
    .intro-eva__row:nth-child(1) .intro-eva__cell { margin-left: 0;    max-width: 40rem; }
    .intro-eva__row:nth-child(2) .intro-eva__cell { margin-left: 3rem; max-width: 34rem; }
    .intro-eva__row:nth-child(3) .intro-eva__cell { margin-left: 6rem; max-width: 44rem; }
    .intro-eva__row:nth-child(4) .intro-eva__cell { margin-left: 9rem; max-width: 30rem; }
}

/* Slide-in from L / R on scroll — hidden only once JS arms it (no-JS content stays visible) */
.intro-eva.is-armed .intro-eva__row {
    opacity: 0;
    transition: opacity 560ms ease, transform 560ms ease;
}
.intro-eva.is-armed .intro-eva__row:nth-child(odd)  { transform: translateX(-2.5rem); }
.intro-eva.is-armed .intro-eva__row:nth-child(even) { transform: translateX(2.5rem); }
.intro-eva.is-armed .intro-eva__row.is-in { opacity: 1; transform: translateX(0); }

/* Letterpress-ish press using the element's own colour */
.intro-eva__press { text-shadow: 0 1px 0 currentColor; }

/* Word-by-word reveal */
.intro-eva__word { display: inline-block; }
.intro-eva.is-armed .intro-eva__word {
    opacity: 0;
    transform: translateY(0.6em);
    transition: opacity 420ms ease, transform 420ms ease;
}
.intro-eva.is-armed .intro-eva__reveal.is-in .intro-eva__word { opacity: 1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
    .intro-eva__blob { animation: none; }
    .intro-eva__row { opacity: 1; transform: none; }
    .intro-eva__word { opacity: 1; transform: none; }
}

.memo-number-hover,
.memo-box-hover,
.memo-cta-shadow,
.memo-cta-hover {
    transition: color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}

.memo-title-rule {
    border-bottom: 4px solid var(--bs-primary);
}

.memo-principle-rule {
    border-top: 2px solid rgba(var(--bs-emphasis-color-rgb), 0.2);
}

.memo-principle-group:hover .memo-number-hover {
    color: var(--bs-primary) !important;
}

.memo-principle-group:hover .memo-box-hover {
    border-top-color: rgba(var(--bs-primary-rgb), 0.4) !important;
}

.memo-cta-shadow {
    transform: translate(0.375rem, 0.375rem);
}

.memo-cta-group:hover .memo-cta-shadow {
    transform: translate(0, 0);
}

.memo-cta-hover:hover {
    background-color: var(--bs-accent, rgb(var(--tw-accent-600, 37 99 235) / 1)) !important;
    color: #fff !important;
    border-color: var(--bs-accent, rgb(var(--tw-accent-700, 29 78 216) / 1)) !important;
}

/* 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;
}

.roster-lift-hover__portrait {
    width: 7rem;
    height: 7rem;
}

.roster-lift-hover__min-shrink {
  min-width: 0;
}

/* quote v14 — nebula bento grid (BS fallback: CSS Grid row-span has no Bootstrap analog) */
.quote-nebula__bento {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.quote-nebula__bento-item--feature {
    grid-column: span 2 / span 2;
    grid-row: span 2 / span 2;
}

.quote-nebula__bento-item--wide {
    grid-column: span 2 / span 2;
}

.quote-nebula__bento-item--small {
    grid-column: span 1 / span 1;
}

@media (max-width: 767px) {
    .quote-nebula__bento {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .quote-nebula__bento-item--feature {
        grid-row: span 1 / span 1;
    }
}

/* grunge torn-edge clip via jagged polygon (no BS/clip-path analog) */
.quote-nebula__torn {
    clip-path: polygon(
        0% 2%, 4% 0%, 12% 1.5%, 22% 0%, 33% 1.2%, 45% 0%, 58% 1.5%, 70% 0%, 82% 1%, 92% 0%, 100% 2%,
        100% 96%, 96% 100%, 88% 98%, 76% 100%, 64% 98.5%, 52% 100%, 40% 98%, 28% 100%, 16% 98.5%, 6% 100%, 0% 97%
    );
}

/* blurred background glow behind the featured quote, sharp content stays on top (no BS backdrop-filter analog) */
.quote-nebula__glow {
    filter: blur(48px);
}

/* fixed decorative arrow-icon sizing (no BS w/h utility for arbitrary rem sizes) */
.quote-nebula__arrow {
    display: inline-flex;
    width: 1.25rem;
    height: 1.25rem;
}

/* terminal-style annotation block */
.quote-nebula__terminal {
    white-space: pre-wrap;
    word-break: break-word;
}

/* scroll-triggered slide-in reveal — root background stays a still, non-animated texture on purpose */
.quote-nebula__reveal {
    transition: transform 700ms ease, opacity 700ms ease;
}

.quote-nebula__reveal--left {
    transform: translateX(-2.5rem);
    opacity: 0;
}

.quote-nebula__reveal--right {
    transform: translateX(2.5rem);
    opacity: 0;
}

.quote-nebula__reveal.is-visible {
    transform: translateX(0);
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .quote-nebula__reveal {
        transition: opacity 200ms ease;
        transform: none;
    }

    .quote-nebula__reveal--left,
    .quote-nebula__reveal--right {
        transform: none;
    }
}
/* hover + focus affordances (layout/outline via theme token) */
@media (hover: hover) {
    .quote-nebula-root [role="listitem"]:hover,
    .quote-nebula-root article:hover,
    .quote-nebula-root [class*="quote-nebula__card"]:hover,
    .quote-nebula-root .quote-nebula__book:hover,
    .quote-nebula-root .quote-nebula__step:hover,
    .quote-nebula-root .quote-nebula__index-card:hover,
    .quote-nebula-root .quote-nebula__pill:hover,
    .quote-nebula-root .quote-nebula__item:hover {
        transform: translateY(-0.125rem);
    }
}

.quote-nebula-root [role="listitem"],
.quote-nebula-root article,
.quote-nebula-root [class*="quote-nebula__card"],
.quote-nebula-root .quote-nebula__book,
.quote-nebula-root .quote-nebula__step,
.quote-nebula-root .quote-nebula__index-card,
.quote-nebula-root .quote-nebula__pill {
    transition: transform 200ms ease;
}

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

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

