/* Arrival-day guidance uses the site's existing monochrome paper and typography. */
#novice-journey { margin: 26px 0 8px; min-width: 0; }
.journey-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px 24px; flex-wrap: wrap; }
.journey-heading h2, .triage-group > h2 { font-family: var(--sans); font-size: 18px; line-height: 1.5; font-weight: 600; margin: 0; }
.journey-ranges { display: flex; gap: 8px; }
.journey-ranges button, .checklist-next-button { font-family: var(--sans); font-size: 12px; line-height: 1.5; min-height: 44px; padding: 10px 15px; border: 1px solid var(--line); border-radius: 0; color: var(--ink); background: transparent; }
.journey-ranges button[aria-pressed=true] { border-color: var(--ink); box-shadow: inset 0 -2px 0 var(--ink); font-weight: 600; }
.journey-ranges button:hover, .checklist-next-button:hover { border-color: var(--ink); background: var(--hover-surface); }
.journey-timing-note { max-width: 760px; margin: 14px 0 8px; color: var(--muted); font-size: 12px; line-height: 1.9; }
.journey-caption, .journey-swipe-hint { margin: 0; font-size: 12px; line-height: 1.8; color: var(--muted); }
.journey-list { display: grid; grid-template-columns: repeat(4, minmax(210px, 1fr)); gap: 22px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: var(--line) transparent; list-style: none; margin: 16px 0 0; padding: 0 0 14px; }
.journey-list[data-range=month] { grid-template-columns: repeat(5, minmax(210px, 1fr)); }
.journey-step { scroll-snap-align: start; min-width: 0; border-top: 1px solid var(--line); }
.journey-card { padding-top: 15px; height: 100%; display: flex; flex-direction: column; }
.journey-day { margin: 0 0 10px; color: var(--muted); font-size: 12px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.journey-card h3 { margin: 0 0 10px; font-family: var(--sans); font-size: 18px; line-height: 1.5; font-weight: 500; }
.journey-body { margin: 0 0 12px; font-size: 14px; line-height: 1.9; }
.journey-links { display: grid; gap: 0; margin-top: auto; }
.journey-links a { display: flex; align-items: center; min-height: 44px; font-size: 12px; line-height: 1.7; text-decoration: underline; text-underline-offset: 4px; }
.journey-swipe-hint { display: none; }
#checklist-next { position: static; display: flex; align-items: center; justify-content: space-between; gap: 12px 20px; margin: 16px 0; padding: 16px 0; border-block: 1px solid var(--line); }
.checklist-next-copy { display: grid; gap: 5px; font-size: 14px; line-height: 1.7; }
.checklist-next-label { color: var(--muted); font-size: 12px; }
.checklist-next-copy strong { font-size: 18px; font-weight: 500; line-height: 1.5; }
.checklist-next-button { flex-shrink: 0; }
.check-label input { scroll-margin-block: 140px; }
.guide-sources { display: grid; gap: 8px; }
.guide-source { min-width: 0; }
.guide-source a { font-size: 12px; line-height: 1.6; min-height: 44px; }
.guide-source-summary, .urgent-note .guide-source-summary { color: var(--muted); font-size: 12px; line-height: 1.8; margin: -2px 0 0; }
.triage-group { padding: 24px 0 0; border-top: 1px solid var(--ink); }
.triage-group + .triage-group { margin-top: 16px; }
.triage-group > h2 { font-size: 18px; }
.triage-intro { max-width: 850px; font-size: 14px; line-height: 1.9; margin: 10px 0 18px; }
.triage-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
.triage-group .urgent-note { min-width: 0; padding: 18px 0 0; background: transparent; border: 0; border-top: 1px solid var(--line); }
.triage-group .urgent-note h3 { margin: 0 0 10px; font-family: var(--sans); font-size: 18px; font-weight: 500; line-height: 1.6; }
.triage-group .urgent-note > p { margin: 0 0 10px; font-size: 14px; line-height: 1.9; }
@media (max-width: 760px) {
  #novice-journey { margin-top: 22px; }
  .journey-heading { gap: 12px; }
  .journey-list, .journey-list[data-range=month] { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(82vw, 290px); gap: 18px; margin-top: 14px; padding-bottom: 10px; }
  .journey-swipe-hint { display: block; margin-top: 4px; }
  .triage-notes { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
@media (max-width: 480px) {
  .journey-ranges { gap: 8px; }
  .journey-ranges button { padding-inline: 13px; }
  .journey-timing-note { margin-top: 12px; }
  #checklist-next { align-items: flex-start; flex-direction: column; gap: 12px; }
  .checklist-next-button { align-self: flex-start; }
}
