/* Real geographic overview and Google satellite location, in the established palette. */
.journey-section{background:var(--panel);border-top:1px solid var(--line)}
.arrival-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,1fr);gap:45px;align-items:start}
.arrival-map-wrap,.arrival-airports{min-width:0}
.arrival-map{height:640px;width:100%;isolation:isolate;border:1px solid var(--line);background:#dbe9e5;color:#253c39;position:relative;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.4}
.arrival-map-status{position:absolute;top:50%;left:0;right:0;z-index:0;text-align:center;padding:25px;max-width:none}
.arrival-map noscript{display:block;padding:28px}
.arrival-map-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;padding-top:17px;font-size:.72rem;color:var(--muted)}
.arrival-map-footer .text-link{font-size:.72rem;background:none;border:0;border-bottom:1px solid var(--line);padding:0 0 5px;min-height:30px}
.airport-card{padding:0 0 28px;margin-bottom:26px;border-bottom:1px solid var(--line)}
.airport-card:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}
.airport-code{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:.77rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:11px}
.airport-code svg{height:24px;width:24px}
.airport-card h3{font-size:1.85rem;line-height:1.22;margin-bottom:10px;overflow-wrap:break-word}
.airport-card p{font-size:.82rem;line-height:1.7;color:var(--muted);margin:0 0 18px}
.airport-links{display:flex;align-items:flex-start;flex-wrap:wrap;gap:13px 22px}
.airport-links .text-link,.arrival-home .text-link{font-size:.75rem;min-height:34px;gap:12px}
.airport-official{color:var(--muted);font-size:.69rem;border-bottom:1px solid var(--line);padding:4px 0}
.airport-official:hover{color:var(--gold)}
.arrival-home{padding-top:1px}
.arrival-home h3{font-size:1.7rem}
.satellite-section{margin-top:60px;padding-top:45px;border-top:1px solid var(--line);scroll-margin-top:110px}
.satellite-heading{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:30px}
.satellite-heading .eyebrow{font-size:.68rem;margin-bottom:15px}
.satellite-heading h3{font-size:clamp(2rem,3.2vw,3rem);line-height:1.15}
.satellite-heading>div:last-child>p{color:var(--muted);font-size:.84rem;margin-bottom:16px}
.satellite-panel{border:1px solid var(--line);background:#dbe9e5;overflow:hidden}
.satellite-panel iframe{display:block;width:100%;height:560px;border:0;filter:none}
.journey-pin{border:1px solid #d9bd88;border-radius:50%;background:#171810;color:#f3dcb0;box-shadow:0 2px 12px #0005;display:grid;place-items:center}
.journey-pin svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.journey-pin-home{background:#d9bd88;color:#16160f;border:2px solid #fff5df}
.arrival-map .leaflet-tooltip{background:#fffdf5;color:#212923;border:1px solid #918265;box-shadow:0 2px 7px #0002;font-size:11px;font-weight:600;padding:6px 9px;letter-spacing:.015em}
.arrival-map .leaflet-tooltip-left:before{border-left-color:#918265}
.arrival-map .leaflet-tooltip-top:before{border-top-color:#918265}
.arrival-map .leaflet-tooltip-bottom:before{border-bottom-color:#918265}
.arrival-map .leaflet-popup-content-wrapper{border-radius:2px;color:#24352e;background:#fffdf5}
.arrival-map .leaflet-popup-content{font-size:13px;line-height:1.5;margin:17px 20px}
.arrival-map .leaflet-popup-content strong{display:block;margin-bottom:12px}
.arrival-map .leaflet-popup-content a{color:#31524c;text-decoration:underline}
.arrival-map .leaflet-control-attribution{background:#fffdf5ed;color:#333;font-size:10px;max-width:100%;line-height:1.5}
.arrival-map .leaflet-control-attribution a{color:#31524c}
.arrival-map .leaflet-control-zoom a{color:#222;background:#fffdf5}
.arrival-map .leaflet-control a:focus-visible{outline:2px solid #77562d;outline-offset:2px}
.arrival-map .leaflet-tile{filter:none}
@media(max-width:1100px){.arrival-layout{grid-template-columns:minmax(0,1.3fr) minmax(235px,1fr);gap:30px}.arrival-map{height:660px}.airport-card h3{font-size:1.7rem}}
@media(max-width:820px){.arrival-layout{grid-template-columns:1fr;gap:38px}.arrival-map{height:520px}.arrival-airports{display:grid;grid-template-columns:1fr 1fr;gap:28px}.airport-card{margin:0;padding-bottom:26px}.arrival-home{grid-column:1/-1;border-bottom:0}.satellite-section{margin-top:45px;padding-top:35px}.satellite-heading{grid-template-columns:1fr;gap:25px}.satellite-panel iframe{height:500px}}
@media(max-width:560px){.arrival-map{height:455px}.arrival-airports{grid-template-columns:1fr;gap:24px}.airport-card h3{font-size:1.85rem}.airport-card p{font-size:.85rem}.arrival-map-footer{font-size:.67rem}.arrival-map .leaflet-tooltip{font-size:10px;padding:5px 7px}.satellite-panel iframe{height:460px}.satellite-heading h3{font-size:2rem}.satellite-section{margin-top:37px}.arrival-map .leaflet-control-attribution{font-size:9px}}
