:root{
  --verde:#142019;
  --verde2:#1d2d24;
  --oro:#c8a96a;
  --oro2:#e3cf9f;
  --crema:#f7f3ea;
  --papel:#fffdf8;
  --tinta:#1f2421;
  --gris:#6b6f69;
  --linea:#e6dfcf;
  --linea-oscura:rgba(200,169,106,.28);
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Inter","Helvetica Neue",Arial,system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--crema);color:var(--tinta);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.barra{position:sticky;top:0;z-index:20;background:rgba(20,32,25,.97);backdrop-filter:blur(10px);color:var(--crema)}
.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem clamp(1rem,4vw,3rem) .35rem;color:var(--crema)}
.marca{display:flex;gap:.7rem;align-items:center}
.mono{width:40px;height:40px;border:1px solid var(--oro);border-radius:50%;display:grid;place-items:center;font:600 1.2rem var(--serif);color:var(--oro)}
.marca strong{font:600 1.25rem/1.1 var(--serif);letter-spacing:.05em;display:block}
.marca small{font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--oro);display:block}
.desde{margin:0;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--oro2);white-space:nowrap}
.tabs{display:flex;gap:.4rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:.35rem clamp(1rem,4vw,3rem) .7rem;border-bottom:1px solid var(--linea-oscura)}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto;appearance:none;background:transparent;border:1px solid transparent;color:var(--crema);padding:.42rem .95rem;border-radius:999px;cursor:pointer;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;opacity:.78;white-space:nowrap;transition:background .2s,color .2s,opacity .2s,border-color .2s}
.tab:hover{opacity:1;color:var(--oro2)}
.tab.activo,.tab[aria-selected="true"]{opacity:1;background:var(--oro);color:#142019;border-color:var(--oro);font-weight:600}
.wrap{max-width:1100px;margin:0 auto;padding:2rem clamp(1rem,4vw,3rem) 3.6rem;min-height:60vh}
.panel[hidden]{display:none}
.panel-head{margin-bottom:1.4rem;padding-bottom:.8rem;border-bottom:1px solid var(--linea)}
.panel-head h2{font:500 clamp(1.9rem,4vw,2.8rem)/1.1 var(--serif);margin:0}
.panel-lead{margin:.5rem 0 0;color:var(--gris)}
.kicker-linea{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#6d5626;margin:0 0 1rem}
.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0 0 1.8rem}
@media(min-width:800px){.kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
.kpi{background:var(--papel);border:1px solid var(--linea);border-radius:8px;padding:1.1rem 1.15rem}
.kpi span{display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);margin-bottom:.45rem}
.kpi b{display:block;font:500 clamp(1.25rem,2.4vw,1.7rem)/1.15 var(--serif);color:#3a3324;font-variant-numeric:tabular-nums}
.kpi.principal{background:var(--verde);color:var(--crema);border-color:var(--verde);grid-column:1/-1}
@media(min-width:800px){.kpi.principal{grid-column:auto}}
.kpi.principal span{color:var(--oro2)}
.kpi.principal b{color:var(--oro2);font-size:clamp(1.5rem,3vw,2.1rem)}
h3{font:600 1.45rem/1.2 var(--serif);margin:1.8rem 0 .7rem}
.panel p{margin:.7rem 0;max-width:70ch}
.tabla-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1rem 0 1.4rem;border:1px solid var(--linea);border-radius:8px;background:var(--papel)}
table{width:100%;border-collapse:collapse;min-width:32rem}
td,th{padding:.75rem 1rem;border-bottom:1px solid var(--linea);text-align:left;vertical-align:top}
th{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);background:#f3eee3;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tr.total td{font-weight:700;background:#f6f1e6}
td:nth-child(n+2){font-variant-numeric:tabular-nums}
.vacio{color:var(--gris);font-style:italic}
.pie{background:var(--verde);color:#cfc8b8;font-size:.82rem;text-align:center;padding:2rem 1rem}
.pie p{margin:.2rem auto}
.pie-ficcion{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--oro)}
@media(max-width:700px){
  .top{padding:.75rem 1rem .25rem}
  .desde{display:none}
  .tabs{padding:.35rem 1rem .65rem}
  .tab{font-size:.68rem;padding:.4rem .8rem;letter-spacing:.08em}
  table{min-width:28rem}
  td,th{padding:.65rem .75rem}
}
