/* The stakeholder profilers (recruitment stage R2, 5 November 2026).
 * The profilers themselves wear the Online Profiler's own classes (portal.css, .pf-*), so the two
 * read as one system; this file adds only what the Profiler has no need for: lists a person types
 * (tags), repeated entries (projects, referees), small groups of parts, and the landing page.
 * Tokens only (tokens.css); no shadow, no gradient, no radius, as the rest of the portal. */

/* ── a small group of parts: two columns from a tablet up, a long answer across both ── */
.rc-parts { display: grid; gap: 0 1.25rem; grid-template-columns: minmax(0, 1fr); max-width: 40rem; }
@media (min-width: 40rem) { .rc-parts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rc-sub label { font-family: var(--ft); font-size: 15px; font-weight: 700; color: var(--dark-grey); }
.rc-sub-wide { grid-column: 1 / -1; }
.rc-sub .pf-tick { margin-top: 0; }
.rc-sub .pf-tick label { font-weight: 400; }

/* ── repeated entries ── */
.rc-repeat { display: grid; gap: 1rem; margin-top: 0.9rem; max-width: 42rem; }
.rc-item { margin: 0; padding: 0.4rem 1.1rem 1rem; border: 1px solid var(--light-grey); background: var(--white); min-width: 0; }
.rc-item-head { padding: 0 0.35rem; font-family: var(--ft); font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mid-grey); }
.rc-item .pf-linkish { margin-top: 0.75rem; min-height: 44px; }
.rc-repeat > .btn { justify-self: start; }

/* ── a list a person types (places, tools) ── */
.rc-tags { margin-top: 0.9rem; max-width: 34rem; }
.rc-tag-list { list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0 0 0.6rem; padding: 0; }
.rc-tag { display: inline-flex; align-items: center; gap: 0.25rem; padding: 0 0 0 0.75rem; background: var(--off-white); border: 1px solid var(--light-grey); font-size: 15px; color: var(--dark-grey); }
.rc-tag-x { min-width: 44px; min-height: 44px; padding: 0; border: 0; background: none; font-size: 20px; line-height: 1; color: var(--mid-grey); cursor: pointer; }
.rc-tag-x:hover { color: var(--error-ink); }
.rc-tag-x:focus-visible { outline: 3px solid var(--orange-fill); outline-offset: -3px; }
.rc-tag-add { display: flex; gap: 0.6rem; }
.rc-tag-add .pf-input { flex: 1 1 auto; min-width: 0; }

/* ── review ── */
.rc-pre { white-space: pre-line; overflow-wrap: anywhere; }
.rc-missing { margin: 0; padding-left: 1.1rem; }
.rc-missing li + li { margin-top: 0.35rem; }
.rc-missing .pf-linkish { text-align: left; color: inherit; }
/* The honeypot: out of sight and out of reach, never display:none (some scripts skip those). */
.rc-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.rc-done { max-width: var(--measure); }

/* ── the landing page ── */
.rc-main { background: var(--off-white); padding: clamp(2rem, 5vw, 4rem) 0; }
.rc-landing { display: grid; gap: clamp(2rem, 4vw, 3rem); }
.rc-hero { max-width: var(--measure); }
.rc-choices { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 60rem) { .rc-choices { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rc-choice { display: flex; flex-direction: column; gap: 0.75rem; padding: clamp(1.5rem, 3vw, 2.25rem); background: var(--white); border: 1px solid var(--light-grey); border-top: 3px solid var(--orange-fill); }
.rc-choice h2 { margin: 0; font-size: clamp(1.4rem, 2.6vw, 1.8rem); color: var(--brand-dark); }
.rc-choice p { margin: 0; max-width: 60ch; }
.rc-choice-kind { font-family: var(--ft); font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--orange-text); }
.rc-choice-list { margin: 0; padding-left: 1.1rem; color: var(--dark-grey); }
.rc-choice-list li + li { margin-top: 0.3rem; }
.rc-choice .btn { margin-top: auto; align-self: flex-start; }
.rc-how { max-width: var(--measure); }
.rc-how h2 { font-size: clamp(1.3rem, 2.4vw, 1.6rem); color: var(--brand-dark); margin: 0 0 0.75rem; }
.rc-how ol { margin: 0 0 1rem; padding-left: 1.25rem; }
.rc-how li + li { margin-top: 0.6rem; }

/* The landing page's head, over a photograph (7 Nov 2026): the portal's own veiled band
   (portal.css, .veiled), so it reads as the home page does. Its photograph (Disquiet A-Side)
   is MJM|DA's own work, used nowhere else on this site. The cards and the steps arrive as the home page's do (js/reveal.js). */
.rc-main-landing { padding-top: 0; }
.rc-head-band { color: #E9E9E8; }
.rc-head-band .rc-hero { padding-top: clamp(3rem, 8vw, 6rem); padding-bottom: clamp(3rem, 8vw, 5rem); max-width: 60ch; }
.rc-head-band .eyebrow { color: var(--orange-on-dark); }
.rc-head-band h1 { color: #fff; }
.rc-head-band .lede { color: #E9E9E8; }
.rc-head-band :focus-visible { outline-color: var(--orange-on-dark); }
.rc-hero-also { margin: 1.25rem 0 0; }
.rc-hero-also a { color: #fff; text-underline-offset: 4px; }
.rc-hero-also a::after { content: " →"; color: var(--orange-on-dark); }
.rc-main-landing .rc-landing { padding-top: clamp(2rem, 5vw, 3.5rem); }

@media (prefers-reduced-motion: reduce) {
  .rc-tag-x { transition: none; }
}

/* ── the account page: messages, a reply, withdrawing ── */
.rc-thread { margin-top: 1rem; padding-top: 0.75rem; border-top: 1px solid var(--light-grey); }
.rc-thread h3 { margin: 0 0 0.5rem; font-size: 16px; color: var(--brand-dark); }
.rc-msgs { list-style: none; margin: 0 0 0.75rem; padding: 0; display: grid; gap: 0.6rem; }
.rc-msg { padding: 0.7rem 0.9rem; border-left: 3px solid var(--light-grey); background: var(--white); }
.rc-msg-them { border-left-color: var(--orange-fill); }
.rc-msg p { margin: 0; }
.rc-msg-who { font-size: 13px; color: var(--mid-grey); margin-bottom: 0.25rem !important; }
.rc-compose { display: grid; gap: 0.5rem; margin-top: 0.6rem; max-width: 40rem; }
.rc-compose .btn { justify-self: start; }
.rc-own-msg, .rc-withdraw { margin-top: 0.6rem; }
.rc-own-msg summary, .rc-withdraw summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 700; color: var(--dark-grey); }
.rc-withdraw { flex-basis: 100%; }
.rc-withdraw label { display: block; margin: 0.5rem 0 0.3rem; font-weight: 700; }
.rc-withdraw .btn { margin-top: 0.6rem; }
.rc-tag-add .btn { flex: none; }
