/* Shared, readable typography for the public site. Component sizing stays local. */
.bhc-site {
    --bhc-font-sans: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
    font-family: var(--bhc-font-sans);
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
.bhc-site :is(button, input, select, textarea) { font-family: inherit; }
.bhc-site :is(h1, h2, h3, h4, h5, h6) {
    font-family: var(--bhc-font-sans);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.025em;
    text-wrap: balance;
}
.bhc-site h1:not(.hero-title) { font-size: clamp(2rem, 3.5vw, 3.4rem); }
.bhc-site h2.section-title,
.bhc-site h2.display-6 { font-size: clamp(1.65rem, 2.6vw, 2.6rem); }
.bhc-site h3 { font-size: clamp(1.25rem, 1.7vw, 1.55rem); }
.bhc-site :is(p, li) { line-height: 1.65; }
.bhc-site .navbar .nav-link { font-size: .95rem; line-height: 1.4; }
.bhc-site :is(.form-control, .form-select) { font-size: 1rem; }
.bhc-site :is(.btn, button) { font-weight: 650; }
.bhc-site :is(a, button, input, select, textarea):focus-visible {
    outline: 3px solid #a9da51;
    outline-offset: 3px;
}
/* The catalog introduction remains visible above the filters on every screen. */
.bhc-catalog-intro { padding: clamp(30px, 4vw, 56px) 0 10px; }
.bhc-catalog-intro__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 12px;
    color: #0f766e;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.bhc-catalog-intro__eyebrow::before { content: ''; width: 24px; height: 2px; background: #0f766e; }
.bhc-catalog-intro h1 { max-width: 900px; margin: 0 0 10px; color: #082f2e; }
.bhc-catalog-intro p { max-width: 680px; margin: 0; color: #52666c; font-size: clamp(1rem, 1.2vw, 1.13rem); }
@media (max-width: 640px) {
    .bhc-site { font-size: 16px; }
    .bhc-site h1:not(.hero-title) { font-size: clamp(1.85rem, 8vw, 2.5rem); }
    .bhc-site .navbar .nav-link { font-size: 1rem; }
}
