/* Content-sized detail header. A portrait is an identity cue, not a reserved
   media column. Auto rows collapse missing fields and let the native full-title
   disclosure expand without overlapping the sponsor or metadata. The explicit
   belt/inner scope also wins over the historical prototype layout layers.
   The shared desktop rail below the headline is independent of jurisdiction;
   smaller screens keep the same identity block in reading order below it. */
.nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero {
  height: auto !important;
  min-height: 0 !important;
  padding-block: 20px !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  grid-template-rows: none !important;
  grid-auto-rows: max-content;
  grid-auto-flow: row;
  column-gap: 12px !important;
  row-gap: 0 !important;
  align-items: start !important;
  align-content: start !important;
}
.nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .hero-copy { display: contents !important; }
.nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero h1 {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  order: 0;
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  -webkit-line-clamp: unset !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  font-size: clamp(24px, 2.4vw, 32px) !important;
  line-height: 1.2 !important;
}
.nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .bill-no {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  order: 1;
  margin-top: 8px !important;
}
.nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .nl-official-title,
.nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .hero-title-source {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  order: 2;
  margin: 8px 0 0 !important;
  min-width: 0;
}
.nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .hero-deck {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  order: 3;
}
.nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .avatar.politician-media {
  grid-column: 1 !important;
  grid-row: auto !important;
  order: 4;
  width: 44px !important;
  height: 52px !important;
  margin: 12px 0 0 !important;
  transform: none !important;
  position: relative !important;
  inset: auto !important;
  overflow: hidden !important;
  align-self: center !important;
  justify-self: start !important;
}
.nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .nl-sponsor-monogram { font-size: 16px; }
.nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .hero-sponsor-line {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  order: 5;
  align-self: center !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  flex-wrap: wrap;
  gap: 4px 8px !important;
  min-width: 0;
  overflow-wrap: anywhere;
}
.nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero:has(.avatar.politician-media:not([hidden])) .hero-sponsor-line {
  grid-column: 2 / -1 !important;
}
.nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .hero-sponsor-line strong { font-size: 13px !important; line-height: 1.5; }
.nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .hero-sponsor-role { font-size: 12px !important; }
.nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .hero-facts {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  order: 6;
  margin-top: 16px !important;
  padding-top: 12px !important;
  gap: 8px 24px !important;
  font-size: 12px !important;
  line-height: 1.5;
  min-width: 0;
}
.nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .hero-facts > div { min-width: 0; overflow-wrap: anywhere; }
.nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .hero-provenance {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  order: 7;
  margin: 10px 0 0 !important;
  font-size: 11px;
  line-height: 1.5;
}
.nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero [hidden] { display: none !important; }
@media (min-width: 900px) {
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero:has(.hero-sponsor-line:not([hidden])) {
    grid-template-columns: minmax(0, 1fr) 44px minmax(160px, 220px) !important;
  }
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero:has(.hero-sponsor-line:not([hidden])) h1 { grid-row: 1 !important; }
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero:has(.hero-sponsor-line:not([hidden])) .bill-no {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero:has(.hero-sponsor-line:not([hidden])) .nl-official-title,
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero:has(.hero-sponsor-line:not([hidden])) .hero-title-source {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero:has(.hero-sponsor-line:not([hidden])) .hero-deck {
    grid-column: 1 !important;
    grid-row: 4 !important;
  }
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero:has(.hero-sponsor-line:not([hidden])) .avatar.politician-media {
    grid-column: 2 !important;
    grid-row: 2 / 5 !important;
    margin: 8px 0 0 !important;
  }
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .hero-sponsor-line:not([hidden]) {
    grid-column: 2 / -1 !important;
    grid-row: 2 / 5 !important;
    margin: 8px 0 0 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
  }
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero:has(.avatar.politician-media:not([hidden])) .hero-sponsor-line:not([hidden]) {
    grid-column: 3 !important;
  }
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .hero-sponsor-role > span[aria-hidden="true"] { display: none; }
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero:has(.hero-sponsor-line:not([hidden])) .hero-facts { grid-row: 5 !important; }
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero:has(.hero-sponsor-line:not([hidden])) .hero-provenance { grid-row: 6 !important; }
}
@media (max-width: 599px) {
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero {
    padding: 18px !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    column-gap: 10px !important;
  }
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero h1 { font-size: clamp(22px, 5.8vw, 28px) !important; }
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .avatar.politician-media { width: 40px !important; height: 48px !important; }
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .hero-facts { gap: 8px 16px !important; }
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .hero-facts > div { flex: 1 1 calc(50% - 8px); }
  .nl-billdetail .ft-bill-belt .ft-bill-belt-inner div.hero .hero-facts > div:last-child { flex-basis: 100%; }
}
