.presupuesto { max-width: 1240px; padding-top: 2rem; padding-bottom: 4rem; }
.presupuesto-cabecera { margin: 1.5rem 0 2rem; }
.presupuesto-cabecera h1 { max-width: 25ch; }
.presupuesto-indice { display: flex; gap: .7rem 1.4rem; flex-wrap: wrap; margin: 1.5rem 0; }
.presupuesto-cifras { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; border-top: 1px solid #c9c0b3; padding-top: 1.3rem; }
.presupuesto-cifras dt { font-size: .85rem; color: #5c584f; }
.presupuesto-cifras dd { font-size: 2.2rem; font-weight: 700; margin: .3rem 0 0; }
.presupuesto section { margin: 3rem 0; scroll-margin-top: 6rem; }
.presupuesto-filtros { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; margin: 1.4rem 0; }
.presupuesto-filtros label { display: flex; flex-direction: column; gap: .35rem; font-size: .9rem; }
.presupuesto-filtros input, .presupuesto-filtros select { font: inherit; border: 1px solid #aaa094; background: #fffdf8; border-radius: .25rem; padding: .6rem .7rem; max-width: 100%; min-height: 44px; }
.presupuesto-filtros input { width: 22rem; }
.presupuesto-tabla { overflow-x: auto; margin: 1.1rem 0; }
.presupuesto-tabla table { width: 100%; }
.presupuesto-tabla caption { text-align: left; font-weight: 600; padding: .5rem 0 .8rem; }
.presupuesto-tabla td, .presupuesto-tabla th { padding: .7rem .65rem; vertical-align: top; }
.presupuesto-tabla td:first-child { min-width: 190px; }
.presupuesto-tabla td.num { white-space: nowrap; font-variant-numeric: tabular-nums; }
.presupuesto-tabla [hidden] { display: none !important; }
.presupuesto-tabla code { font-size: .8rem; overflow-wrap: anywhere; }
.presupuesto-metodologia dt { font-weight: 650; margin-top: 1rem; }
.presupuesto-metodologia dd { margin: .3rem 0 0; max-width: 85ch; }
@media (max-width: 650px) { .presupuesto-cifras { grid-template-columns: repeat(2,1fr); } .presupuesto-filtros { align-items: stretch; } .presupuesto-filtros label { width: 100%; } .presupuesto-filtros input { width: 100%; box-sizing: border-box; } .presupuesto-tabla { font-size: .86rem; } }
