/* Room for Help — v1 beta components.
   Every colour, face, radius and control height comes from tokens.css.
   Nothing in this file introduces one. */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

/* "html body", not "body": theme.json, left from the holding page, prints a
   grey-lilac body background as an inline style after this sheet, and would
   otherwise win. The ground is white. */
html body {
  margin: 0;
  background: var(--rfh-ground);
  color: var(--rfh-ink);
  font: var(--rfh-body);
}

h1, h2, h3 { margin: 0; color: var(--rfh-ink); }
h1 { font: var(--rfh-display); letter-spacing: var(--rfh-track-display); }
h2 { font: var(--rfh-h2); letter-spacing: var(--rfh-track-h2); }
h3 { font: var(--rfh-h3); }
p  { margin: 0 0 var(--rfh-4); }

a { color: var(--rfh-accent); }
a:hover { color: var(--rfh-accent-press); }

:focus-visible {
  outline: 2px solid var(--rfh-focus);
  outline-offset: 2px;
  border-radius: var(--rfh-radius-field);
}

/* 1248 outer, 1200 of content, matching the design reference. --rfh-container is
   the content width, so the gutters are added to it rather than taken out. */
.rfh-container {
  max-width: calc(var(--rfh-container) + var(--rfh-gutter) * 2);
  margin: 0 auto; padding: 0 var(--rfh-gutter);
}

/* ---------- button ---------- */
.rfh-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--rfh-control-h);
  padding: 0 var(--rfh-6);
  border-radius: var(--rfh-radius-field);
  border: 1px solid transparent;
  font: var(--rfh-body); font-weight: 600;
  text-decoration: none; cursor: pointer;
  transition: background var(--rfh-fast) var(--rfh-ease), color var(--rfh-fast) var(--rfh-ease);
}
.rfh-btn.is-full { width: 100%; }
.rfh-btn--pill { border-radius: var(--rfh-radius-pill); }
.rfh-btn--primary { background: var(--rfh-accent); color: var(--rfh-ground); }
.rfh-btn--primary:hover { background: var(--rfh-accent-press); color: var(--rfh-ground); }
/* An ink hairline, not the lighter --rfh-line of a secondary button. The
   design uses it for the two hero paths that sit beside the filled one, where
   a line-coloured border reads as disabled next to it. */
.rfh-btn--outline { background: var(--rfh-ground); color: var(--rfh-ink); border-color: var(--rfh-ink); }
.rfh-btn--outline:hover { background: var(--rfh-surface); color: var(--rfh-ink); }
.rfh-btn--secondary { background: var(--rfh-ground); color: var(--rfh-ink); border-color: var(--rfh-line); }
.rfh-btn--secondary:hover { background: var(--rfh-surface); color: var(--rfh-ink); }
.rfh-btn--quiet { background: none; color: var(--rfh-ink); min-height: var(--rfh-tap-min); padding: 0 var(--rfh-3); }
.rfh-btn--quiet:hover { background: var(--rfh-surface); color: var(--rfh-ink); }
.rfh-btn[disabled] { opacity: .5; cursor: not-allowed; }

/* ---------- choice card ---------- */
.rfh-choice {
  display: flex; gap: var(--rfh-4); align-items: flex-start;
  padding: var(--rfh-4) var(--rfh-6);
  min-height: var(--rfh-control-h);
  border: 1px solid var(--rfh-line);
  border-radius: var(--rfh-radius-card);
  background: var(--rfh-ground);
  cursor: pointer;
  transition: border-color var(--rfh-fast) var(--rfh-ease), background var(--rfh-fast) var(--rfh-ease);
}
.rfh-choice:hover { border-color: var(--rfh-ink-2); }
.rfh-choice:has(.rfh-choice__input:checked) {
  border: 2px solid var(--rfh-ink);
  background: var(--rfh-accent-tint);
  padding: calc(var(--rfh-4) - 1px) calc(var(--rfh-6) - 1px);
}
.rfh-choice:has(.rfh-choice__input:focus-visible) { outline: 2px solid var(--rfh-focus); outline-offset: 2px; }
.rfh-choice__input { width: var(--rfh-6); height: var(--rfh-6); margin: 0; flex: 0 0 auto; accent-color: var(--rfh-accent); }
.rfh-choice__body { display: block; }
.rfh-choice__label { display: block; font-weight: 600; }
.rfh-choice__hint { display: block; color: var(--rfh-ink-2); font: var(--rfh-small); margin-top: var(--rfh-1); }

/* ---------- chip ---------- */
.rfh-chip {
  display: inline-block; padding: var(--rfh-1) var(--rfh-3);
  border-radius: var(--rfh-radius-pill);
  font: var(--rfh-small); font-weight: 600;
}
.rfh-chip--neutral  { background: var(--rfh-surface); color: var(--rfh-ink-2); }
.rfh-chip--positive { background: var(--rfh-accent-tint); color: var(--rfh-accent-press); }
.rfh-chip--caution  { background: var(--rfh-caution-tint); color: var(--rfh-caution); }
.rfh-chip--stop     { background: var(--rfh-stop-tint); color: var(--rfh-stop); }

/* ---------- field ---------- */
.rfh-field { margin-bottom: var(--rfh-6); }
.rfh-field__label { display: block; font-weight: 600; margin-bottom: var(--rfh-1); }
.rfh-field__opt { color: var(--rfh-ink-2); font-weight: 400; margin-left: var(--rfh-2); }
.rfh-field__hint { display: block; color: var(--rfh-ink-2); margin-bottom: var(--rfh-2); }
.rfh-field__input {
  width: 100%; min-height: var(--rfh-control-h);
  padding: 0 var(--rfh-4);
  font: var(--rfh-body); color: var(--rfh-ink);
  background: var(--rfh-ground);
  border: 1px solid var(--rfh-field-line);
  border-radius: var(--rfh-radius-field);
}
.rfh-field__input:hover { border-color: var(--rfh-ink-2); }
.rfh-field.is-invalid .rfh-field__input { border-color: var(--rfh-stop); border-width: 2px; }
.rfh-field__err { display: block; margin-top: var(--rfh-2); color: var(--rfh-stop); font-weight: 600; }

/* ---------- photo frame ---------- */
.rfh-photo { margin: 0; }
.rfh-photo__frame {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: var(--rfh-2);
  background: var(--rfh-surface);
  border: 1px dashed var(--rfh-line);
  border-radius: var(--rfh-radius-card);
  color: var(--rfh-ink-2);
  text-align: center; padding: var(--rfh-6);
}
.rfh-photo--wide     .rfh-photo__frame { aspect-ratio: 16 / 9; }
.rfh-photo--square   .rfh-photo__frame { aspect-ratio: 1 / 1; }
.rfh-photo--portrait .rfh-photo__frame { aspect-ratio: 3 / 4; }
.rfh-photo__tag { font: var(--rfh-label); letter-spacing: var(--rfh-track-label); text-transform: uppercase; }
.rfh-photo__what { font: var(--rfh-small); }
.rfh-photo__caption { margin-top: var(--rfh-2); color: var(--rfh-ink-2); font: var(--rfh-small); }

/* ---------- progress ---------- */
.rfh-progress__text { display: flex; gap: var(--rfh-3); flex-wrap: wrap; margin-bottom: var(--rfh-2); }
.rfh-progress__step { font-weight: 600; }
.rfh-progress__label { color: var(--rfh-ink-2); }
.rfh-progress__track { height: var(--rfh-2); background: var(--rfh-surface); border-radius: var(--rfh-radius-pill); overflow: hidden; }
.rfh-progress__fill { height: 100%; background: var(--rfh-accent); border-radius: var(--rfh-radius-pill); }

/* ---------- wizard footer ---------- */
.rfh-wizfoot {
  position: sticky; bottom: 0;
  background: var(--rfh-ground);
  border-top: 1px solid var(--rfh-line);
  padding: var(--rfh-3) 0;
}
.rfh-wizfoot__inner {
  max-width: var(--rfh-container); margin: 0 auto; padding: 0 var(--rfh-gutter);
  display: flex; align-items: center; justify-content: space-between; gap: var(--rfh-4);
}
.rfh-wizfoot__note { margin: 0; color: var(--rfh-ink-2); font: var(--rfh-small); }

/* ---------- step card ---------- */
.rfh-step { display: flex; gap: var(--rfh-4); }
.rfh-step__n {
  flex: 0 0 auto; width: var(--rfh-12); height: var(--rfh-12);
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--rfh-radius-pill);
  background: var(--rfh-accent-tint); color: var(--rfh-accent-press);
  font-weight: 700;
}
.rfh-step__title { margin-bottom: var(--rfh-1); }
.rfh-step__text { margin: 0; }

/* ---------- data table ---------- */
.rfh-tablewrap { overflow-x: auto; border: 1px solid var(--rfh-line); border-radius: var(--rfh-radius-card); }
.rfh-table { border-collapse: collapse; width: 100%; min-width: 640px; }
.rfh-table__caption { text-align: left; padding: var(--rfh-4) var(--rfh-4) 0; font-weight: 600; }
.rfh-table th, .rfh-table td { text-align: left; padding: var(--rfh-3) var(--rfh-4); border-bottom: 1px solid var(--rfh-line); }
.rfh-table th { font: var(--rfh-label); letter-spacing: var(--rfh-track-label); text-transform: uppercase; color: var(--rfh-ink-2); }
.rfh-table tbody tr:last-child td { border-bottom: 0; }
.rfh-table__empty { color: var(--rfh-ink-2); }

/* ---------- compare row ---------- */
.rfh-compare { padding: var(--rfh-4) 0; border-top: 1px solid var(--rfh-line); }
.rfh-compare:first-child { border-top: 0; }
.rfh-compare__head { display: flex; justify-content: space-between; gap: var(--rfh-4); flex-wrap: wrap; margin-bottom: var(--rfh-3); }
.rfh-compare__label { font-weight: 600; }
.rfh-compare__poles { color: var(--rfh-ink-2); font: var(--rfh-small); }
.rfh-compare__axis { position: relative; height: var(--rfh-8); max-width: 520px; }
.rfh-compare__track { position: absolute; top: 14px; left: 0; right: 0; height: var(--rfh-1); background: var(--rfh-surface); border-radius: var(--rfh-radius-pill); }
.rfh-compare__span { position: absolute; top: 14px; height: var(--rfh-1); background: var(--rfh-line); border-radius: var(--rfh-radius-pill); }
.rfh-compare__mk {
  position: absolute; top: 4px; width: var(--rfh-6); height: var(--rfh-6); margin-left: calc(var(--rfh-6) / -2);
  border-radius: var(--rfh-radius-pill);
  display: flex; align-items: center; justify-content: center;
  font: var(--rfh-label); color: var(--rfh-ground);
}
.rfh-compare__mk.is-host   { background: var(--rfh-ink); }
.rfh-compare__mk.is-helper { background: var(--rfh-accent); }
.rfh-compare__note { margin: var(--rfh-2) 0 0; color: var(--rfh-ink-2); font: var(--rfh-small); }

/* ---------- header and footer ---------- */
.rfh-header { border-bottom: 1px solid var(--rfh-line); background: var(--rfh-ground); }
.rfh-header__inner {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--rfh-4); padding-top: var(--rfh-4); padding-bottom: var(--rfh-4);
}
.rfh-header__brand img { display: block; height: auto; }
.rfh-header__nav { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rfh-6); }
.rfh-header__link {
  display: inline-flex; align-items: center; min-height: var(--rfh-tap-min);
  color: var(--rfh-ink); text-decoration: none; font-weight: 500;
}
.rfh-header__link:hover { color: var(--rfh-accent-press); text-decoration: underline; }
.rfh-header__cta {
  display: inline-flex; align-items: center; min-height: var(--rfh-tap-min);
  padding: 0 var(--rfh-6); border: 1px solid var(--rfh-ink);
  border-radius: var(--rfh-radius-pill); color: var(--rfh-ink);
  text-decoration: none; font-weight: 600;
}
.rfh-header__cta:hover { background: var(--rfh-ink); color: var(--rfh-ground); }

.rfh-footer { border-top: 1px solid var(--rfh-line); background: var(--rfh-ground); }
.rfh-footer__inner {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--rfh-4);
  padding-top: var(--rfh-8); padding-bottom: var(--rfh-12);
  font: var(--rfh-small); color: var(--rfh-ink-2);
}
.rfh-footer__legal { display: flex; flex-direction: column; gap: var(--rfh-1); }
.rfh-footer__address { font-style: normal; }
.rfh-footer__nav { display: flex; gap: var(--rfh-6); }
.rfh-footer__nav a { color: var(--rfh-ink); }

@media (max-width: 720px) {
  .rfh-wizfoot__inner { flex-wrap: wrap; }
  .rfh-wizfoot__note { order: 3; flex: 1 0 100%; }
  .rfh-compare__axis { max-width: none; }
}

/* ---------- shared across surfaces ----------
   These were in home.css until the intake wizard needed them too. */
.rfh-eyebrow {
  font: var(--rfh-label); letter-spacing: var(--rfh-track-label);
  text-transform: uppercase; color: var(--rfh-ink-2); margin: 0 0 var(--rfh-3);
}

.rfh-list { list-style: none; margin: 0; padding: 0; }
.rfh-list li { position: relative; padding-left: var(--rfh-8); margin-bottom: var(--rfh-3); }
.rfh-list li::before { position: absolute; left: 0; font-weight: 700; }
.rfh-list--yes li::before { content: "Yes:"; font: var(--rfh-label); letter-spacing: var(--rfh-track-label); color: var(--rfh-accent-press); top: 4px; }
.rfh-list--no  li::before { content: "No:";  font: var(--rfh-label); letter-spacing: var(--rfh-track-label); color: var(--rfh-stop); top: 4px; }
/* Neutral marker, for lists that are not a does / does not contrast. */
.rfh-list--plain li { padding-left: var(--rfh-6); }
.rfh-list--plain li::before { content: "—"; color: var(--rfh-accent); font-weight: 400; }

.rfh-stub {
  border: 1px solid var(--rfh-caution); background: var(--rfh-caution-tint);
  border-radius: var(--rfh-radius-field); padding: var(--rfh-4) var(--rfh-6);
  margin-bottom: var(--rfh-6); color: var(--rfh-caution);
}
.rfh-stub b { display: block; }
.rfh-stub p { margin: var(--rfh-2) 0 0; font: var(--rfh-small); }

.rfh-alert {
  border: 1px solid var(--rfh-stop); background: var(--rfh-stop-tint);
  border-radius: var(--rfh-radius-field); padding: var(--rfh-3) var(--rfh-4);
  margin-bottom: var(--rfh-6); color: var(--rfh-stop); font-weight: 600;
}
.rfh-alert:empty { display: none; }

/* The callout block. Started in intake.css; the referrer portal needs it too. */
.rfh-note {
  border-left: var(--rfh-1) solid var(--rfh-line);
  background: var(--rfh-surface);
  border-radius: 0 var(--rfh-radius-field) var(--rfh-radius-field) 0;
  padding: var(--rfh-4) var(--rfh-6);
  margin: var(--rfh-8) 0 0;
}
.rfh-note strong { display: block; margin-bottom: var(--rfh-1); }
.rfh-note p { margin: 0; }
.rfh-note--warn { border-left-color: var(--rfh-caution); background: var(--rfh-caution-tint); }
.rfh-note--warn strong { color: var(--rfh-caution); }
.rfh-note--stop { border-left-color: var(--rfh-stop); background: var(--rfh-stop-tint); margin-top: 0; }
.rfh-note--stop strong { color: var(--rfh-stop); }

/* ---------- skip link ---------- */
/* Visually hidden, still read aloud. Lived in intake.css, where only the
   intake could see it — /status/ renders a <legend> with it and showed the
   legend. A class two surfaces use belongs here. */
.rfh-sr {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}

.rfh-skip {
  position: absolute; left: var(--rfh-4); top: calc(var(--rfh-4) * -4);
  z-index: 10;
  background: var(--rfh-ink); color: var(--rfh-ground);
  padding: var(--rfh-3) var(--rfh-4);
  border-radius: var(--rfh-radius-field);
  text-decoration: none;
  transition: top var(--rfh-fast) var(--rfh-ease);
}
.rfh-skip:focus { top: var(--rfh-4); color: var(--rfh-ground); }

/* ---------- scale ---------- */
.rfh-scale__row { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--rfh-3); }
.rfh-scale__pt {
  display: flex; align-items: center; justify-content: center;
  min-height: var(--rfh-control-h);
  border: 1px solid var(--rfh-line);
  border-radius: var(--rfh-radius-field);
  background: var(--rfh-ground);
  font-weight: 600; color: var(--rfh-ink-2);
  cursor: pointer;
  transition: background var(--rfh-fast) var(--rfh-ease), border-color var(--rfh-fast) var(--rfh-ease);
}
.rfh-scale__pt:hover { border-color: var(--rfh-ink-2); }
.rfh-scale__pt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rfh-scale__pt:has(input:checked) {
  background: var(--rfh-accent-tint);
  border: 2px solid var(--rfh-ink);
  color: var(--rfh-ink);
}
.rfh-scale__pt:has(input:focus-visible) { outline: 2px solid var(--rfh-focus); outline-offset: 2px; }
.rfh-scale__poles {
  display: flex; justify-content: space-between; gap: var(--rfh-4);
  margin-top: var(--rfh-3); color: var(--rfh-ink-2); font: var(--rfh-small);
}
.rfh-scale__poles span { max-width: 46%; }
.rfh-scale__poles span:last-child { text-align: right; }

@media (max-width: 400px) {
  .rfh-scale__row { gap: var(--rfh-1); }
}

/* Textareas share the field styling but need their own height and padding. */
.rfh-field__area {
  min-height: auto; padding: var(--rfh-3) var(--rfh-4);
  line-height: 1.6; resize: vertical;
}

/* ---------- simple prose page ---------- */
.rfh-page__inner { max-width: 44rem; padding-top: var(--rfh-12); padding-bottom: var(--rfh-16); }
.rfh-page h1 { font: var(--rfh-h2); letter-spacing: var(--rfh-track-h2); margin-bottom: var(--rfh-4); }
.rfh-page h2 { font: var(--rfh-h3); margin: var(--rfh-12) 0 var(--rfh-3); }
.rfh-page__lede { font-size: 1.25rem; line-height: 1.9rem; }
.rfh-page__back { margin-top: var(--rfh-12); }

/* ---------- real photography ---------- */
.rfh-photo--real img {
  display: block; width: 100%; height: auto;
  aspect-ratio: var(--rfh-photo-ratio, 3 / 2);
  object-fit: cover;
  border-radius: var(--rfh-radius-card);
  background: var(--rfh-surface);
}

/* ---------- radio pill ---------- */
.rfh-radio-pill {
  display: inline-flex; align-items: center; gap: var(--rfh-2);
  min-height: var(--rfh-tap-min); padding: 0 var(--rfh-4);
  border: 1px solid var(--rfh-line); border-radius: var(--rfh-radius-pill);
  background: var(--rfh-ground); font-weight: 500; cursor: pointer;
  transition: border-color var(--rfh-fast) var(--rfh-ease);
}
.rfh-radio-pill input { width: 18px; height: 18px; margin: 0; accent-color: var(--rfh-accent); }
.rfh-radio-pill:hover { border-color: var(--rfh-ink-2); }
.rfh-radio-pill:has(input:checked) {
  border: 2px solid var(--rfh-ink); font-weight: 600;
  padding: 0 calc(var(--rfh-4) - 1px);
}
.rfh-radio-pill:has(input:focus-visible) { outline: 2px solid var(--rfh-focus); outline-offset: 2px; }

/* ---------- internal status list ---------- */
.rfh-status h2 { font: var(--rfh-h3); margin: var(--rfh-12) 0 var(--rfh-4); }
.rfh-statuslist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--rfh-4); }
.rfh-statuslist > li { border: 1px solid var(--rfh-line); border-radius: var(--rfh-radius-card); padding: var(--rfh-6); }
.rfh-statuslist__head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rfh-3); }
.rfh-statuslist code { font: var(--rfh-small); color: var(--rfh-ink-2); }
.rfh-statuslist p { margin: var(--rfh-3) 0 0; }

/* ---------- agreement form ---------- */
.rfh-agform { display: flex; flex-direction: column; gap: var(--rfh-4); max-width: 34rem; margin-bottom: var(--rfh-12); }
.rfh-agform .rfh-field { margin-bottom: 0; }

/* Secondary line under a heading or beside a count. Shared by the console and
   /status/, so it lives here rather than in either surface's stylesheet. */
.rfh-sub { color: var(--rfh-ink-2); font: var(--rfh-small); }

/* ---------- FAQ ----------
   Every answer open at once, each under a hairline. */
.rfh-faq { display: flex; flex-direction: column; margin-top: var(--rfh-8); border-top: 1px solid var(--rfh-line); }
.rfh-faq__item { display: flex; flex-direction: column; gap: var(--rfh-3); padding: var(--rfh-8) 0; border-bottom: 1px solid var(--rfh-line); }
.rfh-page .rfh-faq__item h2 { margin: 0; }
.rfh-faq__item p { margin: 0; }

/* ---------- Service area map ----------
   Drawn inline from Census county outlines; see the partial. Label sizes are
   in map units: 28 of 640 stays at 15px or more down to a 343px column. */
.rfh-map { margin: 0; display: flex; flex-direction: column; gap: var(--rfh-2); }
.rfh-map__svg { display: block; width: 100%; height: auto; border: 1px solid var(--rfh-line); border-radius: var(--rfh-radius-card); background: var(--rfh-ground); }
.rfh-map__others path { fill: var(--rfh-warm); stroke: var(--rfh-line); stroke-width: 1.5; }
.rfh-map__served path { fill: var(--rfh-accent-tint); stroke: var(--rfh-accent); stroke-width: 2.5; stroke-linejoin: round; }
.rfh-map__svg text { font-family: var(--rfh-font); font-size: 28px; fill: var(--rfh-ink); paint-order: stroke; stroke: var(--rfh-ground); stroke-width: 6px; stroke-linejoin: round; }
.rfh-map__labels text { font-weight: 600; }
.rfh-map__city { fill: var(--rfh-ink); stroke: var(--rfh-ground); stroke-width: 2.5; }
.rfh-map__svg .rfh-map__city-label { font-weight: 700; }
.rfh-map__svg .rfh-map__note { fill: var(--rfh-ink-2); }
.rfh-map__caption { font: var(--rfh-small); color: var(--rfh-ink-2); }

/* /sign-in/ */
.rfh-signin__form { margin-bottom: var(--rfh-6); }

/* Choice and field groups. The intake wizard and /my/ details both use them. */
.rfh-wizard__choices { display: flex; flex-wrap: wrap; gap: var(--rfh-4); }
.rfh-wizard__choices > * { flex: 1 1 340px; }
.rfh-wizard__choices--one > * { flex: 1 1 100%; }
.rfh-wizard__fields { display: flex; flex-direction: column; gap: var(--rfh-4); }
.rfh-wizard__fields .rfh-field { margin-bottom: 0; }
@media (max-width: 720px) {
  .rfh-wizard__choices > * { flex: 1 1 100%; }
}

/* /my/ */
.rfh-my__step { margin-top: var(--rfh-12); }
.rfh-my__step h2 { margin-bottom: var(--rfh-2); }
.rfh-my__step .rfh-sub { margin-bottom: var(--rfh-4); }
.rfh-my__actions { display: flex; flex-wrap: wrap; gap: var(--rfh-4); align-items: center; margin-top: var(--rfh-12); }
.rfh-my__links { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rfh-6); margin-top: var(--rfh-6); }

/* A required tick box with a sentence. Referral attestation, membership consent, deletion. */
.rfh-attest label {
  display: flex; align-items: flex-start; gap: var(--rfh-4);
  padding: var(--rfh-6); border: 1px solid var(--rfh-line);
  border-radius: var(--rfh-radius-card); font-weight: 500; cursor: pointer;
}
.rfh-attest input { width: 22px; height: 22px; margin: 3px 0 0; flex: 0 0 auto; accent-color: var(--rfh-ink); }
.rfh-attest.is-invalid label { border-color: var(--rfh-stop); border-width: 2px; }
.rfh-my__legend { font: var(--rfh-h3); margin-bottom: var(--rfh-4); padding: 0; }
.rfh-my__step { border: 0; padding: 0; margin-left: 0; margin-right: 0; }
.rfh-callout { padding: var(--rfh-6); border-radius: var(--rfh-radius-card); background: var(--rfh-accent-tint); margin: var(--rfh-6) 0; }
.rfh-callout p { margin: 0; }
.rfh-my__step fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.rfh-photos { display: flex; flex-wrap: wrap; gap: var(--rfh-4); margin-bottom: var(--rfh-8); }
.rfh-photo { margin: 0; flex: 1 1 220px; max-width: 320px; display: flex; flex-direction: column; gap: var(--rfh-2); }
.rfh-photo img { width: 100%; height: auto; border-radius: var(--rfh-radius-card); display: block; }
