/* Minimal overrides on top of USWDS (@uswds/uswds@3.8.1) — everything not
   listed here is stock USWDS: header, nav, buttons, accordion, footer, table,
   cards, summary box, process list, colors, type scale, grid. */

/* USWDS ships a demo stock photo as the default .usa-hero background — swap for a plain dark fill */
.usa-hero{
  background-image: none !important;
  background-color: #162e51;
}

.tag-eyebrow{
  background: transparent; color: #005ea2; padding: 0; margin: 0 0 .5rem;
  font-size: .85rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
}

.margin-0{ margin: 0; }

/* Product screenshot figure */
.shot-wrap{ margin-top: 3rem; margin-bottom: 3rem; }
.shot-frame{
  border: 1px solid #c9c9c9; border-radius: 2px; width: 100%; height: auto;
}
.shot-wrap figcaption{ margin-top: .5rem; font-size: .9rem; color: #71767a; }

/* Card index numbers */
.index-num{ display:block; font-size: 1.1rem; font-weight: 700; color: #71767a; margin-bottom: .75rem; }
.index-num.accent{ font-size: 2rem; color: #005ea2; margin-bottom: .5rem; }

/* Impact / market stat numbers inside usa-summary-box */
.impact-num{ display:block; font-size: 2.4rem; font-weight: 700; color: #1b1b1b; line-height: 1.1; }
.impact-num.accent{ color: #005ea2; }
.impact-label{ margin: .35rem 0 0; color: #3d4551; }
.market-fact-num{ display:block; font-size: 2rem; font-weight: 700; color: #1b1b1b; }
.market-fact-label{ margin: .25rem 0 0; color: #3d4551; }

/* Simple bar chart for market section */
.bar-row{ display:flex; align-items:flex-end; gap: 2.5rem; }
.bar{ display:flex; flex-direction:column; align-items:center; width: 90px; gap: .5rem; }
.bar-track{ display:flex; align-items:flex-end; width: 100%; height: 170px; border-bottom: 1px solid #c9c9c9; }
.bar-fill{ width: 100%; height: var(--h); background: #dfe1e2; border: 1px solid #c9c9c9; }
.bar-fill--accent{ background: #005ea2; border-color: #005ea2; }
.bar-value{ font-weight: 700; }
.bar-period{ color: #71767a; font-size: .9rem; }

/* Team photos */
.team-photo{
  width: 100%; aspect-ratio: 1/1; object-fit: cover; object-position: center 22%;
  border: 1px solid #c9c9c9; margin-bottom: .75rem;
}
.team-name{ margin: 0; font-weight: 700; }
.team-role{ margin: 0; color: #71767a; font-size: .9rem; }

/* Back to top */
.back-to-top{
  position: fixed; right: 20px; bottom: 20px; z-index: 60;
  width: 42px; height: 42px; border-radius: 2px;
  background: #162e51; border: 1px solid #162e51; color: #fff;
  display:flex; align-items:center; justify-content:center; text-decoration:none;
  opacity: 0; pointer-events: none; transition: opacity .2s;
}
.back-to-top.visible{ opacity: 1; pointer-events: auto; }
.back-to-top:hover{ background: #1a4480; }
.back-to-top svg{ width: 18px; height: 18px; display:block; }
