.recruitment-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.5rem;
}

.recruitment-actions .button { min-height: 3.35rem; text-align: center; }
.recruitment-privacy { font-size: .82rem; line-height: 1.5; margin: 1rem 0 0; }
.join-hero .recruitment-privacy,
.join-closing .recruitment-privacy { color: #c9d1e9; }

.training-hero-highlights {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}

.training-hero-highlights li {
  border: 1px solid #ffffff65;
  border-radius: 999px;
  color: #fff;
  font-size: .83rem;
  font-weight: 700;
  padding: .45rem .8rem;
}

.training-hero-link { margin-top: 1.5rem; }
.next-session-card [hidden],
.join-training-card [hidden] { display: none !important; }

.recruitment-panel {
  align-items: start;
  border-top: .3rem solid var(--red);
  background: #fff;
  display: grid;
  gap: 0 2rem;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, .85fr);
  margin-top: 1.5rem;
  max-width: 78rem;
  padding: clamp(1.4rem, 3vw, 2.25rem);
}

.recruitment-panel h3 { color: var(--blue); font-size: 1.4rem; margin: 0 0 .5rem; }
.recruitment-panel p { color: #4a5570; line-height: 1.65; margin: 0; }
.recruitment-panel .recruitment-actions { align-self: center; flex-direction: column; margin: 0; }
.recruitment-panel .recruitment-actions .button { width: 100%; }
.recruitment-panel .button-ghost { border-color: var(--blue); color: var(--blue); }
.recruitment-panel .button-ghost:hover { background: var(--blue); color: #fff; }
.recruitment-panel .recruitment-privacy,
.recruitment-panel .recruitment-email { font-size: .82rem; grid-column: 1 / -1; margin-top: 1rem; }
.recruitment-panel a:not(.button),
.bring-guide-link a,
.first-session-links a,
.join-start-steps a,
.join-practical-link,
.join-faq-list a { color: var(--blue); font-weight: 750; text-decoration: underline; text-underline-offset: .2em; }

.bring-guide-link { line-height: 1.65; }
.first-session-steps,
.join-start-steps {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
}

.first-session-steps li { border-top: 2px solid #ffffff9c; padding: 1rem .5rem 0 0; }
.first-session-steps strong,
.first-session-steps span { display: block; line-height: 1.5; }
.first-session-steps span { color: #ffe8e5; font-size: .91rem; margin-top: .4rem; }
.first-session-links { color: #ffe8e5; line-height: 1.7; margin: 2rem 0 0; }
.first-session-links a { color: #fff; }

.join-hero .recruitment-actions { margin-top: 1.7rem; }
.join-next-link { color: var(--yellow); display: inline-block; font-weight: 800; margin-top: 1.2rem; text-decoration: underline; text-underline-offset: .2em; }
.join-hero-assurance { color: #fff; font-weight: 700; line-height: 1.5; margin: 1.2rem 0 0; }
.join-start-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 0; }
.join-start-steps li { border-top: .25rem solid var(--red); padding: 1.2rem 1rem 0 0; }
.join-start-steps li > span { color: var(--red); font-weight: 850; }
.join-start-steps h3 { color: var(--blue); font-size: 1.35rem; margin: .6rem 0; }
.join-start-steps p { color: #4a5570; line-height: 1.7; margin: 0; }
.join-training-card [data-training-content] { display: grid; gap: .4rem; }
.join-training-card [data-training-content] > strong { font-size: 1.2rem; line-height: 1.2; }
.join-training-card [data-training-content] > span { color: #e2e7f5; font-size: .92rem; }
.join-training-card [data-training-content] > a { color: var(--yellow); font-weight: 750; margin-top: .4rem; text-decoration: underline; }
.join-training-card [data-training-fallback] { line-height: 1.6; }
.join-training-card [data-training-fallback] a { color: var(--yellow); }
.join-practical-link { display: inline-block; margin-top: .6rem; }

.join-faq-list { border-top: 1px solid #d9deea; }
.join-faq-list details { border-bottom: 1px solid #d9deea; padding: 1rem 0; }
.join-faq-list summary { color: var(--blue); cursor: pointer; font-weight: 750; line-height: 1.4; padding-right: 2rem; position: relative; }
.join-faq-list summary::after { color: var(--red); content: "+"; font-size: 1.4rem; position: absolute; right: .3rem; top: -.2rem; }
.join-faq-list details[open] summary::after { content: "−"; }
.join-faq-list summary:focus-visible { outline: 3px solid var(--red); outline-offset: 3px; }
.join-faq-list p { color: #4a5570; line-height: 1.7; margin: .65rem 2rem .2rem 0; }
.join-closing .recruitment-actions { flex-direction: column; margin: 0; }
.join-closing .recruitment-actions .button { width: 100%; }

@media (width <= 760px) {
  .recruitment-panel { grid-template-columns: 1fr; }
  .recruitment-panel .recruitment-actions { align-items: stretch; margin-top: 1.2rem; }
  .first-session-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .join-start-steps { grid-template-columns: 1fr; }
}

@media (width <= 480px) {
  .recruitment-actions { flex-direction: column; }
  .recruitment-actions .button { width: 100%; }
  .first-session-steps { grid-template-columns: 1fr; }
  .join-hero .recruitment-actions { margin-top: 1.25rem; }
}

.recruitment-privacy a, .membership-privacy-link a { color: inherit; font-weight: 750; text-decoration: underline; text-underline-offset: .2em; }
.membership-privacy-link { font-size: .88rem; line-height: 1.6; margin: 1rem 0 0; }
