/* Additive components: keep existing Radar palette, typography and page structure. */
.journey-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-block:28px; }
.journey-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.journey-card { min-width:0; padding:26px; border:2px solid var(--ink); border-top:7px solid var(--yellow); background:var(--paper); color:var(--ink); border-radius:12px; }
.journey-card:nth-child(3n + 2) { border-top-color:var(--pink); }
.journey-card:nth-child(3n) { border-top-color:var(--orange); }
.journey-card--wide { grid-column:1 / -1; }
.journey-card h3 { margin-block:14px 12px; font-family:"Alexandria",sans-serif; font-size:21px; line-height:1.55; letter-spacing:normal; }
.journey-card p, .journey-card li { font-size:17px; line-height:1.85; color:var(--ink-2); }
.journey-card p:last-child { margin-bottom:0; }
.journey-card ul { padding-inline-start:22px; }
.journey-label { display:inline-block; font:700 14px/1.7 "IBM Plex Sans Arabic",sans-serif; color:var(--ink-2); }
.journey-note { margin-block:20px; padding:16px 20px; border-inline-start:5px solid var(--orange); background:var(--paper-2); color:var(--ink-2); font-size:16px; line-height:1.8; overflow-wrap:anywhere; }
.journey-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; margin-block:24px; }
.journey-text-link { display:inline-flex; align-items:center; min-height:48px; max-width:100%; font:700 16px/1.7 "IBM Plex Sans Arabic",sans-serif; color:var(--ink); text-decoration:underline; text-underline-offset:5px; }
.journey-text-link:hover { text-decoration-thickness:3px; }
.hero-copy .hero__actions .journey-text-link { color:var(--yellow); grid-column:1 / -1; }
.hero-copy .hero__actions .btn-note { color:var(--line); }
.journey-steps { padding-inline-start:26px; max-width:880px; }
.journey-steps li { padding:14px 8px; border-bottom:1px solid var(--line); color:var(--ink-2); }
.journey-steps strong { color:var(--ink); }
.journey-example { margin-block:24px 48px; }
.journey-example h2, .journey-board-header h2, #choose-path h2 { font-family:"Alexandria",sans-serif; font-size:clamp(27px,5vw,40px); line-height:1.4; }
.journey-details { border:2px solid var(--ink); background:var(--paper); padding:20px; border-radius:12px; }
.journey-details summary { cursor:pointer; padding:8px; font-family:"Alexandria",sans-serif; font-size:18px; font-weight:700; }
.journey-details[open] summary { border-bottom:2px solid var(--line); padding-bottom:20px; }
#start-here, #decision-journey, #offer-comparison, #worked-example, #your-board, #choose-path, #message-title { scroll-margin-top:100px; }
.journey-board-header { margin-bottom:28px; }
.journey-board-header p { font-size:17px; line-height:1.8; }
#board-progress { display:block; width:100%; height:14px; border:1px solid var(--ink); border-radius:0; background:var(--paper-2); color:var(--ink); accent-color:var(--ink); }
#board-progress::-webkit-progress-bar { background:var(--paper-2); }
#board-progress::-webkit-progress-value { background:var(--ink); }
#board-progress::-moz-progress-bar { background:var(--ink); }
.journey-help { color:var(--ink-2); font-size:15px; line-height:1.8; margin-block:0 14px; }
#your-board .canvas-lines { min-height:110px; overflow-wrap:anywhere; }
#your-board .canvas-lines:empty::before { color:var(--ink-2); opacity:.8; }
#your-board .canvas-lines:focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
.journey-button { min-height:50px; max-width:100%; padding:12px 20px; border:2px solid var(--ink); border-radius:12px; background:var(--paper); color:var(--ink); font:700 16px/1.65 "IBM Plex Sans Arabic",sans-serif; cursor:pointer; }
.journey-button:hover { background:var(--yellow-tint); }
.journey-button--primary { background:var(--yellow); }
.journey-verdict { border:0; padding:0; margin-block:24px; min-width:0; }
.journey-verdict legend, .journey-field-label { font:700 17px/1.75 "IBM Plex Sans Arabic",sans-serif; margin-bottom:12px; }
.journey-verdict-options { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.journey-verdict-options label { position:relative; min-width:0; }
.journey-verdict-options input { position:absolute; width:1px; height:1px; opacity:0; }
.journey-verdict-options span { display:flex; justify-content:center; align-items:center; min-height:58px; padding:10px; border:2px solid var(--ink); font:700 16px/1.6 "Alexandria",sans-serif; cursor:pointer; background:var(--paper); }
.journey-verdict-options input:checked + span { background:var(--yellow); border-bottom:6px solid var(--ink); }
.journey-verdict-options input:focus-visible + span { outline:3px solid var(--orange); outline-offset:4px; }
.journey-field-label { display:block; }
#decision-reason, .contact-form select { width:100%; max-width:100%; min-height:54px; padding:14px; border:2px solid var(--ink); border-radius:3px; background:var(--paper); color:var(--ink); font:inherit; font-size:17px; }
#decision-reason { resize:vertical; line-height:1.8; }
.journey-review { padding:24px; margin-block:24px; background:var(--yellow-tint); border:2px solid var(--ink); }
.journey-review h3 { font-size:23px; }
.journey-review p { font-size:17px; }
.journey-print-note { color:var(--ink-2); font-size:14px; }
.journey-button[hidden], .journey-review[hidden] { display:none; }
#prepare-message:disabled { opacity:.65; cursor:not-allowed; }
#message-preview { overflow-wrap:anywhere; }
#choose-path { margin-bottom:52px; }
@media (max-width:759px) {
  .journey-grid, .journey-grid--three { grid-template-columns:1fr; }
  .journey-card { padding:22px 18px; }
  .journey-note { padding:14px; }
  .journey-verdict-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .journey-details { padding:14px; }
  .journey-actions > .journey-button { flex:1 1 180px; }
  .journey-actions > .btn { width:100%; }
}
@media print {
  .canvas-page .site-nav, .canvas-page .site-footer, .canvas-page .canvas-header,
  .canvas-page .journey-example, .canvas-page .journey-actions, .canvas-page .journey-help,
  .canvas-page #board-status, .canvas-page #board-progress-label, .canvas-page #board-progress,
  .canvas-page .journey-review, .canvas-page .skip-link { display:none !important; }
  .canvas-page { background:white; font-size:12pt; }
  .canvas-page #your-board { width:100%; border:0; margin:0; padding:0; }
  .canvas-page .canvas-grid { display:block; }
  .canvas-page .canvas-cell { break-inside:avoid; margin-bottom:12px; min-height:0; }
  .canvas-page #your-board .canvas-lines { min-height:30px; color:black; }
  .canvas-page #decision-reason { overflow:visible; }
  .canvas-page .journey-verdict-options label:has(input:not(:checked)) { display:none; }
}
