/* ArenaLine v2.9 Preview 4C — People / Families presentation. */
.people-roster .roster-section{margin-top:34px}
.people-roster .roster-section + .roster-section{margin-top:44px}
.people-roster .roster-count{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:.25rem .65rem;
  border:1px solid color-mix(in srgb,var(--arena-gold) 16%,var(--line));
  border-radius:999px;
  background:var(--surface);
  color:var(--muted);
  font-size:.78rem;
  font-weight:700;
}
.rider-grid{gap:18px}
.rider-card.club-rider-card{
  overflow:hidden;
  border-color:color-mix(in srgb,var(--arena-gold) 14%,var(--line));
  background:var(--surface);
  box-shadow:0 10px 28px color-mix(in srgb,var(--arena-navy) 6%,transparent);
}
.rider-card.club-rider-card:hover{
  border-color:color-mix(in srgb,var(--arena-gold) 46%,var(--line));
  box-shadow:var(--arena-shadow);
}
.rider-card-portrait{position:relative;overflow:hidden;background:var(--surface-soft)}
.rider-card-portrait:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--arena-gold),transparent);
  opacity:.55;
}
.rider-card-portrait img,.rider-card-portrait .avatar{height:218px}
.rider-card-copy{padding:18px 19px 19px}
.rider-card-copy h3{margin:.18rem 0 .22rem;color:var(--heading);font-family:var(--arena-serif);font-size:1.45rem;font-weight:600}
.rider-card-team{margin:.2rem 0;color:var(--muted);font-size:.88rem}
.rider-card-classes{display:flex;flex-wrap:wrap;gap:.4rem;margin:.85rem 0 .95rem}
.rider-card-classes span,.class-chip{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:.25rem .55rem;
  border:1px solid color-mix(in srgb,var(--arena-gold) 16%,var(--line));
  border-radius:999px;
  background:var(--surface-soft);
  color:var(--nav-text);
  font-size:.75rem;
  font-weight:650;
}
.rider-card-link{display:inline-flex;align-items:center;gap:.3rem;color:var(--iea-deep);font-size:.82rem;font-weight:750}
.people-profile .page-back-nav,.people-form .page-back-nav{margin-bottom:14px}
.people-profile .history-shortcut{display:flex;justify-content:flex-end;margin:-42px 0 16px}
.people-profile .profile{
  position:relative;
  align-items:start;
  border-color:color-mix(in srgb,var(--arena-gold) 18%,var(--line));
  box-shadow:var(--arena-shadow);
}
.people-profile .profile-photo{border:1px solid color-mix(in srgb,var(--arena-gold) 16%,var(--line));background:var(--surface-soft)}
.people-profile .profile-copy h1{margin:.1rem 0 .25rem;color:var(--heading);font-family:var(--arena-serif);font-size:clamp(2.3rem,4vw,3.7rem);font-weight:500;line-height:.98}
.contact-strip{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem 1.5rem;
  margin:1rem 0 1.2rem;
  padding:14px 16px;
  border:1px solid color-mix(in srgb,var(--arena-gold) 14%,var(--line));
  border-radius:14px;
  background:var(--surface-soft);
}
.contact-strip>span{display:grid;gap:.1rem}
.contact-strip small{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.contact-strip a{color:var(--iea-deep);text-decoration:none;font-weight:650}
.lifecycle-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.season-membership-card{
  display:grid;
  grid-template-columns:minmax(170px,.8fr) minmax(0,1.6fr) auto;
  align-items:center;
  gap:20px;
  margin-bottom:12px;
}
.season-membership-card h3{margin:.12rem 0;color:var(--heading);font-family:var(--arena-serif);font-size:1.35rem}
.class-chip-list{display:flex;flex-wrap:wrap;gap:.45rem}
.contact-grid{gap:16px}
.contact-card{
  position:relative;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  padding:18px;
  border:1px solid color-mix(in srgb,var(--arena-gold) 14%,var(--line));
  border-radius:16px;
  background:var(--surface);
  box-shadow:0 8px 24px color-mix(in srgb,var(--arena-navy) 5%,transparent);
}
.contact-avatar{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid color-mix(in srgb,var(--arena-gold) 26%,var(--line));
  border-radius:50%;
  background:var(--surface-soft);
  color:var(--heading);
  font-family:var(--arena-serif);
  font-size:1.2rem;
  font-weight:600;
}
.contact-card h3{margin:.1rem 0 .3rem;color:var(--heading);font-family:var(--arena-serif);font-size:1.25rem}
.contact-card p{margin:.25rem 0;color:var(--muted)}
.contact-card>a,.contact-card div>a{display:block;width:max-content;max-width:100%;overflow-wrap:anywhere;color:var(--iea-deep);text-decoration:none}
.parent-directory-card .family-riders{margin-top:.75rem;padding-top:.65rem;border-top:1px solid var(--line)}
.people-form .form-section{
  margin:28px 0;
  padding:22px;
  border:1px solid color-mix(in srgb,var(--arena-gold) 16%,var(--line));
  border-radius:16px;
  background:color-mix(in srgb,var(--surface-soft) 58%,var(--surface));
}
.people-form .season-class-options{display:grid;gap:.5rem;margin-top:.65rem}
.people-form .class-option{
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  padding:.65rem .75rem;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
}
.people-form .class-option:has(input:checked){border-color:color-mix(in srgb,var(--arena-gold) 54%,var(--line));background:var(--accent-soft)}
html[data-theme="dark"] .rider-card.club-rider-card,
html[data-theme="dark"] .people-profile .profile,
html[data-theme="dark"] .contact-card{box-shadow:0 14px 34px rgba(0,0,0,.14)}
@media(max-width:760px){
  .people-profile .history-shortcut{justify-content:flex-start;margin:0 0 14px}
  .people-profile .profile{grid-template-columns:1fr}
  .people-profile .profile>div:first-child{max-width:280px}
  .season-membership-card{grid-template-columns:1fr;gap:12px}
  .contact-card{grid-template-columns:42px minmax(0,1fr);padding:15px}
  .contact-avatar{width:42px;height:42px}
}
