/* Fuentes y adaptación v9: el kit suministrado conserva sus originales. */
@font-face{font-family:Sora;font-style:normal;font-weight:400;font-display:swap;src:url('/brand/fonts/sora-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:Sora;font-style:normal;font-weight:500;font-display:swap;src:url('/brand/fonts/sora-latin-500-normal.woff2') format('woff2')}
:root{--font-num:'Sora',var(--font-sans);--font-mono:var(--font-num)}
:is(.num,.data-mono,.gf-num,.kpi-value,.gf-stat__value,.tx-count,.tx-r-count,.dense-stat-value,td.n,td.num,.heor-result-value){font-family:var(--font-num);font-variant-numeric:tabular-nums lining-nums}
:is(.gf-stat__value,.kpi-value,.metric-value,.admin-stat-value,.stat-value){font-family:var(--font-num);font-weight:500}
:is(code,pre,.api-code,.markdown-code,.tool-call){font-family:'JetBrains Mono',monospace!important}
:is(.doi,.heor-doi,.heor-result-meta,.tariff-code,time,.source-code){font-family:var(--font-sans)!important}
.grafem-public .footer-brand p{font:400 14px/1.6 var(--font-sans);text-transform:none;letter-spacing:normal;color:#fff}
.grafem-public .hero-editorial{aspect-ratio:1;overflow:visible;background:var(--surface);box-shadow:none;isolation:isolate}
.grafem-public .hero-editorial grafem-orbit{aspect-ratio:1;width:100%;min-width:100%}
.grafem-public .hero-source-slip{left:auto;right:0;bottom:0;width:68%;max-width:360px;height:190px;box-sizing:border-box;padding:16px;margin:0;background:var(--surface-raised);border:1px solid var(--line);box-shadow:none;display:flex;flex-direction:column;gap:6px;transition:opacity 200ms ease,transform 200ms ease;z-index:2}
.grafem-public .hero-source-slip.is-changing{opacity:0;transform:translateY(6px)}
.grafem-public .hero-source-slip>span{color:var(--ink-brand);font:500 12px/1.4 var(--font-sans)}
.grafem-public .hero-source-slip>strong{font:500 16px/1.35 var(--font-display);margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.hero-source-slip .orbit-meta{font:400 12px/1.4 var(--font-sans);color:var(--ink-muted);margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.hero-source-slip .orbit-value{font:400 15px/1.4 var(--font-num);font-variant-numeric:tabular-nums lining-nums;margin:0}
.hero-source-slip .orbit-link{margin-top:auto;font:500 12px/1.4 var(--font-sans);color:var(--ink-brand);text-decoration:none}
.orbit-tabs{display:none}.api-landing-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}grafem-agent-demo{min-width:0;width:100%}.blog-empty{min-height:55vh}.blog-empty p{margin:20px 0 28px;max-width:60ch}
@media(max-width:767px){.grafem-public .hero-editorial{aspect-ratio:auto;display:flex;flex-direction:column}.grafem-public .hero-editorial grafem-orbit{aspect-ratio:640/460}.grafem-public .hero-source-slip{position:relative;inset:auto;width:100%;max-width:none;height:190px;order:3}.orbit-tabs{display:flex;gap:4px;margin:0 0 12px;order:2}.orbit-tabs button{font:400 12px/1.4 var(--font-sans);color:var(--ink-muted);padding:8px 6px;flex:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-pill)}.orbit-tabs button[aria-selected=true]{color:var(--ink-brand);border-color:var(--grafem-300);background:var(--surface-sunken);font-weight:600}.api-landing-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.grafem-public .hero-source-slip{transition:none}}
@media(min-width:768px){.grafem-public .hero-source-slip{position:absolute}}
/* Las cifras tabulares heredan Sora, los identificadores conservan lectura sans. */
.gf-dtable :is(.c-num,.c-year),.gf-tray__stats,.gf-dtoolbar__sel{font-family:var(--font-num);font-variant-numeric:tabular-nums lining-nums}
.gf-dtable :is(.tariff-code,.dense-code,.c-source),.heor-result-meta,.heor-result .doi{font-family:var(--font-sans)}
.gf-kbd{font-family:var(--font-sans)}
.grafem-public .proof-grid strong,.grafem-app :is(.kpi-value,.metric-value,.admin-stat-value,.stat-value){font-family:var(--font-num);font-weight:500;font-variant-numeric:tabular-nums lining-nums}
.grafem-app .chart-text.num,.grafem-app .chart-text-value{font-family:var(--font-num);font-variant-numeric:tabular-nums lining-nums}
.app-admin .admin-kpi>strong{font-family:var(--font-num);font-weight:500;font-variant-numeric:tabular-nums lining-nums}

/* Ronda v10: la cobertura forma una sola pieza, sin texto suelto. */
.grafem-public .hero-data-block{margin-top:32px;border-top:1px solid var(--line);padding-top:18px}
.grafem-public .hero-data-intro{font:400 14px/1.5 var(--font-sans);color:var(--ink-muted);margin:0 0 16px}
.grafem-public .hero-data-intro b{font-weight:600;color:var(--ink)}
.grafem-public .hero-data-stats{display:flex;flex-wrap:wrap;gap:16px 32px;margin:0}
.grafem-public .hero-data-stats>div{display:flex;flex-direction:column;flex:0 0 auto;min-width:max-content}
.grafem-public .hero-data-stats dd{order:-1;margin:0 0 4px;font:500 24px/1.3 var(--font-num);font-variant-numeric:tabular-nums lining-nums;color:var(--ink)}
.grafem-public .hero-data-stats dt{font:400 13px/1.5 var(--font-sans);color:var(--ink-muted)}
.grafem-public .api-landing-grid{display:flex;flex-direction:column;gap:32px}
.grafem-public .api-landing-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;width:100%}
.grafem-public .api-landing-points{margin:0;color:var(--ink-muted)}
.grafem-public .api-landing-grid>grafem-agent-demo{width:100%;max-width:1040px;margin-inline:auto}
@media(max-width:767px){.grafem-public .api-landing-intro{grid-template-columns:minmax(0,1fr);gap:24px}}
