/**
 * Help routes: the Ways to Help hub, the team-page band, and the rail.
 * Cards follow the fleet card family (brand strip, count classes that
 * center a short row). Theme tokens with fallbacks so any theme can host it.
 */

/* The hub reads like the home page: each door is its own band, and the
   bands alternate white / tint, breaking out of the reading column. */
.rt-content:has(.rt-hr--hub) { max-width: var(--rt-maxw, 1120px); }
.rt-content:has(.rt-hr--hub) .rt-bio-intro,
.rt-content:has(.rt-hr--hub) .rt-page-intro {
  font-size: clamp(1.25rem, 2.2vw, 1.6rem);
  line-height: 1.45;
  max-width: 34em;
  margin-bottom: 8px;
}
.rt-hr--hub .rt-hr-group {
  margin: 0;
  padding: 44px clamp(16px, 3vw, 32px);
  width: 100vw;
  margin-left: calc(50% - 50vw);
  box-sizing: border-box;
}
.rt-hr--hub .rt-hr-group:nth-child(even) { background: var(--rt-section-tint, #f1f1ee); }
.rt-hr-group { margin: 0 0 34px; }
.rt-hr-group-title,
.rt-hr-band-title {
  margin: 0 0 16px;
  text-align: center;
  font-family: var(--rt-font-display, "RT Display", "Arial Narrow", sans-serif);
  font-weight: var(--rt-font-display-weight, 400);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: clamp(1.4rem, 2.6vw, 1.9rem);
}
.rt-hr--band { margin: 40px auto 0; max-width: var(--rt-maxw, 1120px); }
.rt-hr--band .rt-brand-rule { margin: 0 auto 20px; }

.rt-hr-grid {
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 24px;
  max-width: var(--rt-maxw, 1120px);
  margin: 0 auto;
  justify-content: center;
}
@media (min-width: 760px) {
  .rt-hr-grid { grid-template-columns: repeat(2, 1fr); }
  .rt-hr-grid.rt-hr-grid--n1 { grid-template-columns: repeat(1, minmax(0, 360px)); justify-content: center; }
  .rt-hr-grid.rt-hr-grid--n2 { grid-template-columns: repeat(2, minmax(0, 360px)); justify-content: center; }
}
@media (min-width: 1100px) {
  .rt-hr-grid { grid-template-columns: repeat(3, 1fr); }
  .rt-hr-grid.rt-hr-grid--n3 { grid-template-columns: repeat(3, minmax(0, 360px)); justify-content: center; }
}

.rt-hr-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--rt-line, #e7e2d6);
  border-radius: var(--rt-radius, 10px);
  overflow: hidden;
  background: #fff;
  box-shadow: var(--rt-shadow, 0 6px 24px rgba(0, 0, 0, 0.12));
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.rt-hr-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--rt-shadow-lift, 0 10px 24px rgba(0, 0, 0, 0.12));
}
/* The slim branded strip every no-artwork card wears. */
.rt-hr-art {
  flex: none;
  height: 72px;
  background-image: var(--rt-banner-logo, none);
  background-size: auto 54px;
  background-position: right 16px center;
  background-repeat: no-repeat;
  background-color: var(--rt-black, #141414);
  box-shadow: inset 0 -3px 0 var(--rt-primary, #f4b41c);
}
.rt-hr-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 18px 18px 18px;
  text-align: center;
}
.rt-hr-door {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rt-secondary, var(--rt-primary, #d99a00));
  margin-bottom: 4px;
}
.rt-hr-name {
  margin: 0 0 6px;
  font-family: var(--rt-font-display, "RT Display", "Arial Narrow", sans-serif);
  font-weight: var(--rt-font-display-weight, 400);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 1.3rem;
  line-height: 1.1;
}
.rt-hr-line {
  margin: 0 0 10px;
  color: var(--rt-gray, #6b6b6b);
  line-height: 1.45;
}
.rt-hr-items {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  text-align: left;
  font-size: 0.95rem;
}
.rt-hr-items li {
  position: relative;
  padding-left: 1.5em;
  margin: 0 0 0.35em;
}
.rt-hr-items li::before {
  content: var(--rt-nav-icon, "\f005");
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 0.15em;
  font-size: 0.8em;
  color: var(--rt-primary, #f4b41c);
}
.rt-hr-items a { color: inherit; }
.rt-hr-cta {
  margin: auto 0 0;
  display: flex;
  justify-content: center;
}
.rt-hr-more {
  margin: 18px 0 0;
  text-align: center;
  font-weight: 700;
}

/* The rail: one quiet line at the foot of a route page. */
.rt-hr--rail {
  max-width: var(--rt-maxw, 1120px);
  margin: 0 auto 28px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--rt-line, #e7e2d6);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 14px;
  text-align: center;
}
.rt-hr-rail-label {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rt-gray, #6b6b6b);
}
.rt-hr-rail-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 10px;
}
.rt-hr-rail-list a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid var(--rt-line, #e7e2d6);
  border-radius: 999px;
  text-decoration: none;
  color: inherit;
  font-weight: 600;
  font-size: 0.92rem;
  background: #fff;
}
.rt-hr-rail-list a:hover {
  border-color: var(--rt-primary, #f4b41c);
  color: inherit;
}
.rt-hr-rail-count {
  font-size: 0.72rem;
  font-weight: 800;
  padding: 1px 7px;
  border-radius: 999px;
  color: var(--rt-on-primary, #141414);
  background: var(--rt-primary, #f4b41c);
}
