/* A single wordmark -> monogram sequence, adapted from the selected Quik concept.
   Resting logos do no work. Only finite, composited animations run on interaction. */
.brand-wordmark {
    white-space: nowrap;
}

/* Legacy assets/css/main.css paints every bare span lavender; the glyphs are
   spans, so they need their own colour. The wordmark is always white. */
.brand-wordmark .brand-wordmark__letter {
    color: #fff;
}

.brand-wordmark__letter {
    display: inline-block;
    transform-origin: 50% 72%;
    backface-visibility: hidden;
}

[data-brand-motion] {
    isolation: isolate;
}

[data-brand-motion]:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 6px;
}

.site-header__brand[data-brand-motion]:hover .site-header__logo-icon {
    transform: none;
}

.site-header__brand[data-brand-motion]:hover .site-header__wordmark {
    color: var(--text-primary);
}

.brand-transition {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: var(--bg-base);
    color: var(--text-primary);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    contain: layout paint;
}

:is(.brand-departing, .brand-arriving) .brand-transition {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    /* Independent escape hatch if scripting or navigation is interrupted. */
    animation: brand-safety-release 0s 6s forwards;
}

.brand-transition__stage {
    position: relative;
    display: grid;
    place-items: center;
    width: min(88vw, 40rem);
    height: clamp(9rem, 24vw, 14rem);
    perspective: 800px;
}

.brand-transition__wordmark {
    position: relative;
    font-family: 'Poppins', sans-serif;
    font-size: clamp(1.65rem, 6.2vw, 3.7rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.065em;
}

.brand-transition__monogram {
    position: absolute;
    width: clamp(4.25rem, 10vw, 6rem);
    height: auto;
    opacity: 0;
    transform-origin: center;
}

@keyframes brand-safety-release {
    to { visibility: hidden; pointer-events: none; }
}

@media (prefers-reduced-motion: reduce) {
    :is(.brand-departing, .brand-arriving) .brand-transition {
        display: none;
    }
    [data-brand-motion] .brand-wordmark__letter,
    [data-brand-motion] [data-brand-icon] {
        transform: none !important;
        opacity: 1 !important;
    }
}
