/* Inter 4.1 oficial, sin modificaciones. La versión del paquete fija la URL del recurso. */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('vendor/inter/4.1/InterVariable.woff2') format('woff2');
}
@font-face {
    font-family: 'Inter';
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url('vendor/inter/4.1/InterVariable-Italic.woff2') format('woff2');
}
:root {
    --th-font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --th-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    --th-text-xs: .75rem;
    --th-text-sm: .875rem;
    --th-text-base: 1rem;
    --th-text-lg: 1.125rem;
    --th-text-xl: 1.25rem;
    --th-text-2xl: 1.5rem;
    --th-text-page: clamp(1.375rem, 1.125rem + .6vw, 1.625rem);
    --th-text-brand: clamp(2rem, 15vw, 5.125rem);
    --th-text-brand-compact: clamp(2rem, 8vw, 3.625rem);
    --th-text-hero: clamp(1.875rem, 3.4vw, 2.9375rem);
    --th-weight-normal: 400;
    --th-weight-medium: 500;
    --th-weight-semibold: 600;
    --th-weight-bold: 700;
    --th-leading-body: 1.5;
    --th-leading-heading: 1.3;
    --bs-font-sans-serif: var(--th-font-sans);
    --bs-font-monospace: var(--th-font-mono);
    --bs-body-font-family: var(--th-font-sans);
    --bs-body-font-size: var(--th-text-base);
    --bs-body-font-weight: var(--th-weight-normal);
    --bs-body-line-height: var(--th-leading-body);
}
body {
    font-family: var(--th-font-sans);
    font-size: var(--th-text-base);
    font-weight: var(--th-weight-normal);
    line-height: var(--th-leading-body);
    font-optical-sizing: auto;
    -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {
    font-weight: var(--th-weight-semibold);
    line-height: var(--th-leading-heading);
}
h1 { font-size: var(--th-text-page); font-weight: var(--th-weight-bold); }
h2 { font-size: var(--th-text-xl); }
h3, h4 { font-size: var(--th-text-lg); }
h5, h6 { font-size: var(--th-text-base); }
small, .small, .form-text { font-size: var(--th-text-sm); }
.form-label { font-size: var(--th-text-sm); font-weight: var(--th-weight-semibold); }
.form-control, .form-select, .input-group-text { font-size: var(--th-text-base); }
.table.th-table, .th-numeric { font-variant-numeric: tabular-nums; }
.th-text-caption { font-size: var(--th-text-xs); }
.th-text-body { font-size: var(--th-text-base); line-height: var(--th-leading-body); }
.th-text-help { font-size: var(--th-text-sm); line-height: var(--th-leading-body); }
.th-text-lead { font-size: var(--th-text-lg); line-height: var(--th-leading-body); }
/* Los datos usan la familia común; código y atajos conservan la mono de Bootstrap. */
@media (max-width: 575.98px) {
    .th-table-toolbar .input-group > .form-control,
    #offcanvasMenu .th-sidebar-search input { font-size: var(--th-text-base); }
}
