/* Brand mark — aperture / orbital lockup */

.site-brand {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.15rem;
    min-width: 0;
    align-self: center;
}

.site-logo {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    line-height: 1;
}

.site-logo-mark {
    width: 2.35rem;
    height: 2.35rem;
    flex-shrink: 0;
}

.site-logo-ring {
    stroke: rgba(126, 179, 240, 0.42);
    stroke-width: 0.85;
    fill: none;
}

.site-logo-ring--outer {
    stroke-dasharray: 3 5;
    opacity: 0.75;
}

.site-logo-ring--inner {
    stroke: rgba(90, 159, 212, 0.55);
    opacity: 0.9;
}

.site-logo-orbit {
    stroke: rgba(90, 159, 212, 0.35);
    stroke-width: 0.75;
    stroke-linecap: round;
    fill: none;
}

.site-logo-spokes line {
    stroke: rgba(126, 179, 240, 0.28);
    stroke-width: 0.65;
    stroke-linecap: round;
}

.site-logo-core {
    opacity: 0.95;
}

.site-logo-flare {
    opacity: 0.92;
}

.site-logo-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.05rem;
    min-width: 0;
}

.site-logo-eyebrow {
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--accent-cyan);
    line-height: 1;
    text-shadow: 0 0 12px rgba(90, 159, 212, 0.45);
}

.site-logo-name {
    font-family: var(--font-serif);
    font-size: clamp(1.15rem, 2.4vw, 1.45rem);
    font-weight: 500;
    letter-spacing: 0.14rem;
    text-transform: uppercase;
    color: var(--text-primary);
    line-height: 1;
    text-shadow: var(--glow-text-soft);
}

.site-logo-tag {
    font-family: var(--font-mono);
    font-size: 0.5625rem;
    font-weight: 500;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-top: 0.15rem;
}

.site-logo--admin {
    padding: 0 1.25rem 1.5rem;
}

.site-logo--admin .site-logo-mark {
    width: 2rem;
    height: 2rem;
}

.site-logo--admin .site-logo-name {
    font-size: 1rem;
    letter-spacing: 0.1rem;
}

.site-logo--compact .site-logo-mark {
    width: 1.75rem;
    height: 1.75rem;
}

@media (max-width: 768px) {
    .site-logo {
        gap: 0.6rem;
    }

    .site-logo-mark {
        width: 2rem;
        height: 2rem;
    }

    .site-logo-eyebrow {
        font-size: 0.5rem;
        letter-spacing: 0.18em;
    }

    .site-logo-name {
        letter-spacing: 0.1rem;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .site-logo-mark {
        animation: logo-mark-pulse 6s ease-in-out infinite;
    }

    .site-logo-orbit {
        transform-origin: 20px 20px;
        animation: logo-orbit-drift 18s linear infinite;
    }
}

@keyframes logo-mark-pulse {
    0%, 100% { filter: drop-shadow(0 0 6px rgba(90, 159, 212, 0.35)); }
    50% { filter: drop-shadow(0 0 12px rgba(90, 159, 212, 0.55)); }
}

@keyframes logo-orbit-drift {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .site-logo-mark,
    .site-logo-orbit {
        animation: none;
    }
}
