.journey-body { background: #f4f7f9; }
.journey-tag { margin: 0; color: #ffffff; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; font-size: 0.8rem; }
.journey-main { padding: 2.5rem 0 4rem; }
.journey-container { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 2rem; align-items: start; }
.journey-progress { grid-column: 1 / -1; display: flex; gap: 0.5rem; list-style: none; margin: 0 0 0.5rem; padding: 0; flex-wrap: wrap; counter-reset: step; }
.journey-progress li { flex: 1 1 120px; padding: 0.6rem 0.75rem; border-radius: 999px; background: #e3e9ee; color: #4a5a68; font-size: 0.85rem; font-weight: 600; text-align: center; }
.journey-progress li.current { background: #0d2b3e; color: #ffffff; }
.journey-progress li.done { background: #cfe8dc; color: #1c5c3f; }
.journey-card { background: #ffffff; border-radius: 20px; padding: 2rem; box-shadow: 0 10px 40px rgba(13, 43, 62, 0.08); }
.journey-card h1, .journey-card h2 { margin: 0.25rem 0 0.75rem; font-family: 'Space Grotesk', 'DM Sans', sans-serif; }
.journey-card h1:focus, .journey-card h2:focus { outline: none; }
.journey-lead { color: #3f4f5c; margin: 0 0 1.5rem; }
.choice-grid { display: grid; gap: 0.75rem; }
.choice { display: flex; align-items: flex-start; gap: 0.75rem; padding: 1rem 1.1rem; border: 2px solid #dde5ec; border-radius: 14px; cursor: pointer; transition: border-color 0.15s, background 0.15s; }
.choice:hover { border-color: #7fa5bd; }
.choice:has(input:checked) { border-color: #0d2b3e; background: #eef4f8; }
.choice input { margin-top: 0.25rem; accent-color: #0d2b3e; }
.choice strong { display: block; color: #0d2b3e; }
.choice small { color: #5b6b78; }
.field-group { border: 0; padding: 0; margin: 0 0 1.5rem; }
.field-group legend { font-weight: 600; color: #0d2b3e; margin-bottom: 0.6rem; }
.optional { font-weight: 400; color: #7a8894; }
.pill-grid { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.pill { position: relative; }
.pill input { position: absolute; opacity: 0; inset: 0; }
.pill span { display: inline-block; padding: 0.55rem 0.95rem; border-radius: 999px; border: 2px solid #dde5ec; color: #2d3d4a; cursor: pointer; font-size: 0.95rem; }
.pill:has(input:checked) span { border-color: #0d2b3e; background: #0d2b3e; color: #ffffff; }
.pill:has(input:focus-visible) span { outline: 3px solid #f59e3f; outline-offset: 2px; }
.field { margin-bottom: 1.25rem; }
.field label { display: block; font-weight: 600; color: #0d2b3e; margin-bottom: 0.4rem; }
.field input { width: 100%; padding: 0.8rem 0.95rem; border: 2px solid #dde5ec; border-radius: 12px; font: inherit; }
.field input:focus { outline: none; border-color: #0d2b3e; box-shadow: 0 0 0 4px rgba(13, 43, 62, 0.12); }
.field-hidden { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.field-error { color: #b42318; font-size: 0.9rem; margin: 0.35rem 0 0; }
.consent { display: flex; gap: 0.75rem; align-items: flex-start; padding: 0.9rem 0; border-top: 1px solid #e6ecf1; }
.consent input { margin-top: 0.3rem; accent-color: #0d2b3e; flex: 0 0 auto; }
.consent-highlight { background: #fff7ec; border: 1px solid #f5d9b0; border-radius: 12px; padding: 0.9rem 1rem; margin-top: 0.75rem; }
.journey-summary { margin: 1.5rem 0 0.5rem; padding: 1rem 1.1rem; background: #f4f7f9; border-radius: 12px; }
.journey-summary h3 { margin: 0 0 0.5rem; font-size: 1rem; }
.journey-summary dl { margin: 0; display: grid; gap: 0.4rem; }
.journey-summary dl div { display: grid; grid-template-columns: 110px 1fr; gap: 0.5rem; }
.journey-summary dt { color: #5b6b78; font-size: 0.9rem; }
.journey-summary dd { margin: 0; color: #0d2b3e; font-size: 0.95rem; }
.journey-actions { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-top: 1.5rem; }
.journey-done .protocol { font-size: 1.15rem; color: #0d2b3e; }
.journey-done .protocol strong { font-family: 'Space Grotesk', monospace; letter-spacing: 0.05em; }
.status-link { word-break: break-all; color: #3f4f5c; }
.journey-aside { background: #0d2b3e; color: #e7eef3; border-radius: 20px; padding: 1.5rem; }
.journey-aside h2 { margin-top: 0; color: #ffffff; font-size: 1.1rem; }
.journey-how { padding-left: 1.2rem; margin: 0 0 1.25rem; display: grid; gap: 0.75rem; }
.journey-how strong { color: #ffffff; }
.journey-aside .microcopy { color: #b8c7d2; font-size: 0.8rem; margin: 0.4rem 0; }
.journey-aside a { color: #ffd39a; }
.status-card { background: #ffffff; border-radius: 20px; padding: 2rem; box-shadow: 0 10px 40px rgba(13, 43, 62, 0.08); }
.status-stage { display: inline-block; padding: 0.4rem 0.9rem; border-radius: 999px; background: #eef4f8; color: #0d2b3e; font-weight: 600; }
.status-meta { color: #5b6b78; font-size: 0.9rem; }
@media (max-width: 860px) {
  .journey-container { grid-template-columns: 1fr; }
  .journey-card { padding: 1.4rem; }
  .journey-summary dl div { grid-template-columns: 1fr; }
}
.field-hint { margin: 0.35rem 0 0; color: #475467; font-size: 0.9rem; }
.quote-title { margin: 1.5rem 0 0.75rem; font-size: 1.3rem; }
.quote-card { border: 1px solid #d8e2ea; border-radius: 16px; padding: 1.25rem; margin-bottom: 1rem; }
.quote-card h3 { margin: 0 0 0.25rem; }
.quote-card h4 { margin: 1rem 0 0.35rem; font-size: 0.95rem; }
.quote-insurer { margin: 0 0 0.75rem; color: #475467; font-size: 0.9rem; }
.quote-facts { display: grid; grid-template-columns: auto 1fr; gap: 0.35rem 1rem; margin: 0; }
.quote-facts dt { color: #475467; }
.quote-facts dd { margin: 0; font-weight: 600; }
.quote-coverages { margin: 0; padding-left: 1.1rem; }
.quote-attention { color: #9a3412; }
.quote-text, .quote-note { margin: 0; white-space: pre-line; }
.quote-note { margin-top: 1rem; padding: 0.75rem; border-radius: 10px; background: #f2f5f7; }
