/* Rebel Collective application form. Generated into the website by join_rebel/site-form; edit the source there.
   Matches the approved mock-up: site near-black, paper text, Rebel red, square fields. Everything is scoped to #rebel-apply. */
#rebel-apply {
  --ra-ink: #110C0B; --ra-panel: #1A1212; --ra-paper: #FAF2F2; --ra-muted: #BFB1AE; --ra-line: #5E5250;
  --ra-rule: rgba(250,242,242,.18); --ra-red: #E9482F; --ra-red-hover: #F05A42; --ra-err: #F1D9D3;
  --ra-display: 'Big Shoulders Display', 'Arial Narrow', sans-serif; --ra-mono: 'JetBrains Mono', 'Courier New', monospace;
  max-width: 760px; color: var(--ra-paper); font-size: 16px; line-height: 1.5; scroll-margin-top: 96px;
}
#rebel-apply * { box-sizing: border-box; }
#rebel-apply button { font: inherit; }
#rebel-apply :focus-visible { outline: 2px solid var(--ra-red); outline-offset: 2px; }
#rebel-apply h1:focus { outline: none; }
#rebel-apply .ra-eb { margin: 0 0 12px; font-family: var(--ra-mono); font-weight: 700; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--ra-muted); }
#rebel-apply .ra-h1, #rebel-apply .ra-h2, #rebel-apply .ra-path .q-d, #rebel-apply .ra-rv h2 { font-family: var(--ra-display); font-weight: 800; letter-spacing: .01em; text-transform: uppercase; text-wrap: balance; }
#rebel-apply .ra-h1 { margin: 0 0 20px; font-size: clamp(52px, 8vw, 104px); line-height: .88; }
#rebel-apply .ra-h2 { margin: 0 0 28px; font-size: clamp(36px, 5vw, 56px); line-height: .92; }
#rebel-apply .ra-h1 span, #rebel-apply .ra-h2 span { color: var(--ra-red); }
#rebel-apply .ra-lede { margin: 0 0 36px; font-size: 20px; color: var(--ra-muted); max-width: 640px; }

#rebel-apply .ra-progress { display: flex; align-items: center; gap: 16px; margin: 0 0 28px; }
#rebel-apply .ra-progress .ra-eb { margin: 0; white-space: nowrap; }
#rebel-apply .ra-bar { flex: 1; height: 3px; background: var(--ra-rule); }
#rebel-apply .ra-bar i { display: block; height: 100%; background: var(--ra-red); transition: width .3s; }
#rebel-apply .ra-restart, #rebel-apply .ra-switch button, #rebel-apply .ra-rv-head button { background: none; border: 0; padding: 0; color: var(--ra-muted); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; white-space: nowrap; }
#rebel-apply .ra-restart:hover { color: var(--ra-paper); }

#rebel-apply .ra-fields { display: grid; gap: 28px; }
#rebel-apply .ra-label, #rebel-apply legend.ra-label { display: block; margin-bottom: 8px; padding: 0; font-family: var(--ra-mono); font-weight: 700; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ra-muted); }
#rebel-apply .ra-opt { font-family: inherit; font-weight: 400; letter-spacing: 0; text-transform: none; }
#rebel-apply input[type=text], #rebel-apply input[type=email], #rebel-apply input[type=tel], #rebel-apply input[type=url], #rebel-apply select, #rebel-apply textarea {
  width: 100%; background: var(--ra-panel); border: 1px solid var(--ra-line); color: var(--ra-paper); font: inherit; font-size: 16px; padding: 14px 16px; border-radius: 0;
}
#rebel-apply textarea { min-height: 120px; resize: vertical; }
#rebel-apply input:focus, #rebel-apply select:focus, #rebel-apply textarea:focus { outline: 2px solid var(--ra-red); outline-offset: 0; border-color: var(--ra-red); }
#rebel-apply .ra-hint { margin: 8px 0 0; font-size: 14px; color: var(--ra-muted); }
#rebel-apply fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
#rebel-apply .ra-choices { display: grid; gap: 8px; margin-top: 8px; }
#rebel-apply .ra-choices.ra-two { grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); }
#rebel-apply .ra-choice { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--ra-line); background: var(--ra-panel); cursor: pointer; }
#rebel-apply .ra-choice:hover { border-color: var(--ra-muted); }
#rebel-apply .ra-choice input, #rebel-apply .ra-consent input { margin: 3px 0 0; accent-color: var(--ra-red); width: 18px; height: 18px; flex: 0 0 auto; }
#rebel-apply .ra-choice small { display: block; color: var(--ra-muted); font-size: 14px; }
#rebel-apply .ra-choice:has(input:checked) { border-color: var(--ra-red); }
#rebel-apply .ra-consent { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; }
#rebel-apply .ra-err { margin: 8px 0 0; color: var(--ra-err); font-size: 14px; }
#rebel-apply .ra-bad input, #rebel-apply .ra-bad select, #rebel-apply .ra-bad textarea, #rebel-apply .ra-bad .ra-choice { border-color: var(--ra-red); }
#rebel-apply .ra-summary { margin: 0 0 24px; padding: 12px 16px; border-left: 3px solid var(--ra-red); background: var(--ra-panel); color: var(--ra-err); }

#rebel-apply .ra-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 40px; }
#rebel-apply .ra-btn { min-height: 52px; padding: 0 29px; background: var(--ra-red); color: #140B0A; border: 0; font-weight: 600; font-size: 16px; cursor: pointer; }
#rebel-apply .ra-btn:hover { background: var(--ra-red-hover); }
#rebel-apply .ra-ghost { min-height: 52px; padding: 0 28px; background: none; border: 1px solid var(--ra-muted); color: var(--ra-paper); font-weight: 600; font-size: 16px; cursor: pointer; }
#rebel-apply .ra-ghost:hover { background: var(--ra-paper); color: var(--ra-ink); border-color: var(--ra-paper); }
#rebel-apply .ra-btn[disabled], #rebel-apply .ra-ghost[disabled] { opacity: .6; cursor: default; }
#rebel-apply .ra-switch { margin: 28px 0 0; color: var(--ra-muted); }
#rebel-apply .ra-switch button { color: var(--ra-paper); font-size: 16px; font-weight: 600; white-space: normal; text-align: left; }

#rebel-apply .ra-paths { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 20px; }
#rebel-apply .ra-path { display: flex; flex-direction: column; min-height: 220px; padding: 28px; border: 1px solid var(--ra-muted); background: none; color: var(--ra-paper); text-align: left; cursor: pointer; }
#rebel-apply .ra-path:hover { background: var(--ra-paper); color: var(--ra-ink); }
#rebel-apply .ra-path .q-d { font-size: clamp(32px, 3.6vw, 44px); line-height: .92; }
#rebel-apply .ra-go { margin-top: auto; padding-top: 28px; font-family: var(--ra-mono); font-weight: 700; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }

#rebel-apply .ra-rv { border-top: 1px solid var(--ra-rule); padding: 22px 0 8px; }
#rebel-apply .ra-rv-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
#rebel-apply .ra-rv h2 { margin: 0 0 12px; font-size: 28px; line-height: 1; }
#rebel-apply .ra-rv-head button { color: var(--ra-paper); font-size: 16px; font-weight: 600; }
#rebel-apply .ra-rv dl { margin: 0; }
#rebel-apply .ra-rv-row { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: 4px 24px; padding: 8px 0; }
#rebel-apply .ra-rv dt { color: var(--ra-muted); font-size: 14px; }
#rebel-apply .ra-rv dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
#rebel-apply .ra-rv dd.ra-none { color: var(--ra-line); }
#rebel-apply .ra-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
#rebel-apply .ra-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

#rebel-apply .ra-done p { margin: 0 0 16px; font-size: 18px; max-width: 600px; }
#rebel-apply .ra-done strong { color: var(--ra-paper); }
#rebel-apply .ra-mail { color: var(--ra-paper); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
#rebel-apply .ra-mail:hover { color: var(--ra-red); }

@media (max-width: 640px) { #rebel-apply .ra-rv-row { grid-template-columns: minmax(0, 1fr); gap: 0; } }
@media (prefers-reduced-motion: reduce) { #rebel-apply .ra-bar i { transition: none; } }
