/* The atlas of bonds. Everything here belongs to the dedicated map page. */
.bonds-heading{padding:56px 0 38px}
.bonds-heading h1{font-size:clamp(48px,6.6vw,94px);letter-spacing:-.07em}
.bonds-heading p{font-size:13px;max-width:280px}
.bonds-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}
.bonds-scope{display:flex;align-items:center;gap:9px;margin:0;color:#73716d;font-size:11px}
.bonds-filters{display:flex;gap:4px}
.bonds-filters button{display:flex;align-items:center;gap:7px;border:1px solid transparent;border-radius:30px;padding:11px 16px;background:transparent;color:#73716d;font-size:11px}
.bonds-filters button[aria-pressed=true]{background:#ffd84d;color:#2f2814}
.bonds-filters button:hover{border-color:#c5c1b7}
.bonds-search{display:flex;align-items:center;gap:11px;padding:11px 15px;border-bottom:1px solid #c2beb5;width:255px}
.bonds-search svg{fill:none;stroke:#797670;stroke-width:1.5;width:15px;height:15px;flex:none}
.bonds-search input{width:100%;border:0;background:none;font:inherit;font-size:11px;outline:none;min-width:0}
.bonds-search:focus-within{outline:2px solid #c79a00;outline-offset:3px}
.bonds-stage{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 63% 30%,#363636 0,#222222 48%,#171717 100%);border:1px solid #3e3e3e;border-radius:9px;box-shadow:0 24px 50px #18181814}
.bonds-stage:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(#bdbab3 .6px,transparent .6px);background-size:13px 13px;opacity:.12}
.bonds-stage-heading{position:absolute;left:28px;right:82px;top:25px;z-index:2;display:flex;justify-content:space-between;gap:20px;pointer-events:none;font-size:10px;color:#c9c6bf}
.bonds-stage-heading>span:first-child{display:flex;align-items:center;gap:9px}
.bonds-stage-heading i{width:5px;height:5px;border-radius:50%;background:#ffd84d}
.bonds-stage-heading>span:last-child{color:#9c9993}
#story-atlas{display:block;width:100%;height:auto;min-height:0;aspect-ratio:1000/620;touch-action:pan-y;cursor:grab}
#story-atlas:active{cursor:grabbing}
.bonds-sphere{fill:url(#bonds-ocean);stroke:#817f7a;stroke-opacity:.12;stroke-width:1;pointer-events:none}
.bonds-grid{fill:none;stroke:#aaa7a0;stroke-opacity:.065;stroke-width:.6;vector-effect:non-scaling-stroke;pointer-events:none}
.bond-country{fill:#3b3b3b;stroke:#181818;stroke-width:.55;vector-effect:non-scaling-stroke;transition:fill .2s;cursor:pointer}
.bond-country.has-story{fill:#59564f}
.bond-country.is-story-country{fill:#716a58}
.bond-country.is-country-selected{fill:#817348;stroke:#ffd84d;stroke-width:1}
.bond-country:hover,.bond-country:focus-visible{fill:#969084;stroke:#e8dfbe;stroke-width:1;outline:none}
.bond-route-under{fill:none;stroke:#171717;stroke-width:5;vector-effect:non-scaling-stroke}
.bond-route{fill:none;stroke-width:1.6;vector-effect:non-scaling-stroke}
.bond-route.travel{stroke:#ffd84d;stroke-dasharray:3 4;stroke-linecap:round}
.bond-route.aviation{stroke:#d9793e}
.bond-route.related{opacity:.65;stroke-width:1.1}
.bond-stop{fill:#ffd84d;stroke:#222222;stroke-width:1;vector-effect:non-scaling-stroke}
.bond-stop.aviation{fill:#d9793e}
.bond-airport{fill:#d9793e;stroke:#222222;stroke-width:1}
.bond-stop-label{fill:#eee9db;paint-order:stroke;stroke:#1b1b1b;stroke-width:3px;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.bond-stop-label.aviation{fill:#f1b18b}
.bond-connection{fill:none;stroke:#dedbd3;stroke-width:1;stroke-dasharray:1 4;vector-effect:non-scaling-stroke;opacity:.6}
.bond-marker{cursor:pointer;outline:none}.bond-hit{fill:transparent}
.bond-halo{stroke:#ffd84d;stroke-width:1;fill:#ffd84d10;opacity:0}
.bond-marker.aviation .bond-halo{stroke:#d9793e;fill:#d9793e10}
.bond-symbol{fill:#ffd84d;stroke:#242424;stroke-width:2}
.bond-marker.aviation .bond-symbol{fill:#d9793e}
.bond-marker.selected .bond-halo,.bond-marker:hover .bond-halo,.bond-marker:focus-visible .bond-halo{opacity:1}
.bond-marker.selected .bond-symbol,.bond-marker:focus-visible .bond-symbol{stroke:#f5faee;stroke-width:2}
.bonds-lens{filter:drop-shadow(0 14px 18px #0005)}
.lens-stem{stroke:#d2cec3;stroke-width:.8;stroke-dasharray:2 4;opacity:.4}
.lens-outer{fill:#181818;stroke:#d8cfad;stroke-width:.5}.lens-back{fill:#4a4a4a}
.lens-rim{fill:none;stroke:#cbc5b7;stroke-width:.5}.lens-outline{fill:none;stroke:#ede7d7;stroke-width:.65}
.lens-number{font-size:8px;fill:#c8c3b8}
.lens-caption{font-size:10px;fill:#f1eee7;paint-order:stroke;stroke:#171717;stroke-width:4px;stroke-linejoin:round}
.bonds-controls{position:absolute;right:22px;top:20px;display:grid;gap:3px;padding:4px;background:#161616b8;border:1px solid #ffffff1c;border-radius:7px;backdrop-filter:blur(8px)}
.bonds-controls button{width:30px;height:30px;background:none;border:0;color:#e6e3dc;font-size:18px;border-radius:4px}
.bonds-controls button:hover{background:#ffffff14}
.bonds-intro{position:absolute;bottom:64px;left:34px;pointer-events:none;color:#f3f0e8}
.bonds-intro>.eyebrow{color:#c1b681;font-size:10px;letter-spacing:.035em;text-transform:none}
.bonds-intro p{font-size:clamp(24px,3vw,43px);font-weight:500;line-height:1.04;letter-spacing:-.055em;margin:12px 0 16px}
.bonds-intro>span:last-child{font-size:10px;color:#a39f97}
.bonds-map-footer{position:absolute;bottom:20px;left:28px;right:28px;display:flex;justify-content:space-between;gap:20px;pointer-events:none;color:#99968f;font-size:9px}
.bonds-map-footer>span:first-child{color:#c8c4ba}
.bonds-sheet{position:absolute;z-index:4;bottom:54px;left:26px;right:26px;max-width:980px;display:flex;align-items:stretch;min-height:206px;background:#f5f5ef;color:#222222;border:1px solid #fff4c866;border-radius:6px;box-shadow:0 20px 55px #0d0d0d55;animation:sheet-appear .38s ease-out;overflow:hidden}
.bonds-sheet[hidden],.bonds-intro[hidden],.bonds-results[hidden]{display:none}
.sheet-photo{position:relative;width:170px;flex:none;background:#44413c}
.sheet-photo img{width:100%;height:100%;position:absolute;object-fit:cover;filter:saturate(.65)}
.sheet-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#151515ae,transparent 50%)}
.sheet-photo>span{position:absolute;bottom:15px;left:14px;right:10px;z-index:1;font-size:9px;color:#f0ede7}
.sheet-copy{flex:1;min-width:0;padding:23px 29px}
.sheet-copy .content-type{font-size:9px;padding:5px 8px}
.sheet-copy h2{font-size:clamp(22px,2.4vw,32px);line-height:1.04;letter-spacing:-.05em;font-weight:600;margin:12px 0 9px;max-width:480px}
.sheet-copy h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.sheet-route{font-size:9px;color:#7f7357;margin:0;line-height:1.5}
.sheet-summary{font-size:11px;color:#78756f;line-height:1.65;max-width:490px;margin:11px 0}
.sheet-open{display:flex;justify-content:space-between;gap:20px;font-size:11px;font-weight:600;max-width:330px;margin-top:15px;padding-top:12px;border-top:1px solid #dfded8}
.sheet-open:hover{color:#9b7610}
.sheet-bonds{align-self:stretch;width:220px;flex:none;margin:23px 28px 23px 0;padding:13px 0 0 23px;border-left:1px solid #dfded8;display:flex;flex-direction:column;justify-content:center}
.sheet-bonds>.eyebrow{font-size:8px;letter-spacing:.02em;color:#898279;font-weight:500;text-transform:none}
.sheet-related{display:grid;gap:7px;padding:13px 0 7px}
.sheet-related>span:first-child{font-size:9px;color:#ad5b34}
.sheet-related.travel>span:first-child{color:#9b7610}
.sheet-related strong{font-size:15px;line-height:1.2;font-weight:500;letter-spacing:-.025em}
.sheet-related>span:last-child{font-size:16px;color:#8e877c}
.sheet-related-map{border:0;background:none;padding:0;align-self:start;color:#81796d;font-size:9px;text-decoration:underline;text-underline-offset:3px}
.sheet-close{position:absolute;right:8px;top:7px;border:0;background:#f5f5efbc;color:#77716a;border-radius:50%;width:28px;height:28px;font-size:21px;line-height:1}
.bond-empty{padding:30px}.bond-empty h2{font-size:26px;font-weight:500;letter-spacing:-.04em;margin:10px 0}.bond-empty p{font-size:12px;color:#817b73}
.bond-reset{background:none;border:0;padding:0;color:#c79a00;font-size:11px;text-decoration:underline;text-underline-offset:4px}
.bonds-below{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 2px 26px}
.bonds-below .atlas-legend{font-size:10px;gap:23px}
.bond-key i{display:block;width:20px;height:1px;border-top:1px dashed #918b82}
.bonds-below>button{border:0;background:none;font-size:10px;color:#756e5e;text-decoration:underline;text-underline-offset:4px}
.bonds-below>span{font-size:10px;color:#89837a}
.bonds-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #deddd7;border-bottom:1px solid #deddd7}
.bond-place{display:grid;grid-template-columns:1fr auto;gap:9px 15px;background:transparent;border:0;border-right:1px solid #deddd7;text-align:left;padding:22px 24px;transition:background .2s}
.bond-place:first-child{padding-left:2px}.bond-place:last-child{border-right:0}
.place-number{grid-column:1/-1;font-size:9px;color:#9f9a91}
.place-name{grid-column:1/-1;font-size:19px;font-weight:500;line-height:1.15;letter-spacing:-.04em;max-width:210px}
.place-count{font-size:10px;color:#908a80}.bond-place>span:last-child{color:#8a7d5d}
.bond-place:hover,.bond-place[aria-pressed=true]{background:#f1ead1}
.bonds-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:22px}
.bond-search-result{padding:19px;border:1px solid #deddd7;border-radius:5px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}
.bond-search-result>.content-type{justify-self:start;grid-column:1/-1}
.bond-search-result strong{font-size:17px;font-weight:500;line-height:1.2;letter-spacing:-.03em}.bond-search-result>span:last-child{color:#8d8167}
.bonds-source{display:flex;justify-content:space-between;gap:24px;padding:30px 0 55px;color:#8e8981;font-size:10px;line-height:1.75}
.bonds-source p{margin:0}.bonds-source>span{align-self:end;font-size:11px;color:#6d6961}
@keyframes sheet-appear{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.bonds-sheet{bottom:64px}}
@media(max-width:1050px){
  .sheet-photo{width:130px}.sheet-copy{padding:19px 22px}.sheet-copy h2{font-size:24px}.sheet-summary{display:none}
  .sheet-bonds{width:185px;margin-right:25px;padding-left:18px}.sheet-bonds strong{font-size:13px}
  .bonds-heading h1{font-size:65px}.bonds-intro{bottom:55px}.bonds-sheet{bottom:49px;left:20px;right:20px;min-height:190px}
  .bond-place{padding:19px 17px}.place-name{font-size:17px}
}
@media(min-width:701px) and (max-width:900px){
  .bonds-sheet{position:relative;left:auto;right:auto;bottom:auto;max-width:none;margin:0 14px 14px;min-height:190px}
  .bonds-map-footer{position:relative;bottom:auto;left:auto;right:auto;margin:0 24px 18px}
}
@media(max-width:700px){
  .bonds-heading{padding:40px 0 24px}.bonds-heading h1{font-size:clamp(46px,10.9vw,70px);max-width:430px}.bonds-heading p{font-size:12px;margin:18px 0 0}
  .bonds-toolbar{display:block;margin-bottom:16px}.bonds-filters{justify-content:space-between;gap:0}.bonds-filters button{padding:10px 9px;font-size:9px;gap:5px}.bonds-filters .legend-dot{width:5px;height:5px}
  .bonds-search{margin-top:12px;width:100%;padding:12px 9px}.bonds-stage{border-radius:7px}
  .bonds-stage-heading{left:15px;top:16px;right:60px;font-size:8px}.bonds-stage-heading>span:last-child{display:none}
  .bonds-controls{right:10px;top:10px;padding:2px}.bonds-controls button{width:27px;height:27px;font-size:16px}
  #story-atlas{aspect-ratio:auto;height:370px;touch-action:pan-y}
  .bonds-intro{left:19px;bottom:53px}.bonds-intro p{font-size:28px;margin:8px 0 12px}.bonds-intro>.eyebrow{font-size:8px}.bonds-intro>span:last-child{font-size:8px}
  .bonds-map-footer{bottom:auto;top:340px;left:15px;right:15px;font-size:8px}.bonds-map-footer>span:last-child{display:none}
  .bonds-sheet{position:relative;left:auto;right:auto;bottom:auto;margin:0 10px 10px;display:grid;grid-template-columns:90px minmax(0,1fr);min-height:0;animation:sheet-appear .3s ease-out;overflow:visible;border-radius:5px}
  .sheet-photo{width:90px;min-height:180px;border-radius:5px 0 0 0;overflow:hidden}.sheet-photo>span{font-size:8px;left:9px;bottom:12px;line-height:1.5}
  .sheet-copy{padding:18px 23px 18px 15px}.sheet-copy h2{font-size:23px;margin:10px 0}.sheet-route{font-size:8px}
  .sheet-open{font-size:10px;margin-top:13px;padding-top:10px;gap:8px}.sheet-copy .content-type{font-size:8px;gap:5px}.sheet-copy .content-type:before{width:5px;height:5px}
  .sheet-bonds{width:auto;grid-column:1/-1;border-left:0;border-top:1px solid #e0dfda;margin:0;padding:14px 18px;display:grid;grid-template-columns:1fr auto;gap:5px 15px}
  .sheet-bonds>.eyebrow{grid-column:1/-1}.sheet-related{padding:6px 0;gap:5px}.sheet-related>span:last-child{display:none}.sheet-related-map{align-self:center;font-size:9px;max-width:65px;text-align:left;line-height:1.5}
  .sheet-close{right:3px;top:3px;width:23px;height:23px;font-size:19px}.bonds-below{flex-wrap:wrap;padding:18px 0;gap:15px}
  .bonds-below .atlas-legend{width:100%;font-size:9px;gap:17px}.bonds-below>span,.bonds-below>button{font-size:9px}
  .bonds-index{grid-template-columns:1fr 1fr}.bond-place{padding:18px 14px}.bond-place:first-child{padding-left:14px}.bond-place:nth-child(2n){border-right:0}.bond-place:nth-child(-n+2){border-bottom:1px solid #deddd7}.place-name{font-size:18px}
  .bonds-results{grid-template-columns:1fr}.bonds-source{display:block;padding-bottom:35px;font-size:9px}.bonds-source>span{display:block;margin-top:18px}.bond-empty{grid-column:1/-1;padding:23px}.bonds-lens{display:none}
}
@media(prefers-reduced-motion:reduce){.bonds-sheet{animation:none}.bond-country,.bond-place{transition:none}}
