.logo {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

.logo img {
    height: 40px;
    width: auto;
    display: block;
    transition: transform 0.3s ease;
}

.logo:hover img {
    transform: scale(1.05);
}

.logo-text {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
    font-family: 'Outfit', sans-serif;
    gap: 1px;
}

.logo-brand {
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: -0.04em;
    background: linear-gradient(120deg, var(--accent, #2563eb) 0%, #7c3aed 45%, #ec4899 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: background-position 0.4s ease;
}

.logo:hover .logo-brand {
    background-position: right center;
}

.logo-tagline {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--text-tertiary, #64748b);
    transition: color 0.3s ease;
}

.logo-wati {
    color: var(--accent, #2563eb);
    font-weight: 700;
}

.logo:hover .logo-tagline {
    color: var(--text-secondary, #334155);
}

.logo-icon .logo-text {
    align-items: center;
    margin-top: 8px;
}

.logo-icon .logo-brand {
    font-size: 1.6rem;
}

.logo-icon .logo-tagline {
    font-size: 0.62rem;
}

@media (max-width: 480px) {
    .logo img {
        height: 35px;
    }

    .logo-text {
        gap: 0;
    }

    .logo-brand {
        font-size: 1.15rem;
    }

    .logo-tagline {
        font-size: 0.6rem;
        letter-spacing: 0.1em;
    }
}
