/* Scoped to the public journey guide. */
[hidden] { display: none !important; }
.journey-hero { padding-block: 2.8rem 3.2rem; }
.journey-hero .breadcrumbs { margin-bottom: 1.6rem; }
.journey-hero h1 { font-size: clamp(2.9rem, 5.5vw, 5rem); }
.journey-hero .lead { max-width: 720px; margin-bottom: .8rem; }
.journey-context { color: var(--muted); max-width: 700px; }
.journey-jump { display: inline-block; font-weight: 700; margin-top: .5rem; padding-block: .3rem; }
.journey-roadmap-section { border-bottom: 1px solid var(--line); padding-block: 1.8rem 1.4rem; }
.journey-map-heading { display: flex; flex-wrap: wrap; gap: .5rem 2rem; justify-content: space-between; align-items: baseline; }
.journey-map-heading h2 { font: 700 1.1rem var(--font-body); letter-spacing: 0; margin: 0; }
.journey-map-heading p { font-size: .9rem; color: var(--muted); margin: 0; }
.journey-roadmap { list-style: none; padding: 0; margin: 1.1rem 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .7rem; }
.journey-roadmap li { margin: 0; border-top: 2px solid var(--line); padding: .9rem .5rem .7rem 0; display: flex; flex-wrap: wrap; gap: .6rem; align-content: start; align-items: flex-start; }
.journey-roadmap li:nth-child(2) { border-top-color: var(--teal); }
.journey-roadmap li:nth-child(3) { border-top-color: var(--magenta); }
.journey-roadmap li:nth-child(4) { border-top-color: var(--blue); }
.journey-step-number { border: 1px solid var(--purple); border-radius: 50%; width: 29px; height: 29px; display: grid; place-items: center; color: var(--purple); flex: none; font: 700 .9rem var(--font-label); }
.journey-roadmap strong { font-size: .95rem; display: block; }
.journey-roadmap small { color: var(--muted); font-size: .83rem; display: block; margin-top: .2rem; }
.journey-roadmap [aria-current="step"] { background: var(--soft); outline: 2px solid var(--purple); outline-offset: 3px; padding-left: .5rem; }
.journey-selected { color: var(--purple); font-weight: 700; font-size: .8rem; width: 100%; }
.journey-map-disclosure summary { width: fit-content; min-height: 44px; padding: .6rem .2rem; color: var(--purple); font-weight: 700; cursor: pointer; }
.journey-map-disclosure .journey-roadmap { margin-top: .4rem; }
.journey-help-line { margin: .7rem 0 0; font-size: .9rem; padding: .5rem 0; }
.journey-help-line[aria-current="step"] { border-left: 3px solid var(--purple); padding-left: .7rem; background: var(--soft); }
.journey-workspace { display: grid; grid-template-columns: minmax(0,1fr) minmax(235px,.43fr); gap: clamp(2rem,5vw,5rem); padding-block: 3.7rem; align-items: start; }
.journey-main > h2 { font-size: clamp(2.2rem,3.4vw,3rem); margin: 0 0 2rem; }
.journey-field { margin: 0 0 2rem; padding: 0; border: 0; min-width: 0; }
.journey-field > label, .journey-field > legend { font-weight: 700; font-size: 1.13rem; padding: 0; margin-bottom: .55rem; line-height: 1.4; display: block; }
.journey-field > p { font-size: .93rem; color: var(--muted); margin: .55rem 0 1rem; }
.journey-question-number { color: var(--teal); font: 700 1.05rem var(--font-label); margin-right: .6rem; }
.journey-field select { display: block; width: 100%; max-width: 100%; background: white; color: var(--ink); border: 1px solid #6e6577; border-radius: 3px; min-height: 51px; padding: .75rem .6rem; font: 400 1rem var(--font-body); }
.journey-stage-options { display: grid; gap: .65rem; }
.journey-stage-choice { display: flex; gap: .9rem; align-items: flex-start; border: 1px solid #8b8295; border-radius: 4px; padding: 1rem; cursor: pointer; }
.journey-stage-choice:hover { border-color: var(--purple); background: #faf8fc; }
.journey-stage-choice:has(input:checked) { border: 2px solid var(--purple); padding: calc(1rem - 1px); background: var(--soft); }
.journey-stage-choice input { width: 20px; height: 20px; flex: none; margin: .2rem 0 0; accent-color: var(--purple); }
.journey-stage-choice strong { display: block; font-size: 1rem; }
.journey-stage-choice small { display: block; color: var(--muted); margin-top: .25rem; font-size: .9rem; line-height: 1.5; }
.journey-submit { cursor: pointer; font: 700 1rem var(--font-body); gap: .8rem; }
.journey-selection-note { font-size: .86rem; color: var(--muted); margin: .8rem 0 0; }
.journey-side { padding-top: 1rem; border-top: 3px solid var(--teal); }
.journey-side > h2 { font-size: clamp(1.7rem,2.5vw,2.3rem); margin: .5rem 0 1rem; }
.journey-side p { color: var(--muted); font-size: .95rem; }
.journey-side-note { margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.journey-side-note h3 { font-size: 1rem; margin: 0 0 .5rem; }
.journey-side > a { display: inline-block; font-weight: 700; margin-top: .5rem; }
.journey-result { border: 2px solid var(--purple); border-radius: 5px; padding: clamp(1.2rem,3vw,2rem); margin-top: 2.5rem; scroll-margin-top: 2rem; }
.journey-result h2 { font-size: clamp(1.8rem,3.3vw,2.7rem); margin: .5rem 0; }
.journey-result h2:focus { outline: 3px solid var(--magenta); outline-offset: 4px; }
.journey-help-line[aria-current="location"] { border: 1px solid var(--purple); border-left: 3px solid var(--teal); border-radius: 4px; padding: .9rem 1rem; background: var(--soft); }
.journey-result-context { font-weight: 700; color: var(--teal); }
.journey-result-detail { margin: 1.5rem 0; }
.journey-result-detail > div { border-top: 1px solid var(--line); padding-top: .8rem; margin-top: .9rem; }
.journey-result-detail dt { font: 700 .78rem var(--font-label); text-transform: uppercase; letter-spacing: .07em; color: var(--muted); }
.journey-result-detail dd { margin: .3rem 0 0; }
.journey-next { margin-top: .3rem; }
.journey-result-source { margin: 1rem 0 0; font-size: .84rem; color: var(--muted); }
.journey-result-guidance { margin: 1.1rem 0 .4rem; font-size: .85rem; color: var(--muted); }
.journey-reset { display: inline-block; padding: .5rem 0; min-height: 44px; color: var(--purple); border: 0; background: transparent; text-decoration: underline; text-underline-offset: .2em; cursor: pointer; font: 700 .95rem var(--font-body); }
.journey-source-section { border-top: 1px solid var(--line); padding-block: 1.7rem; }
.journey-source-section h2 { font: 700 1rem var(--font-body); letter-spacing: 0; margin: 0 0 .5rem; }
.journey-source-section p { font-size: .88rem; color: var(--muted); max-width: 950px; margin: 0; }
.journey-field select:focus-visible, .journey-stage-choice input:focus-visible, .journey-submit:focus-visible, .journey-reset:focus-visible, #journey-result-title:focus { outline: 3px solid var(--magenta); outline-offset: 4px; }
.journey-stage-choice:focus-within { outline: 3px solid var(--magenta); outline-offset: 3px; }
@media (max-width: 850px) { .journey-workspace { grid-template-columns: 1fr; } .journey-side { max-width: 700px; } }
@media (max-width: 640px) { .journey-roadmap { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem 1rem; } .journey-roadmap li { padding-top: .7rem; } .journey-hero { padding-block: 2.2rem 2.5rem; } .journey-workspace { padding-block: 2.6rem; } .journey-stage-choice { padding: .85rem; } .journey-stage-choice:has(input:checked) { padding: calc(.85rem - 1px); } .journey-result { scroll-margin-top: 1rem; } }
@media (max-width: 640px) {
  .journey-task-hero { padding-block: 1.2rem 1.25rem; }
  .journey-task-hero .breadcrumbs { margin-bottom: 1rem; }
  .journey-task-hero h1 { font-size: clamp(2.1rem, 9.5vw, 2.7rem); }
  .journey-task-hero .eyebrow { margin-bottom: .55rem; }
  .journey-task-hero .journey-context { margin-bottom: .5rem; }
  .journey-task-hero + .journey-roadmap-section { padding-block: 1rem .7rem; }
  .journey-map-heading { gap: .35rem 1rem; }
  .journey-map-heading h2 { font-size: 1rem; }
  .journey-help-line { margin-top: .2rem; }
  .journey-task-hero ~ .journey-workspace { padding-block: 1.6rem; }
  .journey-task-hero ~ .journey-workspace .journey-main > h2 { font-size: 2rem; margin-bottom: 1.2rem; }
}
@media (forced-colors: active) { .journey-stage-choice:has(input:checked) { border: 3px solid Highlight; } .journey-roadmap [aria-current="step"] { outline-color: Highlight; } }
