.chronbible .hero-copy h1 {
  max-width: 850px;
  font-size: clamp(54px, 8vw, 102px);
}

.chronbible .hero-copy h1 em {
  display: inline-block;
  font-size: .72em;
  line-height: 1.08;
}

.chronbible .readings-grid { grid-template-columns: minmax(0, 1fr); }

.chronbible .chapter-task-list {
  width: 100%;
  display: grid;
  gap: 9px;
}

.chronbible .chapter-task-row {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
}

.chronbible .chapter-checkbox {
  width: 25px;
  height: 25px;
  margin: 0;
  accent-color: var(--green);
  cursor: pointer;
}

.chronbible .chapter-checkbox:focus-visible {
  outline: 3px solid rgba(238,189,74,.45);
  outline-offset: 3px;
}

.chronbible .chapter-task-row .source-task { width: 100%; }

.chronbible .progress-layout-wide { grid-template-columns: minmax(0, 1fr); }

.chronbible .journey-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 900px) {
  .chronbible .progress-layout-wide { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .chronbible .hero-copy h1 { font-size: clamp(42px, 13vw, 62px); }
  .chronbible .journey-nav button { min-height: 76px; padding-inline: 5px; font-size: 16px; }
  .chronbible .journey-nav button span { display: block; margin: 0 0 4px; font-size: 16px; }
}

/* Keep the welcome and points content directly on the page. */
.chronbible .points-card {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--ink);
}
.chronbible .points-card .member-welcome,
.chronbible .points-card > strong,
.chronbible .points-card .eyebrow { color: var(--plum); }
.chronbible .points-card .welcome-change-name { color: var(--plum-3); }
.chronbible .points-card > span:not(.name-edit-hint),
.chronbible .points-card .reward-progress small { color: var(--ink-soft); }
.chronbible .points-card .reward-progress .progress-track { background: var(--line-dark); }
.chronbible .points-explanation {
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
}
