/* Fiscal Responsibility inherits the approved campaign hero and issue-page system. */
.fiscal-hero .fight-hero-portrait img { filter: grayscale(1); object-position: 75% 50%; }
@media (max-width: 1000px) {
  .fiscal-hero .fight-hero-portrait img { object-position: 82% 50%; }
}
@media (max-width: 600px) {
  /* Show the wider composition behind the headline instead of stretching
     the landscape file to fill a tall phone screen. */
  .fiscal-hero .fight-hero-portrait picture {
    position: absolute;
    top: 8%;
    left: -70%;
    width: 170%;
    height: auto;
    aspect-ratio: 4 / 3;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 14%, #000 76%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 14%, #000 76%, transparent 100%);
  }
  .fiscal-hero .fight-hero-portrait img { object-position: center; }
}
.fiscal-chart-header { display: flex; flex-direction: column; gap: var(--space-4); }
.fiscal-chart-header figcaption { margin-bottom: 0; font-size: var(--text-lg); }
.fiscal-switch { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.fiscal-switch[hidden] { display: none; }
.fiscal-switch button { font: 500 var(--text-sm)/1.5 var(--sans); color: var(--cream); background: var(--ink); border: 1px solid var(--rule); border-radius: 0; padding: var(--space-3) var(--space-4); min-height: 44px; cursor: pointer; }
.fiscal-switch button[aria-pressed="true"] { color: var(--yellow); border-color: var(--yellow); }
.fiscal-switch button:hover { background: var(--ink-raised); border-color: var(--yellow); }
.fiscal-budget-chart > .housing-chart-context { margin-top: var(--space-5); }
.fiscal-budget-layout { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: var(--space-9); padding-block: var(--space-5); }
.fiscal-pie-column { min-width: 0; }
.fiscal-pie { position: relative; width: min(100%,400px); aspect-ratio: 1; margin-inline: auto; border-radius: 50%; background: conic-gradient(#ffd100 0% 44.230419%,#f0e9d6 44.230419% 65.449353%,#a89e89 65.449353% 83.156104%,#55554f 83.156104% 100%); }
.fiscal-pie > span { position: absolute; transform: translate(-50%,-50%); font: 600 18px/1 var(--sans); color: var(--ink); }
.fiscal-pie > span.is-dark { color: var(--cream); }
.fiscal-pie-total { margin-top: var(--space-6); text-align: center; }
.fiscal-pie-total strong { display: block; font: 500 var(--text-xl)/1.3 var(--sans); font-variant-numeric: tabular-nums; }
.fiscal-pie-total > span { display: block; color: var(--cream-dim); font-size: var(--text-sm); margin-top: var(--space-2); }
.fiscal-budget-key { list-style: none; padding: 0; margin: 0 0 var(--space-5); }
.fiscal-budget-key li { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; gap: var(--space-3); align-items: start; padding-block: var(--space-5); border-top: 1px solid var(--rule); }
.fiscal-key-number { display: grid; place-items: center; width: 26px; height: 26px; font-size: var(--text-sm); font-weight: 600; color: var(--ink); background: var(--yellow); }
.fiscal-budget-key li:nth-child(2) .fiscal-key-number { background: var(--cream); }
.fiscal-budget-key li:nth-child(3) .fiscal-key-number { background: #a89e89; }
.fiscal-budget-key li:nth-child(4) .fiscal-key-number { background: #55554f; color: var(--cream); }
.fiscal-budget-key li > div > span { font-size: var(--text-base); font-weight: 500; }
.fiscal-budget-key small { display: block; color: var(--cream-dim); font-size: var(--text-xs); line-height: 1.6; margin-top: var(--space-2); }
.fiscal-budget-key li > p { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.fiscal-budget-key li strong { display: block; font-size: var(--text-lg); font-weight: 500; }
.fiscal-budget-key li > p > span { color: var(--cream-dim); font-size: var(--text-sm); }
.fiscal-live { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; margin: 0; }
.fiscal-strengths { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-7); }
.fiscal-strengths article, .fiscal-evidence article { border-top: 1px solid var(--rule); padding-top: var(--space-5); min-width: 0; }
.fiscal-stat { font: 700 clamp(4rem,7vw,7rem)/1.1 var(--display); color: var(--yellow); margin: 0 0 var(--space-5); }
.fiscal-stat > span { font-size: .5em; }
.fiscal-stat-word { font-size: clamp(3rem,5vw,5rem); padding-top: .44em; }
.fiscal-strengths h3, .fiscal-evidence h3, .fiscal-federal-note h3, .fiscal-tests h3 { font: 600 var(--text-lg)/1.35 var(--sans); margin-bottom: var(--space-4); }
.fiscal-strengths article > p:not(.fiscal-stat), .fiscal-evidence article > p, .fiscal-federal-note > p, .fiscal-tests p { color: var(--cream-dim); }
.fiscal-evidence { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-9); }
.fiscal-evidence article > .fiscal-evidence-label { font-size: var(--text-sm); color: var(--yellow); margin: 0 0 var(--space-5); }
.fiscal-policy-take { margin-top: var(--space-6); padding-top: var(--space-5); border-top: 1px solid var(--rule); }
.fiscal-policy-take strong { color: var(--cream); }
.fiscal-federal-note { margin-top: var(--space-8); padding-top: var(--space-6); border-top: 1px solid var(--rule); max-width: 85ch; }
.fiscal-tests { list-style: none; padding: 0; margin: 0; }
.fiscal-tests li { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: var(--space-6); padding-block: var(--space-6); border-top: 1px solid var(--rule); }
.fiscal-tests li > span { font: 500 var(--text-xl)/1.35 var(--sans); color: var(--yellow); }
.fiscal-tests p { margin: 0; max-width: 80ch; }
.fiscal-section-note { margin-top: var(--space-7); max-width: 85ch; }
.page-fight .housing-details a { color: var(--cream); text-underline-offset: .2em; }
#fiscal-pressure .housing-gap { flex-wrap: wrap; }
@media(max-width:1000px) { .fiscal-budget-layout, .fiscal-evidence { gap: var(--space-7); } }
@media(max-width:850px) { .fiscal-strengths { grid-template-columns: 1fr; } .fiscal-stat-word { padding-top: 0; } }
@media(max-width:760px) {
  .fiscal-budget-layout, .fiscal-evidence { grid-template-columns: 1fr; }
  .fiscal-pie { max-width: 340px; }
  .fiscal-budget-key li { column-gap: var(--space-2); }
  .fiscal-budget-key li > div > span { font-size: var(--text-sm); }
  .fiscal-tests li { grid-template-columns: 34px minmax(0,1fr); gap: var(--space-4); }
}
