.map-introduction{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:25px}.map-introduction .explore-help{max-width:630px}.map-legend{display:flex;gap:17px;flex-wrap:wrap;font-size:10px;color:var(--muted);padding-bottom:3px;flex-shrink:0}.map-legend>span{display:flex;align-items:center;gap:6px}.map-legend i{font-style:normal}
.family-map-layout{display:grid;grid-template-columns:1.6fr 1fr;border:1px solid #cdd4c4;border-radius:3px;overflow:hidden;background:#fffdf7}.family-map-frame{background:#eaece1;display:flex;flex-direction:column;justify-content:center;position:relative;min-width:0}.map-caption{display:flex;justify-content:space-between;padding:23px 25px 0;font-size:8px;letter-spacing:1.3px;color:#697763}.map-caption>span:last-child{font-size:10px;letter-spacing:0;white-space:nowrap}#family-map{width:100%;height:auto;display:block;overflow:visible;margin-block:12px}.map-city-label{font:18px var(--sans);fill:#334a39;paint-order:stroke;stroke:#f5f4ea;stroke-width:5px;stroke-linejoin:round}.map-marker{cursor:pointer;outline:none}.map-marker.selected .map-city-label{font-weight:700;fill:#273f35}.map-marker:focus-visible>circle:first-child{stroke:#9e4e34;stroke-width:4px}.map-marker:hover .map-city-label{text-decoration:underline}.map-route-note{font-size:10px;color:#64715e;line-height:1.7;margin:0 25px 23px;max-width:550px}
.map-story{padding:30px;display:flex;flex-direction:column;border-left:1px solid #d7ddcd;min-width:0}.map-story>.eyebrow{font-size:9px;letter-spacing:1.2px}.map-year{font:39px var(--serif);margin-top:16px;line-height:1.1}.map-place{font-size:11px;color:var(--rust);margin:12px 0 19px}.map-story h3{font-size:34px;line-height:1.08;letter-spacing:-.6px}.map-story h3:focus{outline:none}#map-story-body{font-size:12px;line-height:1.85;margin-top:17px;color:#576550}.map-why{padding:14px 0 0;margin-top:18px;border-top:1px solid var(--line)}.map-why>.eyebrow{font-size:8px;letter-spacing:1px;color:var(--muted)}.map-why>p{font-size:12px;line-height:1.75;margin-top:8px}.map-story .chapter-sources{gap:7px 15px;font-size:10px;margin-top:17px}.map-pager{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;margin-top:20px;gap:15px}.map-pager button{background:#edf0e5;border:1px solid #c9d1bd;width:44px;height:44px;border-radius:50%;font-size:21px}.map-pager button:disabled{opacity:.35;cursor:default}.map-pager>span{font-size:10px;color:var(--muted)}
.map-years{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;margin-top:20px}.map-year-stop{display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border-top:2px solid #cdd4c4;padding:13px 4px 9px;min-height:70px;gap:7px}.map-year-stop strong{font:24px var(--serif)}.map-year-stop>span{font-size:9px;white-space:nowrap}.map-year-stop[aria-current=step]{background:#e6e9db;border-top-color:var(--green)}.map-year-stop:hover{background:#eeeee2}.map-source-note{font-size:10px;color:var(--muted);line-height:1.8;margin:20px auto 0;max-width:1000px}.map-source-note a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1050px){.map-introduction{display:block}.map-legend{margin-top:18px}.family-map-layout{grid-template-columns:1fr}.map-story{border-left:0;border-top:1px solid #d7ddcd;padding:28px 32px}.map-story h3{font-size:39px}.map-story>#map-story-body{font-size:14px;max-width:760px}.map-why>p{font-size:13px}.family-map-frame{padding-inline:8px}.map-years{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px 5px}.map-caption{padding-top:20px}.map-year-stop{min-height:65px}}
@media(max-width:700px){.family-map-frame{padding-inline:0}.map-caption{padding:18px 15px 0;font-size:7px;letter-spacing:.8px}.map-caption>span:last-child{font-size:9px}#family-map{margin-block:15px}.map-city-label{font-size:24px;stroke-width:7px}.map-marker.selected .map-city-label{font-size:26px}.map-legend{gap:13px;font-size:9px}.map-route-note{font-size:9px;margin:0 16px 17px}.map-story{padding:26px 23px}.map-story h3{font-size:34px}.map-year{font-size:37px}.map-story>#map-story-body{font-size:13px}.map-why>p{font-size:12px}.map-years{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.map-year-stop{padding-block:12px}.map-year-stop strong{font-size:25px}.map-year-stop>span{font-size:10px}.map-source-note{font-size:9px}.map-pager{margin-top:16px}}
