/* NVA visual identity — shared with the approved 2026 calendar and pathways.
   Reuse these tokens for future NVA material. Keep page styling scoped so
   operational screens, fixtures, standings and fundraising are unaffected. */
:root {
  --nva-navy: #141a4f;
  --nva-yellow: #ffe500;
  --nva-blue: #272d7d;
  --nva-ink: #202a49;
  --nva-muted: #58637b;
  --nva-paper: #f3f5fa;
  --nva-semi: #e9eeff;
  --nva-line: #d7ddf0;
  --nva-white: #fff;
  --nva-radius: .75rem;
  --nva-font: Arial, Helvetica, sans-serif;
}
.nva-finals-theme,.nva-finals-page {
  color: var(--nva-ink);
  background: var(--nva-paper);
  font-family: var(--nva-font);
}
.nva-finals-theme a:focus-visible,.nva-finals-page a:focus-visible {
  outline: 3px solid var(--nva-blue);outline-offset: 4px;
}
.nva-finals-theme .eyebrow,.nva-finals-page .eyebrow {color:var(--nva-blue)}
.nva-finals-theme .nva-finals-masthead {
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.2rem 1.6rem;
  align-items:center;margin:0;padding:1.5rem 1.8rem;background:var(--nva-navy);
  color:white;border-radius:var(--nva-radius) var(--nva-radius) 0 0;
}
.nva-finals-masthead .nva-brand-mark {width:108px;height:108px;object-fit:contain}
.nva-finals-masthead>.eyebrow,.nva-finals-masthead .eyebrow {color:white;letter-spacing:.05em}
.nva-finals-masthead .display {
  color:var(--nva-yellow);font-family:var(--nva-font);font-size:clamp(1.8rem,3.3vw,2.8rem);
  line-height:1.1;letter-spacing:-.025em;text-transform:uppercase;margin:0;
}
.nva-finals-theme .nva-finals-masthead>p {
  grid-column:2;margin:0;max-width:none;color:#e5e8fa;font-size:.95rem;line-height:1.5;
}
.nva-finals-theme .finals-series-status {
  margin:0 0 1.5rem;padding:1rem 1.4rem;border:0;border-radius:0 0 var(--nva-radius) var(--nva-radius);
  background:var(--nva-yellow);color:var(--nva-navy);font-size:.95rem;
}
.nva-finals-theme .finals-series-status strong {font-size:1.05rem}
.nva-finals-theme .home-path {
  background:var(--nva-paper);border:1px solid var(--nva-line);border-radius:var(--nva-radius);
  padding:1.5rem;margin:1.5rem 0;
}
.nva-finals-theme .home-path-heading h3,.nva-finals-page h2 {
  color:var(--nva-navy);font-family:var(--nva-font);font-weight:800;
  font-size:clamp(1.6rem,2.6vw,2.1rem);letter-spacing:-.025em;text-transform:uppercase;
}
.nva-finals-theme .home-path-heading p,.nva-finals-theme .home-path-flow,
.nva-finals-theme .finals-series-note,.nva-finals-page .section-head p,
.nva-finals-page .pathway-note {color:var(--nva-muted);font-size:.9rem}
.nva-finals-theme .home-path-heading>a {color:var(--nva-blue);padding:.3rem 0}
.nva-bye-strip {
  padding:.85rem 1rem;margin:0 0 1.1rem;background:var(--nva-yellow);color:var(--nva-navy);
  border-radius:.5rem;text-align:center;font-size:.95rem;line-height:1.45;font-weight:800;text-transform:uppercase;
}
.nva-seed-key {margin:0 0 1.1rem;color:var(--nva-muted);font-size:.8rem;font-weight:600;line-height:1.5}
/* The same live HTML card treatment on both entry points. No flattened image text. */
.nva-finals-theme .home-path-bracket,.nva-finals-page .bracket {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;
}
.nva-finals-theme .home-path-round,.nva-finals-page .round {display:flex;flex-direction:column;min-width:0}
.nva-finals-theme .home-path-round>h4,.nva-finals-page .round>h3 {
  margin:0 0 1rem;color:var(--nva-muted);font-size:.75rem;letter-spacing:.035em;
  text-transform:uppercase;gap:.55rem;line-height:1.4;
}
.nva-finals-theme .home-path-round>h4 span,.nva-finals-page .round>h3 span {color:var(--nva-muted);font-size:.9rem;font-weight:700}
.nva-finals-theme .home-path-games,.nva-finals-page .games {
  display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:1.25rem;flex:1;align-items:center;
}
.nva-finals-theme .home-path-pair,.nva-finals-page .pair {position:relative;display:grid;gap:.8rem;min-width:0}
.nva-finals-theme .home-path-match,.nva-finals-page .match {
  position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;
  width:100%;padding:1rem;background:white;border:1.5px solid var(--nva-line);
  border-radius:var(--nva-radius);box-shadow:none;
}
.nva-finals-theme .home-path-round:nth-child(2) .home-path-match,
.nva-finals-page .round:nth-child(2) .match {background:var(--nva-semi);border-color:var(--nva-semi)}
.nva-finals-theme .home-path-match-meta,.nva-finals-page .match-meta {
  display:flex;justify-content:space-between;gap:.4rem;flex-wrap:wrap;margin:0 0 .65rem;
  padding:0 0 .65rem;border-bottom:1px solid var(--nva-line);border-radius:0;
  background:transparent;color:var(--nva-blue);font-size:.85rem;line-height:1.4;font-weight:800;letter-spacing:0;
}
.nva-finals-theme .home-path-match-meta span,.nva-finals-page .match-meta span,.nva-finals-page .pair .match-meta span {
  display:block;color:var(--nva-muted);font-size:.7rem;font-weight:600;
}
.nva-finals-theme .home-path-team,.nva-finals-page .team,.nva-finals-page .men .team {
  padding:0;color:var(--nva-ink);font-size:1.05rem;font-weight:700;line-height:1.45;
  overflow-wrap:anywhere;
}
.nva-finals-theme .home-path-team+.home-path-team,.nva-finals-page .team+.team {
  border:0;margin-top:.55rem;padding:0;
}
.nva-finals-theme .home-path-team .seed,.nva-finals-page .team .seed {
  display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;
  min-width:1.9rem;min-height:1.9rem;padding:.18rem .35rem;margin-right:.4rem;
  color:white;background:var(--nva-navy);border-radius:.35rem;font-size:.9rem;font-weight:700;
}
.nva-finals-theme .home-path-team em,.nva-finals-page .team em {
  float:none;display:inline-block;margin:.2rem 0 .1rem .25rem;padding:.15rem .4rem;
  color:var(--nva-navy);background:var(--nva-yellow);font-size:.65rem;line-height:1.4;font-style:normal;font-weight:800;
}
.nva-finals-theme .home-path-match-schedule,.nva-finals-page .match-schedule {
  margin:.8rem 0 0;padding:.65rem 0 0;border-top:1px solid var(--nva-line);
  color:var(--nva-blue);font-size:.85rem;line-height:1.55;font-weight:700;
}
.nva-finals-theme .home-path-match-schedule span,.nva-finals-page .match-schedule span {
  display:block;color:var(--nva-muted);font-size:.75rem;font-weight:400;margin-top:.15rem;
}
.nva-finals-theme .home-path-gold,.nva-finals-page .gold {background:var(--nva-navy);border-color:var(--nva-navy)}
.nva-finals-theme .home-path-gold .home-path-match-meta,.nva-finals-page .gold .match-meta,
.nva-finals-theme .home-path-gold time,.nva-finals-page .gold time {color:var(--nva-yellow)}
.nva-finals-theme .home-path-gold .home-path-team,.nva-finals-page .gold .team {color:white}
.nva-finals-theme .home-path-gold .home-path-match-meta span,.nva-finals-page .gold .match-meta span,
.nva-finals-theme .home-path-gold .home-path-match-schedule span,.nva-finals-page .gold .match-schedule span {color:#e5e8fa}
.nva-finals-theme .home-path-gold .home-path-match-meta,.nva-finals-page .gold .match-meta,
.nva-finals-theme .home-path-gold .home-path-match-schedule,.nva-finals-page .gold .match-schedule {border-color:#454b84}
/* Explicit text names the winner/loser destinations; arrows are visual aids only. */
.nva-finals-theme .home-path-women>.home-path-round:first-child .home-path-match::after,
.nva-finals-theme .home-path-men>.home-path-round:first-child .home-path-pair::after,
.nva-finals-page .round:first-child>.games>.match::after,.nva-finals-page .pair::after {
  display:block;content:'→';position:absolute;left:calc(100% + .4rem);right:auto;top:50%;
  transform:translateY(-50%);color:var(--nva-blue);font-size:1.6rem;line-height:1;
}
.nva-finals-page .site-top,.nva-finals-page .hero {background:var(--nva-navy);border-color:var(--nva-yellow)}
.nva-finals-page .hero h1 {color:var(--nva-yellow);font-weight:800;font-size:clamp(2.5rem,5vw,3.5rem);letter-spacing:-.035em;text-transform:uppercase}
.nva-finals-page .hero .eyebrow {color:white}
.nva-finals-page .hero p {color:#e5e8fa}
.nva-finals-page .status {border-color:#6c739d}
.nva-finals-page .status .pill {background:var(--nva-yellow);color:var(--nva-navy)}
.nva-finals-page .site-top nav .active {color:var(--nva-yellow);border-color:var(--nva-yellow)}
.nva-finals-page .site-brand img {width:76px;height:76px}
.nva-finals-page .site-top a:focus-visible {outline-color:var(--nva-yellow)}
.nva-finals-page .division {border-color:var(--nva-line)}
.nva-finals-page .jump a:first-child {background:var(--nva-navy);border-color:var(--nva-navy)}
.nva-finals-page .seed-list {gap:.5rem;margin-bottom:.85rem}
.nva-finals-page .seed-list li {background:white;border-color:var(--nva-line);color:var(--nva-ink)}
.nva-finals-page .seed-list span {display:inline-block;padding:.12rem .35rem;margin-right:.25rem;border-radius:.25rem;background:var(--nva-navy);color:white}
.nva-finals-page .finals-calendar {border-color:var(--nva-line)}
.nva-finals-page .finals-calendar thead {background:var(--nva-navy)}
.nva-finals-page .finals-calendar th,.nva-finals-page .finals-calendar td {border-color:var(--nva-line)}
.nva-finals-page .finals-calendar small,.nva-finals-page .finals-calendar caption,
.nva-finals-page .foot p,.nva-finals-page .downloads-section>p,.nva-finals-page footer {color:var(--nva-muted)}
.nva-finals-page .foot {background:var(--nva-semi);border-left:4px solid var(--nva-yellow);color:var(--nva-navy)}
.nva-finals-theme .finals-downloads a,.nva-finals-page .finals-downloads a {color:var(--nva-navy);border-color:var(--nva-line);border-bottom:3px solid var(--nva-yellow);min-height:44px}
@media(max-width:900px) {
  .nva-finals-theme .home-path-bracket,.nva-finals-page .bracket {grid-template-columns:1fr;gap:1.4rem}
  .nva-finals-theme .home-path-games,.nva-finals-page .games {grid-template-rows:auto;gap:.8rem}
  .nva-finals-theme .home-path-match,.nva-finals-page .match {padding:1rem}
  .nva-finals-theme .home-path-round+.home-path-round,.nva-finals-page .round+.round {border-top:2px solid var(--nva-line);padding-top:1.2rem}
  .nva-finals-theme .home-path-round>h4,.nva-finals-page .round>h3 {border:0;padding:0;margin-bottom:.75rem}
  .nva-finals-theme .home-path-women>.home-path-round:first-child .home-path-match::after,
  .nva-finals-theme .home-path-men>.home-path-round:first-child .home-path-pair::after,
  .nva-finals-page .round:first-child>.games>.match::after,.nva-finals-page .pair::after {display:none}
}
@media(max-width:600px) {
  .nva-finals-theme .nva-finals-masthead {grid-template-columns:64px minmax(0,1fr);gap:1rem;padding:1.2rem 1rem}
  .nva-finals-masthead .nva-brand-mark {width:64px;height:64px}
  .nva-finals-masthead .eyebrow {font-size:.68rem;line-height:1.5}
  .nva-finals-masthead .display {font-size:1.65rem}
  .nva-finals-theme .nva-finals-masthead>p {grid-column:1/-1;font-size:.9rem}
  .nva-finals-theme .home-path {padding:1rem}
  .nva-finals-theme .home-path-heading {flex-direction:column;gap:.6rem}
  .nva-bye-strip {text-align:left;font-size:.85rem}
  .nva-finals-page .site-brand img {width:60px;height:60px}
  .nva-finals-page .finals-calendar tbody th {background:var(--nva-semi);color:var(--nva-navy)}
  .nva-finals-page .finals-calendar td:before {color:var(--nva-muted)}
  .nva-finals-theme .finals-downloads {flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.nva-finals-page {scroll-behavior:auto}}
/* A block-reflowed table needs a block caption, not a narrow anonymous cell. */
@media(max-width:760px){.nva-finals-page .finals-calendar caption{display:block;width:100%;padding:0 0 .75rem}}
