/* Airport geography belongs to Aviary's mineral, graphite and electric-blue world. */
.av-route-map{margin-top:34px;padding-top:27px;border-top:1px solid var(--av-line)}
.av-route-map__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.av-route-map__head h2{font-size:25px}.av-route-map__head p{font-size:13px;line-height:1.5;color:var(--av-muted);margin-top:9px;max-width:55ch}
.av-route-map__state{flex:0 0 auto;color:var(--av-muted);font-size:11px;font-weight:550;line-height:1.5;padding-top:7px}
.av-route-map__preview{position:relative;margin-top:20px;background:#f0f4fa;overflow:hidden;border-radius:14px}
.av-route-map__preview svg{display:block;width:100%;height:auto}.av-route-map__mobile{display:none}
.av-route-map__legend{position:absolute;bottom:12px;left:14px;display:flex;align-items:center;gap:7px;background:#fff;padding:5px 8px;border-radius:4px;color:#566170;font-size:10px;line-height:1.4}
.av-route-map__legend>span{width:17px;border-top:2px dashed #1755df}
.av-route-map__canvas{height:330px;margin-top:20px;overflow:hidden;border-radius:14px;background:#f0f4fa}
.av-route-map__canvas canvas:focus-visible{outline:3px solid var(--av-blue);outline-offset:-3px}
.av-route-map__actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;margin-top:16px}
.av-route-map__actions .av-button{min-height:44px}.av-route-map__actions .av-caption{flex:1;min-width:180px;max-width:48ch}
.av-route-map__note,.av-route-map__fallback{margin-top:13px;color:var(--av-muted);font-size:12px;line-height:1.55}
.av-route-map__attribution{margin-top:10px;color:var(--av-muted);font-size:11px;line-height:1.6}.av-route-map__attribution a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.av-route-map__marker{display:grid;place-items:center;min-width:30px;height:30px;padding:0 5px;border:2px solid #fff;border-radius:6px;background:var(--av-blue);box-shadow:0 2px 9px rgba(23,85,223,.18);color:#fff;font:650 10px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.av-route-map__airports{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.av-route-map__airports>div{min-width:0}.av-route-map__airports strong{font-size:17px}.av-route-map__airports>div>span{display:block;color:var(--av-muted);font-size:12px;line-height:1.5;margin-top:4px}.av-route-map__airports>div>div{display:flex;gap:5px 15px;flex-wrap:wrap;margin-top:5px}.av-route-map__airports a{display:inline-flex;align-items:center;gap:5px;min-height:44px;font-size:12px;font-weight:550;color:var(--av-blue)}
.av-discovery-map{margin:0 0 28px;padding:0;border:0}.av-discovery-map .av-route-map__head h2{font-size:21px}.av-discovery-map .av-route-map__preview,.av-discovery-map .av-route-map__canvas{margin-top:16px}.av-discovery-map .av-route-map__note{margin-top:10px}
.av-card-media{margin-top:16px}.av-card-map{position:relative;background:#f0f4fa;overflow:hidden}.av-card-map svg{display:block;width:100%;height:auto}.av-card-map>span{position:absolute;right:12px;bottom:8px;font-size:9px;line-height:1.4;color:#566170;background:#f0f4fa;padding:3px 5px;border-radius:3px}.av-card-media .av-aircraft-art{height:110px;padding-top:8px;padding-bottom:8px}.av-card-map-empty{padding:12px 24px;font-size:11px;color:var(--av-muted);background:#f4f6f9}.av-card-geography-credit{color:var(--av-muted);font-size:11px;line-height:1.5;margin-top:16px}
.av-route-map .maplibregl-ctrl-group{box-shadow:0 2px 8px rgba(25,39,62,.14);border-radius:8px;overflow:hidden}.av-route-map .maplibregl-ctrl-group button{width:44px;height:44px}.av-route-map .maplibregl-ctrl-group button:focus-visible{outline:3px solid var(--av-blue);outline-offset:-3px}
@media(max-width:760px){.av-route-map{margin-top:28px;padding-top:24px}.av-route-map__head{flex-wrap:wrap;gap:7px}.av-route-map__head h2{font-size:23px}.av-route-map__state{padding-top:0}.av-route-map__desktop{display:none}.av-route-map__mobile{display:block}.av-route-map__canvas{height:260px}.av-route-map__legend{font-size:10px;bottom:10px;left:10px}.av-route-map__actions{align-items:stretch;flex-direction:column;gap:10px}.av-route-map__actions .av-button{width:100%}.av-route-map__actions .av-caption{font-size:12px;max-width:none}.av-route-map__airports{grid-template-columns:1fr;gap:15px}.av-route-map__note,.av-route-map__fallback{font-size:12px}.av-discovery-map{margin-top:0;padding-top:0}.av-discovery-map .av-route-map__head h2{font-size:21px}.av-card-media .av-aircraft-art{height:100px}.av-card-map>span{font-size:10px}.av-route-map__attribution{font-size:11px}}
@media(prefers-reduced-motion:reduce){.av-route-map *, .av-card-map *{scroll-behavior:auto}}


/* Full-section geography: vector colors are direct layer values. Only neutral
   alpha masks protect copy/fade edges; there is no chromatic wash or map filter. */
.av-discovery-page{overflow-x:clip}.av-discovery-page .av-main{padding-top:0}.av-discovery-page .av-header{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.av-discovery-page .av-demo-capacity-notice{position:relative;z-index:3}
.av-discovery-page .av-header:before{content:"";position:absolute;z-index:-1;inset:0 auto 0 50%;width:var(--av-layout-viewport-width,100vw);transform:translateX(-50%);background:var(--av-glass-bg);backdrop-filter:blur(var(--av-glass-blur));-webkit-backdrop-filter:blur(var(--av-glass-blur));pointer-events:none}
.av-discovery-page:has(.av-discovery-banner[data-hero-nav=solid]) .av-header:before{background:var(--av-bg);backdrop-filter:none;-webkit-backdrop-filter:none}
.av-discovery-banner{position:relative;z-index:2;isolation:isolate;display:flex;flex-direction:column;overflow:visible;width:var(--av-layout-viewport-width,100vw);margin-left:calc(50% - var(--av-layout-viewport-width,100vw)/2);margin-top:-88px;margin-bottom:24px;padding:126px max(24px,calc((100vw - 1240px)/2)) 16px;min-height:340px;border-radius:0;background:var(--av-bg)}
.av-discovery-banner>.av-discover-head,.av-discovery-banner>.av-filters{position:relative;width:100%;max-width:1240px;margin-inline:auto}.av-discovery-banner>.av-discover-head{order:1;z-index:2;margin-bottom:28px}.av-discovery-banner>.av-filters{order:2;z-index:10;background:var(--av-surface)}.av-discovery-banner .av-discover-copy{max-width:51ch}.av-discovery-banner h1{font-size:clamp(40px,4.8vw,64px)}
.av-discovery-map{--av-map-land:#c9d6df;--av-map-water:#a7c2d4;--av-map-boundary:#758d9e;--av-map-route:#1558ac;position:absolute;inset:0;margin:0;padding:0;overflow:visible;border:0;border-radius:inherit}
.av-discovery-map[data-map-style=coast]{--av-map-land:#d5e2e9;--av-map-water:#a9c8dc;--av-map-boundary:#7d9aaf;--av-map-route:#1755df}.av-discovery-map[data-map-style=chart]{--av-map-land:#25445c;--av-map-water:#0d1b2c;--av-map-boundary:#66869b;--av-map-route:#f0bd7c}.av-discovery-map[data-map-style=blueprint]{--av-map-land:#b2b8c5;--av-map-water:#c0c0c0;--av-map-boundary:#66768f;--av-map-route:#2f4e6a}
.av-discovery-map__preview,.av-discovery-map__canvas{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:inherit;overflow:hidden;background:var(--av-map-water);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 27%,#000 48%),linear-gradient(0deg,transparent 0%,rgba(0,0,0,.12) 16%,rgba(0,0,0,.5) 34%,#000 56%);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 27%,#000 48%),linear-gradient(0deg,transparent 0%,rgba(0,0,0,.12) 16%,rgba(0,0,0,.5) 34%,#000 56%);-webkit-mask-composite:source-in}
.av-discovery-map__preview>div{height:100%}.av-discovery-map__preview svg{display:block;width:100%;height:100%;background:var(--av-map-water)}.av-discovery-map__preview svg>rect{fill:var(--av-map-water)}.av-discovery-map__preview svg>g:nth-of-type(1){fill:var(--av-map-land);stroke:var(--av-map-boundary)}.av-discovery-map__preview svg>g:nth-of-type(2){stroke:var(--av-map-boundary)}.av-discovery-map__preview svg>g:nth-of-type(3){stroke:var(--av-map-water)}.av-discovery-map__preview svg circle{stroke:var(--av-map-land)}.av-discovery-map__preview svg>g:nth-of-type(4){stroke:var(--av-map-route)}.av-discovery-map__preview svg circle{fill:var(--av-map-route)}.av-discovery-map__canvas{pointer-events:none}.av-discovery-map__canvas[hidden]{display:none}.av-discovery-map__veil{display:none}
/* Quiet readable source links remain in flow and never cover search controls. */
.av-discovery-banner>.av-discovery-map__foot{order:3;position:relative;z-index:3;width:100%;max-width:1240px;margin:4px auto 0;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px 10px;min-height:22px;color:var(--av-map-credit-ink,var(--av-muted));font-size:10px;line-height:1.4}
.av-discovery-map__credit{display:block;max-width:100%;border:0;border-radius:0;padding:1px 0;background:transparent;box-shadow:none;font-size:10px;line-height:1.4}.av-discovery-map__credit a{color:inherit;font:inherit;min-height:0;padding:0;background:transparent;box-shadow:none;border:0;border-radius:0;text-decoration:none;text-underline-offset:2px;white-space:nowrap}
.av-discovery-map__foot .av-text-link{font-size:10px;min-height:28px;background:transparent;padding:2px 5px}
/* This distinct demo-only brush is separate from the ordinary appearance utility. */
.av-map-tools{position:absolute;z-index:20;top:96px;right:max(24px,calc((100vw - 1240px)/2));--av-glass-solid:#f5f8fa;--av-glass-ink:#42566a;--av-glass-line:#92a3b1;--av-glass-active:#dce7f0;--av-glass-accent:#2f4e6a}
.av-map-tools__toggle{display:flex;align-items:center;justify-content:center;margin-left:auto;width:42px;height:42px;min-height:42px;padding:0;border:1px solid #bb91cb;border-radius:50%;background:#f1dff6;color:#743291;box-shadow:0 3px 10px rgba(73,31,91,.12);cursor:pointer}.av-map-tools__toggle svg{width:17px;height:17px}
.av-map-tools__panel{position:absolute;right:0;top:50px;width:268px;max-width:calc(100vw - 40px);max-height:min(440px,calc(100svh - 160px));overflow:auto;padding:12px;border:1px solid var(--av-glass-line);border-radius:14px;background:var(--av-glass-solid);color:var(--av-glass-ink);box-shadow:0 12px 30px rgba(15,35,55,.16)}.av-map-tools__panel[hidden]{display:none}
.av-map-tools__title{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px;font-size:13px;font-weight:650}.av-map-tools__title span{padding:1px 5px;border:1px solid var(--av-glass-line);border-radius:4px;font-size:10px;font-weight:400}
.av-map-tools__choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:8px 0 0;padding:7px 0 0;border:0;border-top:1px solid var(--av-glass-line)}.av-map-tools__choices legend{font-size:11px;font-weight:700;letter-spacing:.04em}.av-map-tools__choices button{display:flex;align-items:center;justify-content:center;gap:4px;min-height:36px;width:100%;padding:5px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--av-glass-ink);font-size:11px;text-align:center;cursor:pointer}.av-map-tools__choices button[aria-pressed=true]{background:var(--av-glass-active);border-color:var(--av-glass-accent);font-weight:650}.av-map-tools__choices:has([data-flight-map-style]),.av-map-tools__choices:has([data-site-skin]),.av-map-tools__choices:has([data-card-style]){grid-template-columns:repeat(2,minmax(0,1fr))}.av-map-tools button:focus-visible{outline:3px solid var(--av-glass-accent);outline-offset:2px}
.av-map-swatch{width:11px;height:11px;border-radius:50%;flex:none}.av-map-swatch--blue{background:#a4bdcf}.av-map-swatch--coast{background:#99bad0}.av-map-swatch--chart{background:#192e42}.av-map-swatch--blueprint{background:#b2b8c5;border:1px solid #2f4e6a}
html[data-av-theme=dark] .av-discovery-page .av-header:before{background:var(--av-glass-bg)}html[data-av-theme=dark] .av-discovery-page:has(.av-discovery-banner[data-hero-nav=solid]) .av-header:before{background:var(--av-bg)}
html[data-av-theme=dark] .av-discovery-map[data-map-style=blue]{--av-map-land:#25445c;--av-map-water:#0d1b2c;--av-map-boundary:#66869b;--av-map-route:#f0bd7c}html[data-av-theme=dark] .av-discovery-map[data-map-style=blueprint]{--av-map-land:#293241;--av-map-water:#3b4350;--av-map-boundary:#74849a;--av-map-route:#90aac7}
html[data-av-theme=dark] .av-map-tools{--av-glass-solid:#263748;--av-glass-ink:#e6eff6;--av-glass-line:#8397a9;--av-glass-active:#39536b;--av-glass-accent:#95b4d0}html[data-av-theme=dark] .av-map-tools__toggle{background:#4f2e5d;color:#f2d6fc;border-color:#b686ca}
@supports(backdrop-filter:blur(12px)){.av-map-tools__panel{background:rgba(245,248,250,.95);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}html[data-av-theme=dark] .av-map-tools__panel{background:rgba(38,55,72,.95)}}
@media(prefers-reduced-transparency:reduce){.av-map-tools__panel{background:var(--av-glass-solid)!important;backdrop-filter:none;-webkit-backdrop-filter:none}.av-discovery-page .av-header:before{background:var(--av-bg);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(forced-colors:active){.av-map-tools__toggle,.av-map-tools__panel{background:Canvas!important;color:CanvasText!important;border-color:ButtonText;backdrop-filter:none}.av-map-tools__choices button{color:ButtonText!important;border-color:ButtonText!important}.av-map-tools__choices button[aria-pressed=true]{outline:2px solid Highlight}.av-map-tools button:focus-visible{outline:3px solid Highlight}}
@media(max-width:760px){.av-discovery-banner{width:calc(100% + 48px);margin-left:-24px;margin-top:-72px;padding:116px 18px 12px;min-height:0}.av-discovery-banner h1{font-size:clamp(32px,8vw,42px)}.av-discovery-banner>.av-discover-head{margin-bottom:112px}.av-map-tools{top:76px;right:18px}.av-map-tools__panel{max-width:calc(100vw - 32px)}.av-discovery-banner>.av-discovery-map__foot{justify-content:flex-start}.av-discovery-map__credit{flex:1 1 240px;font-size:9px}
.av-discovery-map__preview,.av-discovery-map__canvas{mask-image:linear-gradient(180deg,#000 0,#000 46px,transparent 84px,transparent calc(var(--av-map-copy-end,200px) - 12px),#000 calc(var(--av-map-copy-end,200px) + 14px),#000 calc(var(--av-map-form-start,330px) - 48px),transparent calc(var(--av-map-form-start,330px) + 52px));-webkit-mask-image:linear-gradient(180deg,#000 0,#000 46px,transparent 84px,transparent calc(var(--av-map-copy-end,200px) - 12px),#000 calc(var(--av-map-copy-end,200px) + 14px),#000 calc(var(--av-map-form-start,330px) - 48px),transparent calc(var(--av-map-form-start,330px) + 52px))}
}
@media(max-width:360px){.av-discovery-banner{width:calc(100% + 36px);margin-left:-18px;padding-inline:14px}.av-map-tools{right:12px}.av-map-tools__panel{width:230px;max-width:calc(100vw - 40px)}}
/* The map itself is the activation target: no extra layout or lost focus. */
.av-route-map__activate{display:block;width:100%;padding:0;border:0;cursor:zoom-in;color:inherit;text-align:inherit}
.av-route-map__activate:focus-visible{outline:3px solid var(--av-blue);outline-offset:4px}
.av-route-map__activate:disabled{cursor:progress;opacity:1}
.av-route-map__actions:has([data-flight-map-reset][hidden]){margin:0}
.av-route-map__attribution{font-size:10px;margin-top:8px}
html[data-av-theme=dark] .av-route-map__preview,html[data-av-theme=dark] .av-route-map__canvas{background:#3b4350}
html[data-av-theme=dark] .av-route-map__preview svg>rect{fill:#3b4350}
html[data-av-theme=dark] .av-route-map__preview svg>g:nth-of-type(1){fill:#293241;stroke:#74849a}
html[data-av-theme=dark] .av-route-map__preview svg>g:nth-of-type(2){stroke:#53637a}
html[data-av-theme=dark] .av-route-map__preview svg>g:nth-of-type(3){stroke:#3b4350}
html[data-av-theme=dark] .av-route-map__preview svg>g:nth-of-type(4){stroke:#90aac7}
html[data-av-theme=dark] .av-route-map__preview svg circle{fill:#90aac7;stroke:#3b4350}
html[data-av-theme=dark] .av-route-map__preview svg text{fill:#edf3fa}
html[data-av-theme=dark] .av-route-map__preview svg>rect:not(:first-child){fill:#293241;stroke:#74849a}
html[data-av-theme=dark] .av-route-map__marker{color:#101b29;border-color:#203247;background:#9bbbd4;box-shadow:none}
html[data-av-theme=dark] .av-route-map .maplibregl-ctrl-group{background:#d6e2ed}

/* Demo controls float outside request content; never shift its layout. */
.av-request-design-tools{position:absolute;top:8px;right:8px;z-index:25}.av-request-design-tools .av-map-tools__panel{top:52px;max-height:min(65dvh,520px);overflow:auto}

/* Extend geography beneath the search without lengthening the accepted fade ramp. */
.av-discovery-map__preview,.av-discovery-map__canvas{height:calc(100% + 64px);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 27%,#000 48%),linear-gradient(0deg,transparent 0%,rgba(0,0,0,.12) calc(16% - 10.24px),rgba(0,0,0,.5) calc(34% - 21.76px),#000 calc(56% - 35.84px));-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 27%,#000 48%),linear-gradient(0deg,transparent 0%,rgba(0,0,0,.12) calc(16% - 10.24px),rgba(0,0,0,.5) calc(34% - 21.76px),#000 calc(56% - 35.84px))}
.av-discovery-page{--av-map-credit-ink:#566170}html[data-av-theme=dark] .av-discovery-page{--av-map-credit-ink:#b4c4d5}
html[data-av-skin=silver] .av-discovery-page{--av-map-credit-ink:var(--av-muted)}
.av-discovery-map__credit a:hover,.av-discovery-map__credit a:focus-visible{text-decoration:underline;color:var(--av-ink)}
@media(max-width:760px){.av-discovery-banner>.av-discovery-map__foot{justify-content:flex-end;text-align:right}.av-discovery-map__preview,.av-discovery-map__canvas{mask-image:linear-gradient(180deg,#000 0,#000 46px,transparent 84px,transparent calc(var(--av-map-copy-end,200px) - 12px),#000 calc(var(--av-map-copy-end,200px) + 14px),#000 calc(var(--av-map-form-start,330px) + 16px),transparent calc(var(--av-map-form-start,330px) + 116px));-webkit-mask-image:linear-gradient(180deg,#000 0,#000 46px,transparent 84px,transparent calc(var(--av-map-copy-end,200px) - 12px),#000 calc(var(--av-map-copy-end,200px) + 14px),#000 calc(var(--av-map-form-start,330px) + 16px),transparent calc(var(--av-map-form-start,330px) + 116px))}}
@supports not (backdrop-filter:blur(8px)){.av-discovery-page .av-header:before{background:var(--av-bg)}}

/* Viewport compositions share one map and preserve the discovery layout. The
   stage scrolls with the page; no fixed canvas, scrolling camera or new UI layer.
   Static/data-saving previews retain the proven banner composition. */
html:is([data-map-composition=viewport],[data-map-composition=focus]) .av-discovery-banner:has([data-map-dynamic]){isolation:auto;z-index:auto;background:transparent}
html:is([data-map-composition=viewport],[data-map-composition=focus]) .av-discovery-map[data-map-dynamic]{height:max(100svh,100%);z-index:0;pointer-events:none}
html:is([data-map-composition=viewport],[data-map-composition=focus]) .av-discovery-map[data-map-dynamic] .av-discovery-map__canvas{height:100%;mask-image:var(--av-viewport-mask,none);-webkit-mask-image:var(--av-viewport-mask,none);mask-composite:add;-webkit-mask-composite:source-over;mask-size:100% 100%;-webkit-mask-size:100% 100%}
html:is([data-map-composition=viewport],[data-map-composition=focus]) .av-discovery-page .av-main>:not(.av-discovery-banner),html:is([data-map-composition=viewport],[data-map-composition=focus]) .av-discovery-page .av-footer{position:relative;z-index:2}
@media(forced-colors:active){html:is([data-map-composition=viewport],[data-map-composition=focus]) .av-discovery-map[data-map-dynamic]{visibility:hidden}}
