.journey{max-width:1440px;margin:88px auto 0;padding-top:46px;border-top:1px solid #d9d2c5;--map-orange:#cf864d;--map-green:#738771}
.journey-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}
.journey-eyebrow{display:block;font-family:Cormorant,Georgia,serif;font-size:13px;letter-spacing:.22em;color:#9a8c79;margin-bottom:14px}
.journey-heading h3{margin:0;font-weight:400;font-size:32px;letter-spacing:.06em;color:#675747}
.journey-heading p{font-size:13px;letter-spacing:.06em;color:#8c8071;line-height:1.8;margin:14px 0 0}
.map-legend{display:flex;gap:22px;flex-shrink:0;font-size:11px;color:#8b7f6f;padding-bottom:4px}
.map-legend>span{display:flex;align-items:center;gap:8px}.map-legend i{width:6px;height:6px;border-radius:50%;display:inline-block}
.legend-visited{background:var(--map-orange);box-shadow:0 0 0 4px #cf864d18,0 0 12px #cf864d55}.legend-wish{background:var(--map-green);box-shadow:0 0 0 3px #73877114}
.journey-layout{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:36px;align-items:start}
.map-column{min-width:0}.city-map-stage{position:relative;isolation:isolate;width:100%;height:590px}
.city-map{display:block;width:100%;height:100%;overflow:visible;touch-action:pan-y}
.map-region{fill:#e2e4d8;stroke:#faf8f1;stroke-width:.85;stroke-linejoin:round;cursor:crosshair;transition:fill .2s}
.map-region:hover{fill:#d8ddcc}.map-sea-boundary{fill:#b8c1ad;stroke:none;pointer-events:none}
.map-inset-frame{fill:none;stroke:#cfcfbd;stroke-width:.7}.map-inset-title{font-size:10px;fill:#969581;letter-spacing:.12em}
.city-dot{fill:#9c9f88;opacity:.6;pointer-events:none}.city-hit{fill:transparent;cursor:pointer}
.visited-halo{fill:#d9945b;opacity:.16;filter:url(#city-soft-glow);pointer-events:none}.visited-core{fill:#d38b50;stroke:#fff5e7;stroke-width:1;pointer-events:none}
.visited-name{fill:#aa754b;font-size:12px;letter-spacing:.06em;paint-order:stroke;stroke:#f2f0e7;stroke-width:4;stroke-linejoin:round;pointer-events:none}.visited-leader{stroke:#cba887;stroke-width:.65;opacity:.8;fill:none;pointer-events:none}
.wish-map-ring{stroke:#738771;stroke-width:1.3;fill:#73877112;pointer-events:none}.wish-map-core{fill:#738771;stroke:#f7f5ed;stroke-width:.9;pointer-events:none}
.map-hover-ring{stroke:#8a8e70;stroke-width:1;fill:#8a8e7014;pointer-events:none}.map-hover-core{fill:#85896c;pointer-events:none}
.map-tooltip{position:absolute;z-index:3;pointer-events:none;background:#fffdf7f5;box-shadow:0 4px 20px #6757470d;border:1px solid #e2dcce;padding:10px 14px;max-width:250px;white-space:nowrap;font-size:13px;color:#675747;line-height:1.7}
.map-tooltip small{display:block;font-size:10px;color:#988b78;letter-spacing:.03em}.map-tooltip[hidden],.map-fallback[hidden]{display:none}.map-fallback{position:absolute;inset:30% 10%;text-align:center;font-size:14px;color:#8a7d6c}
.map-caption{display:flex;justify-content:flex-end;gap:20px;padding:17px 0 0;border-top:1px solid #ded8ca;color:#9a8f7e;font-size:10px;line-height:1.8}.map-caption a{text-decoration:none;color:#a39a89}.map-caption a:hover{text-decoration:underline;text-underline-offset:4px}
.city-picker{padding-top:25px;min-width:0}.city-search-label{display:block;font-size:13px;letter-spacing:.05em;color:#736855;margin-bottom:12px}.city-search-wrap{position:relative;border-bottom:1px solid #bdb8a5}.city-search-wrap input{appearance:none;border:0;border-radius:0;background:transparent;width:100%;padding:12px 28px 12px 0;min-height:44px;font-size:12px;color:#675747;outline-offset:3px}.city-search-wrap input::placeholder{color:#a49a89}.city-search-wrap>span{position:absolute;right:1px;top:6px;pointer-events:none;font-size:25px;color:#9b947c}.city-search-wrap input::-webkit-search-cancel-button{margin-right:4px}
.city-options-label{font-size:10px;letter-spacing:.06em;color:#a29683;margin:25px 0 7px;line-height:1.7}.city-options{list-style:none;padding:0;margin:0;min-height:156px;max-height:266px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d7cfbc transparent}.city-option{width:100%;display:flex;align-items:center;gap:8px;text-align:left;padding:9px 2px;min-height:44px;background:transparent;border:0;border-bottom:1px solid #ded8c966;color:#776b57;font-size:13px}.city-option-name{flex:1;min-width:0}.city-option-name small{font-size:10px;color:#a79b87;margin-left:8px}.city-option-mark{font-size:17px;font-weight:300;color:#a49a82}.city-option:hover,.city-option:focus-visible{color:#6b7f64;background:#e0e3d63d}.city-option.is-selected .city-option-mark{font-size:12px;color:#738771}.city-option.visited .city-option-name:before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:#cf864d;margin-right:7px;vertical-align:middle}.city-no-results{font-size:12px;line-height:1.9;color:#a0917a;padding-top:14px}
.city-wishes-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #d3ccbb;padding-top:23px;margin-top:30px}.city-wishes-heading h4{font-size:13px;font-weight:400;letter-spacing:.05em;margin:0;color:#736855}.city-wishes-heading>span{font-family:Cormorant,Georgia,serif;font-size:20px;color:#9aa187}.city-wishes{list-style:none;margin:12px 0 0;padding:0;max-height:220px;overflow:auto;scrollbar-width:thin;scrollbar-color:#d7cfbc transparent}.city-wish{display:flex;align-items:center;gap:8px;border-bottom:1px solid #d8d5c552;min-height:44px;color:#71816a;font-size:12px}.city-wish:before{content:"";width:4px;height:4px;border-radius:50%;background:#859577;flex-shrink:0}.city-wish>span{flex:1;overflow-wrap:anywhere}.city-wish-remove{border:0;background:none;padding:8px;color:#a39c87;font-size:17px;min-height:44px;min-width:44px}.city-wish-remove:hover{color:#8a634e}.city-wishes-empty{font-size:13px;line-height:2;color:#a29a87;margin:24px 0}.city-wishes-empty[hidden]{display:none}.city-status{font-size:11px;color:#76866d;line-height:1.8;min-height:20px;margin:17px 0 8px}.city-save-note{font-size:10px;line-height:1.8;color:#a59b89;margin:0}.city-save-note.error{color:#a76d4e}
@media(min-width:1600px){.city-map-stage{height:650px}.journey-layout{grid-template-columns:minmax(0,1fr) 250px;gap:52px}}
@media(max-width:1100px){.journey-layout{grid-template-columns:minmax(0,1fr) 208px;gap:24px}.city-map-stage{height:530px}.visited-name{font-size:11px}.journey-heading h3{font-size:28px}.city-option-name small{display:block;margin-left:0;margin-top:3px}.city-picker{padding-top:12px}}
@media(max-width:760px){.journey{margin-top:56px;padding-top:32px}.journey-heading{align-items:start;gap:24px;margin-bottom:10px;flex-wrap:wrap}.journey-eyebrow{font-size:11px;margin-bottom:12px}.journey-heading h3{font-size:25px}.journey-heading p{font-size:12px;margin-top:10px}.map-legend{gap:20px;font-size:10px}.journey-layout{grid-template-columns:minmax(0,1fr);gap:30px}.city-map-stage{height:400px}.visited-name,.visited-leader{display:none}.map-caption{flex-wrap:wrap;gap:5px;padding-top:12px;font-size:9px}.city-picker{padding-top:0;display:grid;grid-template-columns:minmax(0,1fr);max-width:100%}.city-search-wrap input{font-size:16px}.city-options{min-height:0;max-height:200px}.city-option-name small{display:inline;margin-left:8px}.city-option{min-height:48px}.city-wishes-heading{margin-top:25px}.city-wishes-empty{margin-top:18px}.city-save-note br{display:none}.city-tooltip{font-size:12px}}
@media(prefers-reduced-motion:reduce){.map-region{transition:none}}
