@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@800;900&display=swap');

.brand-morph {
    position: relative;
    width: 34px;
    height: 38px;
    flex: 0 0 auto;
    display: inline-flex;
    overflow: hidden;
    direction: ltr;
    isolation: isolate;
    transition: width .52s cubic-bezier(.22, 1, .36, 1);
}

.brand-morph .logo-compact,
.brand-morph .logo-full {
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-flex;
    align-items: baseline;
    white-space: nowrap;
    font-family: Montserrat, "Arial Black", Arial, sans-serif;
    line-height: 1;
    transform-origin: left center;
    will-change: opacity, transform, filter;
}

.brand-morph .logo-compact {
    font-size: 27px;
    font-weight: 900;
    gap: 2px;
    letter-spacing: 0;
    opacity: 1;
    filter: blur(0);
    transform: translateY(-50%) translateX(0) scaleY(1.16);
    transition: opacity .2s ease .12s, transform .46s cubic-bezier(.22, 1, .36, 1), filter .32s ease;
}

.brand-morph .logo-full {
    font-size: 20px;
    font-weight: 800;
    letter-spacing: -.35px;
    opacity: 0;
    filter: blur(5px);
    transform: translateY(-50%) translateX(-10px) scale(.86);
    transition: opacity .24s ease, transform .5s cubic-bezier(.22, 1, .36, 1), filter .34s ease;
}

.brand-morph .logo-trade,
.brand-morph .logo-t {
    color: #fff;
    font-style: normal;
}

.brand-morph .logo-ios,
.brand-morph .logo-i {
    color: var(--blue, #079cff);
    font-style: normal;
}

.brand-morph:hover,
.brand-morph:focus-visible {
    width: 112px;
}

.brand-morph:hover .logo-compact,
.brand-morph:focus-visible .logo-compact {
    opacity: 0;
    filter: blur(5px);
    transform: translateY(-50%) translateX(13px) scale(.76) scaleY(1.16);
    transition-delay: 0s;
}

.brand-morph:hover .logo-full,
.brand-morph:focus-visible .logo-full {
    opacity: 1;
    filter: blur(0);
    transform: translateY(-50%) translateX(0) scale(1);
    transition-delay: .1s;
}

.brand-morph:focus-visible {
    outline: 2px solid var(--blue, #079cff);
    outline-offset: 5px;
    border-radius: 3px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (prefers-reduced-motion: reduce) {
    .brand-morph,
    .brand-morph .logo-compact,
    .brand-morph .logo-full {
        transition-duration: .01ms;
    }
}
