/* FTC team guide (teams.html). Builds on support.css and exhibitor-recruitment.css. */
.teams-page .sp-schedule dd small { display: block; color: var(--teal-deep); font-size: var(--text-meta); line-height: 1.7; }
.teams-page .sp-schedule .ft-key { color: var(--ink); font-weight: 800; }
.teams-page .ft-day-lead { margin: 0 0 16px; color: var(--muted); font-size: var(--text-small); }

.ft-team-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--ink); }
.ft-team-list li { display: grid; grid-template-columns: 4.5em minmax(0, 1fr); gap: 2px 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.ft-team-list .num { grid-row: span 2; color: var(--orange-dark); font-size: var(--text-small); font-weight: 850; font-variant-numeric: tabular-nums; }
.ft-team-list strong { font-size: var(--text-small); line-height: 1.5; }
.ft-team-list small { color: var(--muted); font-size: var(--text-meta); line-height: 1.6; }
.ft-record-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin-top: 28px; font-size: var(--text-small); }

@media (max-width: 980px) {
  .ft-team-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .ft-team-list { grid-template-columns: 1fr; }
}
.teams-page .ft-previous-photo { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.teams-page #previous .sp-split { margin-bottom: 40px; }
.teams-page .er-overview .text-link { display: inline-block; margin-top: 4px; font-size: var(--text-meta); }
.teams-page .sp-schedule dl + .ft-day-lead { margin: 16px 0 0; }

.ft-spec-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.ft-spec-grid > section { padding: 24px 26px; background: var(--paper); border-top: 3px solid var(--teal-deep); }
.support-page .ft-spec-grid h3 { margin: 0 0 12px; font-size: 1.1875rem; }
.ft-spec-grid dl { margin: 0; }
.ft-spec-grid dl > div { display: grid; grid-template-columns: 9.5em minmax(0, 1fr); gap: 4px 16px; padding: 10px 0; border-top: 1px solid var(--line); font-size: var(--text-small); }
.ft-spec-grid dt { font-weight: 800; }
.ft-spec-grid dd { margin: 0; color: var(--muted); line-height: 1.75; }
@media (max-width: 980px) {
  .ft-spec-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .ft-spec-grid > section { padding: 20px; }
  .ft-spec-grid dl > div { grid-template-columns: 1fr; }
}

/* Orange labels on the sand background measure 4.37:1; darken to meet WCAG AA (5.21:1). */
.teams-page .sand { --orange-dark: #a83c12; }

/* Hero overview: thin grey 14px notes were hard to read on the paper background. */
.teams-page .er-overview dd { color: var(--ink); font-weight: 600; }
.teams-page .er-overview small { margin-top: 2px; color: #3c4c5c; font-size: var(--text-small); font-weight: 500; line-height: 1.7; }
