:root {
    --coralbliz-indigo: #4f46e5;
    --coralbliz-indigo-deep: #312e81;
    --coralbliz-coral: #f06b64;
    --coralbliz-coral-light: #fda29b;
    --coralbliz-ink: #1e1b4b;
}

.coralbliz-brand {
    --coralbliz-emblem-size: 42px;
    --coralbliz-name-size: 29px;
    --coralbliz-word-color: var(--coralbliz-ink);
    --coralbliz-emblem-surface: rgba(79, 70, 229, .055);
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
    color: var(--coralbliz-word-color);
    line-height: 1;
    text-decoration: none;
}

.coralbliz-brand__emblem {
    width: var(--coralbliz-emblem-size);
    height: var(--coralbliz-emblem-size);
    flex: 0 0 auto;
    overflow: visible;
    filter: drop-shadow(0 7px 13px rgba(49, 46, 129, .13));
}

.coralbliz-brand__halo {
    fill: var(--coralbliz-emblem-surface);
    stroke: rgba(79, 70, 229, .21);
    stroke-width: 1;
    transition:
        fill .45s ease,
        stroke .45s ease,
        transform .7s cubic-bezier(.16, 1, .3, 1);
    transform-origin: center;
}

.coralbliz-brand__sweep,
.coralbliz-brand__letter-b,
.coralbliz-brand__b-flourish {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.coralbliz-brand__sweep {
    stroke: var(--coralbliz-indigo);
    stroke-width: 2.7;
}

.coralbliz-brand__letter-b {
    stroke: var(--coralbliz-coral);
    stroke-width: 2.55;
}

.coralbliz-brand__b-flourish {
    stroke: var(--coralbliz-coral);
    stroke-width: 1.35;
}

.coralbliz-brand__bud {
    fill: var(--coralbliz-coral-light);
    stroke: #fff;
    stroke-width: 1;
    transform-box: fill-box;
    transform-origin: center;
    transition: transform .65s cubic-bezier(.16, 1, .3, 1);
}

.coralbliz-brand__lockup {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
}

.coralbliz-brand__name {
    position: relative;
    display: inline-flex;
    align-items: baseline;
    padding-bottom: 5px;
    color: var(--coralbliz-word-color);
    font-family: "Libre Caslon Text", Georgia, serif;
    font-size: var(--coralbliz-name-size);
    font-weight: 400;
    letter-spacing: -.055em;
    line-height: .9;
    white-space: nowrap;
}

.coralbliz-brand__name::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 3px;
    width: 38%;
    height: 1.5px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--coralbliz-coral), rgba(240, 107, 100, 0));
    transform: rotate(-2deg);
    transform-origin: 0 50%;
    transition: width .55s cubic-bezier(.16, 1, .3, 1);
}

.coralbliz-brand__coral {
    color: inherit;
}

.coralbliz-brand__bliz {
    margin-left: .02em;
    color: var(--coralbliz-coral);
    font-style: italic;
    font-weight: 700;
    letter-spacing: -.075em;
    transform: translateY(.015em);
}

.coralbliz-brand__subtitle {
    margin-top: 4px;
    color: #64748b;
    font-family: "Manrope", sans-serif;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .19em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

a.coralbliz-brand:hover .coralbliz-brand__halo {
    fill: rgba(240, 107, 100, .08);
    stroke: rgba(240, 107, 100, .38);
    transform: rotate(-7deg) scale(1.035);
}

a.coralbliz-brand:hover .coralbliz-brand__name::after {
    width: 76%;
}

a.coralbliz-brand:hover .coralbliz-brand__bud--one {
    transform: translate(-1px, -1px) scale(1.12);
}

a.coralbliz-brand:hover .coralbliz-brand__bud--two {
    transform: translate(1px, -1px) scale(1.16);
}

a.coralbliz-brand:hover .coralbliz-brand__bud--three {
    transform: translateY(-1.5px) scale(1.1);
}

a.coralbliz-brand:focus-visible {
    border-radius: 8px;
    outline: 3px solid rgba(99, 102, 241, .3);
    outline-offset: 5px;
}

.coralbliz-brand--footer {
    --coralbliz-emblem-size: 52px;
    --coralbliz-name-size: 37px;
    gap: 12px;
}

.coralbliz-brand--auth {
    --coralbliz-emblem-size: 62px;
    --coralbliz-name-size: 43px;
    gap: 15px;
}

.coralbliz-brand--admin {
    --coralbliz-emblem-size: 44px;
    --coralbliz-name-size: 24px;
    gap: 9px;
}

.coralbliz-brand--print {
    --coralbliz-emblem-size: 48px;
    --coralbliz-name-size: 35px;
}

.coralbliz-brand--inverse {
    --coralbliz-emblem-size: 64px;
    --coralbliz-name-size: clamp(38px, 4vw, 58px);
    --coralbliz-word-color: #fff;
    --coralbliz-emblem-surface: rgba(255, 255, 255, .09);
    gap: 15px;
}

.coralbliz-brand--inverse .coralbliz-brand__halo {
    stroke: rgba(255, 255, 255, .44);
}

.coralbliz-brand--inverse .coralbliz-brand__sweep {
    stroke: #fff;
}

.coralbliz-brand--inverse .coralbliz-brand__letter-b,
.coralbliz-brand--inverse .coralbliz-brand__b-flourish {
    stroke: #ffaaa3;
}

.coralbliz-brand--inverse .coralbliz-brand__bliz {
    color: #ffaaa3;
}

.coralbliz-brand--inverse .coralbliz-brand__subtitle {
    color: rgba(255, 255, 255, .72);
}

.coralbliz-brand--transition {
    --coralbliz-emblem-size: 68px;
    --coralbliz-name-size: clamp(38px, 4vw, 58px);
    --coralbliz-word-color: #fff;
    --coralbliz-emblem-surface: rgba(255, 255, 255, .075);
    gap: 16px;
}

.coralbliz-brand--transition .coralbliz-brand__halo {
    stroke: rgba(255, 255, 255, .38);
}

.coralbliz-brand--transition .coralbliz-brand__sweep {
    stroke: #fff;
}

.coralbliz-brand--transition .coralbliz-brand__letter-b,
.coralbliz-brand--transition .coralbliz-brand__b-flourish {
    stroke: #ffaaa3;
}

.coralbliz-brand--transition .coralbliz-brand__bliz {
    color: #ffaaa3;
}

body.admin-collapsed #adminDesktopSidebar .coralbliz-brand__lockup {
    display: none;
}

@media (max-width: 639px) {
    .coralbliz-brand--nav {
        --coralbliz-emblem-size: 38px;
        --coralbliz-name-size: 24px;
        gap: 7px;
    }

    .coralbliz-brand--footer {
        --coralbliz-emblem-size: 46px;
        --coralbliz-name-size: 33px;
    }

    .coralbliz-brand--auth {
        --coralbliz-emblem-size: 50px;
        --coralbliz-name-size: 35px;
        gap: 10px;
    }

    .coralbliz-brand--transition {
        --coralbliz-emblem-size: 58px;
        --coralbliz-name-size: 38px;
        flex-direction: column;
        gap: 14px;
    }
}

@media (max-width: 360px) {
    .coralbliz-brand--nav {
        --coralbliz-emblem-size: 36px;
        --coralbliz-name-size: 21px;
        gap: 6px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .coralbliz-brand *,
    .coralbliz-brand *::before,
    .coralbliz-brand *::after {
        animation: none !important;
        transition: none !important;
    }
}
