/* "One roof, six teams": tile grid, hiring blips and the team panel column.
   teams.js toggles .is-active / aria-pressed on .team-tile, unhides .team-blip, shows one
   .team-panel at a time and fills .team-roles with <a> links (hiding .team-none). */

.facility { border-top: 1px solid var(--line); }
.teams {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(290px, 100%), 1fr));
  gap: clamp(20px, 3vw, 40px);
  align-items: start;
}

/* Tiles */
.team-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(136px, 1fr)); gap: 10px; }
.team-tile {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 14px;
  min-height: 106px;
  padding: 16px;
  text-align: left;
  background: var(--paper);
  box-shadow: inset 0 2px 0 transparent;
  transition: background 0.25s ease, box-shadow 0.2s ease;
}
.team-tile.is-active, .team-tile[aria-pressed="true"] { background: var(--light); box-shadow: inset 0 2px 0 var(--green); }
.team-tile-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.team-number { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.14em; color: var(--mid); }
.team-blip, .team-legend-dot {
  display: block;
  width: 7px;
  height: 7px;
  flex: none;
  border-radius: 50%;
  background: var(--green);
}
.team-name {
  font-stretch: 80%;
  font-weight: 700;
  font-size: 15.5px;
  line-height: 1.1;
  text-transform: uppercase;
  color: var(--ink);
}
.team-legend {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 9px;
  padding-top: 2px;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--mid);
}

/* Panel column */
.team-panels {
  border: 1px solid var(--line);
  border-top: 2px solid var(--blue);
  padding: clamp(24px, 3vw, 34px);
}
.team-panel-label {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mid);
}
.team-panel-title {
  margin: 12px 0 14px;
  font-stretch: 76%;
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(22px, 2.6vw, 30px);
  line-height: 1.04;
  color: var(--ink);
}
.team-panel-blurb { margin-bottom: 24px; font-size: 16.5px; line-height: 1.7; color: var(--dark); text-wrap: pretty; }
.team-roles { display: grid; gap: 10px; }
.team-roles:empty { display: none; }
.team-roles a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid var(--chip);
  padding: 14px 16px;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--ink);
  transition: border-color 0.2s ease, background 0.2s ease;
}
.team-roles a::after { content: "→"; font-size: 16px; font-weight: 400; color: var(--blue); }
.team-roles a:hover { border-color: var(--blue); background: var(--wash); }
.team-none { font-size: 15px; line-height: 1.65; color: var(--mid); }
