/* ------------------------------------------------ partner sign-in: top bar + homepage card */
.lock { width: .95em; height: .95em; vertical-align: -.12em; margin-right: .4rem; flex: none; }
.topbar { background: var(--band); color: var(--band-ink); font-size: .88rem; }
.topbar .inner { max-width: var(--wide); margin: 0 auto; padding: .45rem 1rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.topbar a, .topbar-here { color: var(--band-ink); font-weight: 700; text-decoration: none; white-space: nowrap; }
.topbar a:hover { text-decoration: underline; text-decoration-color: var(--accent); }
.topbar :focus-visible { outline-color: var(--band-ink); }
.topbar-note { font-weight: 400; opacity: .85; }
.tb-short { display: none; }
.groups {
  display: grid; grid-template-columns: 1fr auto; gap: 1rem 2.5rem; align-items: center;
  background: var(--blue-wash); border-left: 6px solid var(--accent); border-radius: 10px;
  padding: 1.5rem 1.75rem; margin: 2.5rem 0 0;
}
.groups h2 { margin: 0 0 .35rem; font-size: 1.3rem; }
.groups p { margin: 0; color: var(--ink-2); max-width: 44rem; }
.groups-act { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; }
.groups-act a:not(.pbtn) { font-size: .92rem; }
.pbtn {
  display: inline-flex; align-items: center; white-space: nowrap; font-weight: 700; text-decoration: none;
  background: var(--blue); color: var(--paper); border-radius: 8px; padding: .65rem 1.15rem;
}
.pbtn:hover { filter: brightness(1.1); }
@media (max-width: 52rem) { .topbar-left { display: none; } .topbar .inner { justify-content: flex-end; } }
@media (max-width: 40rem) {
  .topbar { font-size: .82rem; }
  .tb-long { display: none; } .tb-short { display: inline; }
  .groups { grid-template-columns: 1fr; padding: 1.25rem 1.25rem; }
}
