@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url("../fonts/montserrat-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --bizlink-font-family: "Montserrat", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --bizlink-font-size-xs: .75rem;
    --bizlink-font-size-sm: .875rem;
    --bizlink-font-size-base: 1rem;
    --bizlink-font-size-lg: 1.25rem;
    --bizlink-font-size-xl: 1.75rem;
    --bizlink-font-size-display: 2.25rem;
}

html { font-size: 100%; }

body,
button,
input,
select,
textarea,
.swal2-popup {
    font-family: var(--bizlink-font-family);
}

body { font-size: var(--bizlink-font-size-base); }

h1,
h2,
h3,
h4,
h5,
h6 { font-weight: 700; }

button,
.app-form button,
.secondary-button,
.workspace-shell .btn { font-weight: 600; }

.app-kicker,
.workspace-sidebar .nav-section-label,
.workspace-offcanvas .nav-section-label,
.workspace-table thead th,
.lead-badge,
.meeting-badge { font-size: var(--bizlink-font-size-xs); font-weight: 700; }

.app-form label,
.workspace-shell .app-form label,
.workspace-shell .service-editor label,
.workspace-shell .profile-picker,
.workspace-sidebar .nav-link,
.workspace-offcanvas .nav-link,
.workspace-heading p,
.workspace-card .card-subtitle,
.workspace-table,
.workspace-insight-list li,
.lead-card label,
.meeting-status-row label { font-size: var(--bizlink-font-size-sm); }

.auth-card h1,
.workspace-heading h1 { font-size: var(--bizlink-font-size-xl); }

.workspace-card .card-title,
.service-card-content h3,
.lead-card h3,
.meeting-card h3 { font-size: var(--bizlink-font-size-lg); }

.profile-content h1 {
    font-size: clamp(2rem, 8.7vw, 2.5rem);
    font-weight: 700;
    letter-spacing: -.05em;
}

.role { font-size: var(--bizlink-font-size-lg); font-weight: 700; }
.company-name,
.bio { font-size: var(--bizlink-font-size-base); }
.section-heading h2,
.lead-cta h2 { font-size: var(--bizlink-font-size-lg); }
.lead-cta > div > p,
.lead-cta label,
.lead-cta button { font-size: var(--bizlink-font-size-sm); }
.profile-footer,
.service-name,
.service-detail,
.service-short,
.status-row,
.action-grid a,
.action-button,
.action-unavailable { font-size: var(--bizlink-font-size-xs); }

@media (max-width: 575.98px) {
    .workspace-heading h1 { font-size: 1.5rem; }
}

@media (max-width: 390px) {
    .profile-content h1 { font-size: clamp(1.82rem, 9.2vw, 2.2rem); }
    .role { font-size: 1.125rem; }
}
