/* Isolated Oregon/Jersey globe enhancement. Existing atlas remains intact. */
.import-route[data-globe-ready] { padding:24px 28px 22px; max-width:1080px; background:#0d1112; border-color:#b9a16c38; border-radius:14px; box-shadow:0 28px 90px #0003; }
.import-route [hidden] { display:none!important; }
.import-route[data-globe-ready]>.import-route-top { justify-content:space-between; gap:16px; flex-wrap:wrap; }
.globe-modes { display:flex; align-items:center; gap:3px; padding:3px; border:1px solid #d4c49b26; border-radius:7px; }
.import-route .globe-modes button { background:transparent; border:0; border-radius:4px; padding:8px 17px; min-height:36px; color:#b9bcb4; font:500 12px 'DM Sans',sans-serif; cursor:pointer; }
.import-route .globe-modes button[aria-pressed=true] { color:#f0ddb0; background:#e3cd9316; }
.globe-experience { color:#e8e5da; margin-top:22px; }
.globe-heading { display:flex; align-items:baseline; justify-content:space-between; gap:15px; padding-bottom:14px; border-bottom:1px solid #e1cf9c14; }
.import-route .globe-heading h3 { margin:0; color:#ede8dc; font:400 clamp(23px,3vw,34px)/1.2 Georgia,serif; letter-spacing:-.025em; }
.globe-heading>span { color:#a9aea6; font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.globe-stage { position:relative; height:540px; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 50% 54%,#1d2f2b75 0,transparent 65%); border-radius:8px; }
.globe-stage::before { content:''; position:absolute; width:56%; height:6%; bottom:5%; left:22%; background:#000b; filter:blur(20px); border-radius:50%; z-index:-1; }
.globe-canvas,.globe-lines { position:absolute; inset:0; width:100%; height:100%; }
.globe-canvas { cursor:grab; touch-action:pan-y; }
.globe-canvas:active { cursor:grabbing; }
.globe-canvas:focus-visible { outline:2px solid #f0d79b; outline-offset:-5px; border-radius:8px; }
.globe-lines { pointer-events:none; overflow:visible; }
.globe-route-shadow { fill:none; stroke:#0007; stroke-width:4; }
.globe-route-base { fill:none; stroke:#bca46a70; stroke-width:1.25; stroke-dasharray:3 5; }
.globe-route-active { fill:none; stroke:#f4d68b; stroke-width:2; filter:drop-shadow(0 0 4px #eecb7770); }
.globe-point { fill:#ffe6a2; stroke:#111814; stroke-width:2; }
.globe-point-ring { fill:#e2c08015; stroke:#e8d09980; stroke-width:1; }
.globe-plane { fill:#ffedbe; stroke:#302818; stroke-width:.7; filter:drop-shadow(0 2px 4px #000b); }
.globe-pin { position:absolute; z-index:2; min-width:92px; padding:6px 10px; border-left:1px solid #d4bd80b0; background:linear-gradient(90deg,#0c1413eb,#0c141395); pointer-events:none; }
.globe-pin strong { display:block; color:#f3dfad; font:600 12px/1.5 'DM Sans',sans-serif; letter-spacing:.12em; }
.globe-pin small { color:#afbcb4; font:10px/1.5 'DM Sans',sans-serif; letter-spacing:.04em; }
.globe-north { position:absolute; left:16px; top:26px; display:flex; flex-direction:column; align-items:center; gap:9px; color:#b8bbae; font:10px/1 'DM Sans',sans-serif; letter-spacing:.1em; }
.globe-north svg { width:22px; height:42px; }
.globe-coordinates { position:absolute; top:28px; right:12px; color:#9da99e; font:10px/1.7 'DM Sans',sans-serif; text-align:right; letter-spacing:.06em; }
.globe-island { position:absolute; bottom:18px; right:10px; width:126px; background:#0d1516e6; border:1px solid #cfb77e50; border-radius:8px; overflow:hidden; }
.globe-island img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; opacity:.88; }
.globe-island-label { display:block; font:500 9px/1.4 'DM Sans',sans-serif; padding:8px; color:#e2ca91; text-align:center; letter-spacing:.12em; border-top:1px solid #d4bd8030; }
.globe-interact-hint { position:absolute; bottom:22px; left:12px; color:#a4afa5; font:11px/1.5 'DM Sans',sans-serif; max-width:155px; }
.globe-zoom { display:flex; gap:6px; margin-bottom:10px; }
.import-route .globe-icon-button { display:grid; place-items:center; width:38px; min-height:38px; padding:0; border:1px solid #d2c29635; border-radius:50%; background:#101918b0; color:#ddcfab; cursor:pointer; }
.globe-icon-button svg { width:15px; height:15px; stroke:currentColor; fill:none; stroke-width:1.5; }
.globe-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 0; border-block:1px solid #e1cf9c20; }
.import-route .globe-scroll-hint { margin:0; color:#aab3a7; font:11px/1.5 'DM Sans',sans-serif; }
.globe-views { display:flex; gap:5px; }
.import-route .globe-views button { color:#bfc5b9; border:1px solid transparent; background:transparent; min-height:42px; padding:8px 15px; font:500 12px/1.2 'DM Sans',sans-serif; cursor:pointer; border-radius:5px; }
.import-route .globe-views button[aria-pressed=true] { color:#e9d4a2; border-color:#d4bd8050; background:#e3cd9308; }
.globe-flight-control { padding:20px 2px 14px; }
.globe-flight-labels { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:10px; }
.globe-flight-labels label { font:500 11px/1.5 'DM Sans',sans-serif; color:#d6d5c9; letter-spacing:.02em; }
.globe-flight-labels output { font:10px/1.5 'DM Sans',sans-serif; color:#bbad8b; text-transform:uppercase; letter-spacing:.12em; }
.import-route .globe-progress { appearance:none; width:100%; padding:0; min-height:24px; height:24px; margin:0; border:0; border-radius:0; background:transparent; cursor:pointer; accent-color:#e5cb89; }
.globe-progress::-webkit-slider-runnable-track { height:2px; background:linear-gradient(90deg,#dfc580 var(--flight-progress,36%),#d2c29630 var(--flight-progress,36%)); }
.globe-progress::-webkit-slider-thumb { appearance:none; height:13px; width:13px; border-radius:50%; margin-top:-5.5px; background:#e5cb89; border:3px solid #282a21; box-shadow:0 0 0 1px #d5bf83; }
.globe-progress::-moz-range-track { height:2px; background:#d2c29630; }
.globe-progress::-moz-range-progress { background:#dfc580; }
.globe-progress::-moz-range-thumb { height:10px; width:10px; border-radius:50%; background:#e5cb89; border:2px solid #282a21; }
.globe-range-labels { display:flex; justify-content:space-between; font:9px/1.4 'DM Sans',sans-serif; color:#9fa89e; letter-spacing:.12em; }
.import-route .globe-disclaimer { margin:0 0 22px; color:#9fa89f; font:11px/1.6 'DM Sans',sans-serif; }
.import-route .globe-note { color:#c9ba94; font:12px/1.5 'DM Sans',sans-serif; }
.import-route[data-globe-ready] .import-route-footer { padding-top:17px; }
.import-route[data-globe-ready] .import-imagery-credit { font-size:10px; color:#949c96; }
.import-route :is(.globe-modes button,.globe-views button,.globe-icon-button,.globe-progress):focus-visible { outline:2px solid #f3dba7; outline-offset:4px; }
@media(max-width:600px) {
 .import-route[data-globe-ready] { padding:17px 14px; border-radius:10px; }
 .import-route[data-globe-ready] .import-route-kicker { font-size:10px; letter-spacing:.12em; }
 .import-route .globe-modes button { padding:8px 11px; min-height:44px; font-size:11px; }
 .import-route .globe-icon-button { width:44px; min-height:44px; }
 .import-route .globe-progress { height:44px; min-height:44px; }
 .globe-experience { margin-top:18px; }
 .globe-heading { align-items:flex-start; gap:8px; }
 .import-route .globe-heading h3 { font-size:25px; }
 .globe-heading>span { max-width:78px; font-size:8px; line-height:1.6; text-align:right; }
 .globe-stage { height:390px; }
 .globe-north { left:7px; top:16px; }
 .globe-coordinates { top:15px; right:5px; font-size:8px; }
 .globe-island { width:82px; right:3px; bottom:10px; }
 .globe-island-label { font-size:8px; padding:5px; }
 .globe-interact-hint { left:3px; bottom:13px; max-width:160px; font-size:10px; }
 .globe-pin { padding:4px 7px; min-width:82px; }
 .globe-pin strong { font-size:10px; }
 .globe-pin small { font-size:8px; }
 .globe-toolbar { flex-wrap:wrap; gap:12px; padding:13px 0; }
 .globe-views { width:100%; justify-content:space-between; }
 .import-route .globe-views button { flex:1; min-height:44px; padding:9px 8px; font-size:11px; }
 .globe-flight-control { padding-top:18px; }
 .globe-range-labels { font-size:8px; letter-spacing:.08em; }
}
@media(prefers-reduced-motion:reduce) { .globe-experience * { transition:none!important; } }
