.brand-logo {
    display: inline-flex;
    align-items: center;
    gap: clamp(0.65rem, 2vw, 0.95rem);
    flex-shrink: 0;
    line-height: 1;
    text-decoration: none;
    transition: opacity 0.18s ease, transform 0.18s ease;
}
.brand-logo:hover {
    opacity: 0.94;
    transform: translateY(-1px);
}
.brand-logo__mark {
    display: block;
    width: auto;
    height: auto;
    object-fit: contain;
    flex-shrink: 0;
    filter:
        drop-shadow(0 3px 14px rgba(22, 18, 16, 0.22))
        contrast(1.06)
        saturate(1.12);
}
.brand-logo__name {
    font-family: var(--display, "Fraunces", Georgia, serif);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1;
    white-space: nowrap;
}
.brand-logo__heat {
    background: linear-gradient(180deg, #ff6028 0%, #f0a020 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.brand-logo__wood {
    color: var(--ink, #161210);
}
.brand-logo--header .brand-logo__mark {
    max-height: clamp(3.5rem, 11vw, 4.75rem);
    max-width: 4.75rem;
}
.brand-logo--header .brand-logo__name {
    font-size: clamp(1.85rem, 4.5vw, 2.5rem);
}
.brand-logo--footer .brand-logo__mark {
    max-height: clamp(3.75rem, 10vw, 4.75rem);
    max-width: 4.75rem;
    filter:
        drop-shadow(0 8px 26px rgba(0, 0, 0, 0.5))
        contrast(1.08)
        saturate(1.15);
}
.brand-logo--footer .brand-logo__name {
    font-size: clamp(1.85rem, 4.2vw, 2.45rem);
}
.brand-logo--footer .brand-logo__wood {
    color: #fff;
}
.brand-logo--footer .brand-logo__heat {
    background: linear-gradient(180deg, #ff8550 0%, #ffc45a 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.brand-logo--admin .brand-logo__mark {
    max-height: clamp(2.5rem, 6vw, 3rem);
    max-width: 3rem;
    filter:
        drop-shadow(0 4px 16px rgba(0, 0, 0, 0.42))
        contrast(1.06)
        saturate(1.1);
}
.brand-logo--admin .brand-logo__name {
    font-size: clamp(1.3rem, 2.6vw, 1.55rem);
}
.brand-logo--admin .brand-logo__wood {
    color: #fff;
}
.brand-logo--admin .brand-logo__heat {
    background: linear-gradient(180deg, #ff8550 0%, #ffc45a 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.brand-logo--hero {
    margin: 0 0 1.15rem;
}
.brand-logo--hero .brand-logo__mark {
    max-height: clamp(5rem, 18vw, 8rem);
    max-width: clamp(5rem, 18vw, 8rem);
    filter:
        drop-shadow(0 12px 34px rgba(0, 0, 0, 0.62))
        contrast(1.1)
        saturate(1.18);
}
.brand-logo--hero .brand-logo__name {
    font-size: clamp(3.25rem, 11vw, 5.75rem);
}
.brand-logo--hero .brand-logo__wood {
    color: #fff;
    text-shadow: 0 10px 32px rgba(0, 0, 0, 0.55);
}
.brand-logo--hero .brand-logo__heat {
    background: linear-gradient(180deg, #ff9555 0%, #ffd080 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 5px 18px rgba(0, 0, 0, 0.4));
}
.brand-logo--login {
    justify-content: center;
    margin: 0 auto 0.95rem;
}
.brand-logo--login .brand-logo__mark {
    max-height: clamp(3.5rem, 12vw, 4.5rem);
    max-width: 4.5rem;
}
.brand-logo--login .brand-logo__name {
    font-size: clamp(1.85rem, 4.8vw, 2.35rem);
}

@media (max-width: 640px) {
    .brand-logo--header {
        gap: 0.5rem;
    }
    .brand-logo--header .brand-logo__mark {
        max-height: clamp(2.75rem, 12vw, 3.5rem);
        max-width: clamp(2.75rem, 12vw, 3.5rem);
    }
    .brand-logo--header .brand-logo__name {
        font-size: clamp(1.25rem, 5.2vw, 1.85rem);
    }
    .brand-logo--footer .brand-logo__mark {
        max-height: 3.5rem;
        max-width: 3.5rem;
    }
    .brand-logo--footer .brand-logo__name {
        font-size: clamp(1.45rem, 4vw, 1.85rem);
    }
}

@media (max-width: 380px) {
    .brand-logo--header .brand-logo__name {
        display: none;
    }
}
