/* The senior on-ramp and the help-call form (web_helpcalls.py). Larger body text (18 px), large tap targets (56 px), classes only, no inline style. */
.senior { font-size: 1.125rem; line-height: 1.6; max-width: 46rem; margin: 0 auto; }
.senior h1 { font-size: 2.2rem; line-height: 1.2; margin: 8px 0 12px; }
.senior h2 { font-size: 1.6rem; line-height: 1.25; }
.senior-lead { font-size: 1.25rem; }
.senior-small { font-size: 1rem; color: var(--muted); }
.senior-cta { margin: 20px 0; }
.senior .senior-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 12px 28px; font-size: 1.25rem; text-align: center; hyphens: manual; overflow-wrap: normal; white-space: normal; }
.senior-dates { font-size: 1.125rem; font-weight: 600; margin: 4px 0 12px; }
.senior-reassure { list-style: none; padding: 0; margin: 8px 0 0; }
.senior-reassure li { padding: 6px 0 6px 1.6em; position: relative; }
.senior-reassure li::before { content: "\2713"; position: absolute; left: 0; color: var(--ok, inherit); font-weight: 700; }
.senior-steps { padding-left: 1.6em; margin: 8px 0; font-size: 1.25rem; }
.senior-steps li { margin: 12px 0; }
.senior-sec { margin: 20px 0; }
.senior-video { width: 100%; max-height: 70vh; border-radius: 8px; background: #000; }
.senior-form label { display: block; margin-top: 16px; font-weight: 600; }
.senior-form input[type=text], .senior-form input[type=tel], .senior-form input[type=email], .senior-form input:not([type]), .senior-form select, .senior-form textarea { width: 100%; min-height: 56px; font-size: 1.125rem; padding: 10px 12px; box-sizing: border-box; }
.senior-form textarea { min-height: 112px; }
.senior-consent { display: flex; gap: 14px; align-items: flex-start; margin-top: 16px; }
.senior-consent input { width: 28px; height: 28px; margin-top: 14px; flex: none; }
.senior-consent label { margin: 0; min-height: 56px; display: flex; align-items: center; font-weight: 400; }
.senior-foot { margin: 24px 0; font-size: 1rem; }
.senior .press-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ch-help { font-size: 0.9375rem; }
@media (max-width: 600px) { .senior h1 { font-size: 1.8rem; } .senior .senior-btn { width: 100%; } }
/* The 2hives Assistant (assistant.js): a big green call button, a phone-call screen with a timer, mute and a big red End call. */
.assistant-card .assistant-call { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 64px; padding: 14px 30px;
  font-size: 1.35rem; font-weight: 700; border-radius: 999px; background: #1e7d3a; color: #fff; border: 2px solid #1e7d3a; }
.assistant-card .assistant-call:hover, .assistant-card .assistant-call:focus-visible { background: #17652e; border-color: #0f4a21; }
.assistant-card .assistant-call:focus-visible, .assistant-screen button:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.assistant-screen { position: fixed; inset: 0; z-index: 50; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
  padding: 24px 16px; background: var(--surface, #fff); text-align: center; font-size: 1.25rem; overflow-y: auto; }
.assistant-screen[hidden] { display: none; }
.assistant-screen h3 { font-size: 1.8rem; margin: 0; }
.assistant-timer { font-size: 2.6rem; font-variant-numeric: tabular-nums; margin: 4px 0; }
.assistant-state { font-weight: 700; min-height: 1.6em; }
.assistant-said { max-width: 34rem; min-height: 3em; }
.assistant-buttons { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; margin-top: 12px; }
.assistant-buttons .btn { min-height: 64px; min-width: 9rem; font-size: 1.25rem; border-radius: 999px; }
.assistant-end { background: #b3261e; color: #fff; border: 2px solid #b3261e; min-width: 12rem !important; font-weight: 700; }
.assistant-end:hover, .assistant-end:focus-visible { background: #8c1d17; }
.assistant-mute[aria-pressed="true"] { background: var(--muted); color: #fff; }
.assistant-crisis { max-width: 34rem; text-align: left; }
