/* ==========================================================================
   mastery-recruit.css — the Year 7 Maths free-pilot page
   (programmes/year-7-maths/index.html, /year7-maths). Mobile-first from
   320px; colours from tokens via app-shared.css / mastery.css aliases.
   Gold is kept for one brand moment (the form card edge).
   ========================================================================== */
.r-wrap { width: 100%; max-width: 980px; margin: 0 auto; padding: 0 1rem; }
.r-wrap--form { max-width: 640px; }
.r-hero { padding: 2.5rem 0 2rem; border-bottom: 1px solid var(--border); position: relative; overflow: hidden; }
.r-hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--m-grad); }
.r-h1 { font-family: var(--font-display); font-weight: 700; font-size: 2rem; line-height: 1.12; margin: .4rem 0 .9rem; max-width: 18ch; }
.r-accent { color: var(--m-accent-text); }
.r-lead { font-size: 1.08rem; color: var(--muted); max-width: 56ch; }
.r-actions { display: flex; flex-direction: column; gap: .6rem; margin: 1.25rem 0 .75rem; }
.r-section { padding: 2.25rem 0; }
.r-section--alt { background: var(--navy2); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.r-h2 { font-family: var(--font-display); font-weight: 700; font-size: 1.5rem; line-height: 1.2; margin: 0 0 1rem; }
.r-h3 { font-size: 1.05rem; font-weight: 700; margin: 1.25rem 0 .4rem; }
.r-steps { padding-left: 1.4rem; margin: 0; max-width: 64ch; }
.r-steps li { margin: 0 0 .9rem; padding-left: .25rem; }
.r-steps li::marker { font-family: var(--font-display); font-weight: 700; color: var(--m-accent-text); }
.r-grid { display: grid; gap: .85rem; }
.r-card { background: var(--navy); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.1rem; }
.r-card .r-h3 { margin-top: 0; }
.r-card p { margin: 0; color: var(--muted); }
.r-form { background: var(--navy2); border: 1px solid var(--border); border-top: 3px solid var(--gold); border-radius: var(--radius); padding: 1.1rem; }
.r-field { margin: 0 0 1rem; }
.r-fieldset { border: 0; padding: 0; margin: 0 0 1rem; }
.r-radio { display: flex; align-items: center; gap: .6rem; min-height: 44px; }
.r-radio input { width: 20px; height: 20px; accent-color: var(--m-accent); }
.r-done { outline: none; }
.r-footer { padding: 1.5rem 0 2.5rem; border-top: 1px solid var(--border); }

@media (min-width: 600px) {
  .r-actions { flex-direction: row; }
  .r-grid { grid-template-columns: 1fr 1fr; }
  .r-h1 { font-size: 2.6rem; }
  .r-form { padding: 1.5rem; }
}
@media (min-width: 960px) {
  .r-hero { padding: 4rem 0 3rem; }
  .r-h1 { font-size: 3.1rem; }
  .r-section { padding: 3.25rem 0; }
}
