/* Keep one clear route through the comparison without hiding the supporting tools. */
@media screen and (min-width: 1040px) and (max-width: 1360px) {
  .sidebar { display: flex; gap: clamp(16px, 2vw, 30px); padding-block: 14px; }
  .sidebar > .brand, .sidebar > .header-tools, .sidebar .primary-navigation { grid-column: auto; grid-row: auto; }
  .sidebar .primary-navigation { justify-content: center; gap: 2px; }
  .sidebar .nav-item { padding-inline: 11px; }
}

@media screen and (min-width: 801px) {
  .hero.hero-photographic { min-height: 470px; }
  .hero.hero-photographic h1 { font-size: clamp(54px, 5.8vw, 76px); }
}
.hero.hero-photographic p { max-width: 480px; }
.journey-ribbon { margin-bottom: 28px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.journey-ribbon .ribbon-item { cursor: pointer; text-decoration: none; }
.journey-ribbon .ribbon-item[data-current="true"] { background: #304e4f; box-shadow: inset 0 0 0 1px #d9ef85; }
.journey-ribbon .ribbon-item[data-current="true"] .ribbon-number { background: var(--atlas-lime); color: var(--ink); border-color: var(--atlas-lime); }
.journey-ribbon .ribbon-item[data-current="true"] .ribbon-state { color: #f0f7d9; }
.journey-ribbon .ribbon-item:focus-visible { outline: 2px solid var(--atlas-lime); outline-offset: -2px; }
.journey-ribbon .ribbon-item { padding-inline: 10px; }
.journey-ribbon .ribbon-copy strong { font-size: 12px; }
.journey-ribbon .ribbon-copy small { font-size: 10px; }

.journey-step-list { display: flex; flex-wrap: wrap; gap: 6px; margin: -10px 0 19px; }
.journey-step-list span { padding: 6px 9px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: 11px; white-space: nowrap; }
.journey-step-list .active { background: var(--ink); border-color: var(--ink); color: var(--white); }
.journey-step-list .done { background: #edf3da; border-color: #b5cc83; color: var(--ink); }
.journey-wizard .wizard-steps { margin-bottom: 22px; }
.journey-wizard .wizard-question { margin-top: 0; }
.journey-wizard .form-grid { gap: 14px; }
.journey-wizard .form-grid > *, .journey-wizard label { min-width: 0; }
.journey-wizard :is(input,select) { width: 100%; }
.journey-wizard .wizard-option input { width: 17px; }
.journey-wizard [data-when][hidden] { display: none !important; }
.journey-conditional { padding: 16px; border: 1px solid #d0ddc5; border-radius: 12px; background: #edf2e4; }
.journey-conditional .hint { margin-bottom: 12px; }
.journey-mortgage { display: grid; gap: 15px; padding: 20px; border: 1px solid #b5c9c1; border-radius: 14px; background: #f0f5ee; }
.journey-mortgage h3 { margin: 4px 0; font-size: 20px; }
.journey-mortgage p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.journey-mortgage-result { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; padding: 14px 16px; border-radius: 10px; background: #fffefa; font-size: 13px; }
.journey-mortgage-result strong { font-size: 17px; color: var(--ink); }
.journey-mortgage-result .journey-error { color: #a43e2d; }
.journey-mortgage > a { width: fit-content; color: var(--ink); font-size: 12px; font-weight: 700; text-underline-offset: 3px; }
.journey-review { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.journey-review > div { display: grid; gap: 6px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fffefa; }
.journey-review span { color: var(--muted); font-size: 11px; }
.journey-review strong { color: var(--ink); font-size: 16px; }
.journey-review small { color: var(--muted); font-size: 12px; }
html[dir="rtl"] .journey-wizard .wizard-option { text-align: right; }
@media (max-width: 1220px) {
  .journey-ribbon { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .journey-ribbon .ribbon-item:nth-child(4)::before { display: none; }
  .journey-ribbon .ribbon-item:nth-child(n+4) { border-top: 1px solid #476168; }
}
@media (max-width: 800px) {
  .journey-ribbon { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .journey-ribbon .ribbon-item:nth-child(3)::before, .journey-ribbon .ribbon-item:nth-child(5)::before { display: none; }
  .journey-ribbon .ribbon-item:nth-child(4)::before { display: block; }
  .journey-ribbon .ribbon-item:nth-child(5) { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .journey-wizard .form-grid, .journey-review { grid-template-columns: 1fr; }
  .journey-step-list { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 5px; }
  .journey-wizard .wizard-footer { flex-wrap: wrap; }
  .journey-wizard .wizard-footer .button { flex: 1; }
}

.journey-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin: 10px 0 18px; }
.journey-section-heading h2 { margin-top: 7px; max-width: 690px; font-size: clamp(21px, 2.4vw, 30px); line-height: 1.15; letter-spacing: -.04em; }
.journey-section-heading > p { max-width: 260px; flex-shrink: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.guide-teaser { margin-top: 36px; }

.relocation-panel { padding: 26px 28px 24px; margin: 0 0 31px; border: 1px solid #cad7bb; border-radius: 20px 20px 48px 20px; background: #edf2e4; }
.relocation-panel .relocation-head { display: flex; justify-content: space-between; align-items: start; gap: 25px; }
.relocation-panel h2 { margin: 7px 0 7px; font-size: clamp(23px, 2.6vw, 32px); line-height: 1.15; letter-spacing: -.04em; }
.relocation-panel p { color: var(--muted); font-size: 13px; line-height: 1.65; }
.relocation-panel .relocation-head p { max-width: 740px; }
.relocation-panel .relocation-head > a { flex-shrink: 0; }
.relocation-routes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 23px 0 17px; }
.relocation-routes article { min-width: 0; padding: 17px 18px; border: 1px solid #d9e1d2; border-radius: 12px; background: #fffefa; }
.relocation-routes article[data-selected="true"] { border-color: #4f6c65; box-shadow: inset 0 0 0 1px #4f6c65; background: #f8fbf1; }
.relocation-routes article[data-selected="true"] strong::after { content: "✓"; float: inline-end; color: #4f6c65; }
.relocation-routes strong { display: block; margin-bottom: 7px; font-size: 15px; color: var(--ink); }
.relocation-routes article p { font-size: 12px; }
.relocation-routes article a { display: inline-block; margin-top: 11px; color: var(--ink); font-size: 12px; font-weight: 700; text-underline-offset: 4px; }
.relocation-panel .relocation-caution { border-top: 1px solid #cad7bb; padding-top: 13px; font-size: 12px; }

.dossier-shortcuts { display: flex; gap: 12px; flex-wrap: wrap; margin: 0 0 24px; }
.dossier-shortcuts a { display: flex; justify-content: space-between; align-items: center; gap: 24px; min-width: min(260px, 100%); padding: 15px 18px; border: 1px solid var(--line); border-radius: 12px; background: #fffefa; color: var(--ink); text-decoration: none; }
.dossier-shortcuts a:hover { border-color: var(--ink); background: #f0f4e8; }
.dossier-shortcuts a strong { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; }
.dossier-shortcuts a > span { font-size: 11px; color: var(--muted); }
.dossier-shortcuts .small-count { width: 20px; min-width: 20px; min-height: 20px; font-size: 10px; }

.relocation-fields { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; padding: 17px; background: #edf2e4; border: 1px solid #d0ddc5; border-radius: 12px; }
.relocation-fields > p { grid-column: 1 / -1; font-size: 12px; color: var(--muted); }

@media screen and (max-width: 800px) {
  .journey-section-heading { align-items: start; }
  .relocation-routes { grid-template-columns: 1fr; }
  .relocation-panel .relocation-head { flex-direction: column; }
  .relocation-fields { grid-template-columns: 1fr 1fr; }
}
@media screen and (max-width: 620px) {
  .hero.hero-photographic h1 { font-size: clamp(42px, 11.8vw, 64px); letter-spacing: -.065em; }
  .hero.hero-photographic p { max-width: 100%; }
  .journey-ribbon .ribbon-item { min-height: 75px; }
  .journey-section-heading { display: block; margin-top: 4px; }
  .journey-section-heading > p { max-width: 100%; margin-top: 8px; }
  .relocation-panel { padding: 20px; border-radius: 14px 14px 34px 14px; }
  .relocation-fields { grid-template-columns: 1fr; }
  .dossier-shortcuts a { width: 100%; }
}
@media screen and (max-width: 390px) {
  .hero.hero-photographic h1 { font-size: 39px; }
  .journey-ribbon .ribbon-item { padding-inline: 8px; }
  .journey-ribbon .ribbon-copy strong { font-size: 12px; }
}
@media print { .relocation-panel { break-inside: avoid; } }
