/**
 * Barron Contact — duo form styles (v1.2.0)
 *
 * Theme-agnostic. Consuming themes can override colours via these
 * custom properties; sensible neutral defaults are provided.
 */
.bc-duo {
    --bc-duo-accent: var(--bc-accent, #1a1a1a);
    --bc-duo-accent-ink: var(--bc-accent-ink, #ffffff);
    --bc-duo-border: var(--bc-border, #d8d8d8);
    --bc-duo-muted: var(--bc-muted, #6b6b6b);
    max-width: 640px;
}

.bc-duo-tabs {
    display: flex;
    gap: 0;
    margin-bottom: 1.75rem;
    border-bottom: 1px solid var(--bc-duo-border);
}

.bc-duo-tab {
    flex: 1 1 0;
    padding: 0.9rem 1rem;
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    font: inherit;
    font-size: 0.95rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--bc-duo-muted);
    cursor: pointer;
    transition: color 0.18s ease, border-color 0.18s ease;
}

.bc-duo-tab:hover {
    color: var(--bc-duo-accent);
}

.bc-duo-tab.is-active {
    color: var(--bc-duo-accent);
    border-bottom-color: var(--bc-duo-accent);
}

.bc-duo-tab:focus-visible {
    outline: 2px solid var(--bc-duo-accent);
    outline-offset: 2px;
}

.bc-duo-panel {
    animation: bc-duo-fade 0.3s ease;
}

.bc-duo-panel[hidden] {
    display: none;
}

@keyframes bc-duo-fade {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .bc-duo-panel { animation: none; }
}
