/* One homepage story; working journeys retain their task-first layout. */
body:not(.onboarding) .home-story:not(.is-requested){display:none!important}
.home-story{box-sizing:border-box;width:min(1180px,calc(100% - 64px));margin-inline:auto;color:#f6f8ff;scroll-margin-top:28px}
.home-journey{padding-block:64px 52px}
.home-section-heading{max-width:760px;margin-bottom:32px}
.home-eyebrow{font:650 11px/1.4 Inter,system-ui,sans-serif;letter-spacing:.13em;color:#b8b6fa;margin:0 0 12px}
.home-story h2{font:700 clamp(26px,3vw,38px)/1.15 Inter,system-ui,sans-serif;letter-spacing:-.035em;margin:0 0 14px;color:#f6f8ff}
.home-story h3{font:650 20px/1.25 Inter,system-ui,sans-serif;letter-spacing:-.02em;margin:12px 0;color:#f6f8ff}
.home-story p{font:400 15px/1.7 Inter,system-ui,sans-serif;color:#c2cde3;margin:0 0 16px}
.home-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.home-feature{min-width:0;border-top:1px solid #364363;padding-top:20px;scroll-margin-top:24px}
.home-step{font:600 13px/1 Inter,system-ui,sans-serif;color:#a9a7ff;font-variant-numeric:tabular-nums}
.home-text-link,.home-document-demo>summary{font:600 14px/1.5 Inter,system-ui,sans-serif;color:#c3bdff;cursor:pointer;text-underline-offset:4px}
button.home-text-link{border:0;background:transparent;box-shadow:none;border-radius:0;padding:6px 0;text-decoration:underline;min-height:36px;text-align:left}
.home-secondary-link{display:block;color:#becae1;font:400 13px/1.6 Inter,system-ui,sans-serif;text-underline-offset:4px;margin-top:10px;width:fit-content}
.home-feature-note{display:block;font:500 12px/1.5 Inter,system-ui,sans-serif;color:#b9b7f1;margin:4px 0 12px}
.home-document-demo{border:0!important;border-radius:0!important;padding:0!important;background:transparent!important;box-shadow:none!important}
.home-document-demo>summary{padding:6px 0;min-height:32px;list-style:disclosure-closed}
.home-document-demo[open]>summary{list-style:disclosure-open}
.home-document-demo .doc-inline-examples{display:block;margin:18px 0 0}
.home-document-demo .doc-inline-example{margin:0 0 12px;border:1px solid #3c4968;border-radius:12px;background:#101b30}
.home-document-demo .doc-inline-example>summary{padding:14px;list-style:disclosure-closed;cursor:pointer}
.home-document-demo .doc-inline-example[open]>summary{list-style:disclosure-open}
.home-document-demo .doc-example-copy{display:inline}
.home-document-demo .doc-example-copy h3{display:inline;font-size:15px;line-height:1.45;margin:0}
.home-document-demo .doc-example-copy>p,.home-document-demo .doc-example-copy>.doc-example-kicker{display:none}
.home-document-demo .doc-example-screen{padding:14px;margin:0 10px 12px;border-radius:8px;box-shadow:none}
.home-document-demo .doc-screen-top img{max-width:105px;height:auto}
.home-document-demo .doc-screen-top{gap:8px;flex-wrap:wrap;padding-bottom:10px}
.home-document-demo .doc-example-screen .checks li{grid-template-columns:22px minmax(0,1fr);gap:8px;padding:10px}
.home-document-demo .doc-example-screen .checks .t{font-size:13px}
.home-document-demo .doc-example-screen p{font-size:12px;line-height:1.6;margin-bottom:12px}
.home-document-demo .doc-example-disclosure{font-size:12px;margin-top:12px}
.home-other-examples{border:0!important;background:transparent!important;padding:0!important}
.home-other-examples>summary{font-size:13px;color:#c3bdff;padding:10px 0;cursor:pointer}
.home-other-examples[open]>.doc-inline-example:first-of-type{margin-top:12px}
.home-story.home-map-showcase{padding-block:12px 48px}
.home-trust{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(20px,4vw,56px);align-items:start;padding-block:48px;border-top:1px solid #303d59}
.home-trust h2{font-size:26px}
.home-source-note{border-inline-start:1px solid #303d59;padding-inline-start:24px}
.home-source-note h3{margin-top:0}
.home-pricing.tiers{padding-block:48px 56px;margin-block:0;border-top:1px solid #303d59}
.home-pricing .tier-sum{font-size:14px}
.home-pricing .tiers-more{margin-block:6px}
.home-pricing .tier-buy{justify-self:start}
.home-story :is(a,button,summary):focus-visible{outline:2px solid #aaa8ff;outline-offset:5px}
@media(max-width:900px){.home-feature-grid{grid-template-columns:1fr;gap:26px}.home-feature{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:12px;padding-top:22px}.home-feature>.home-step{grid-column:1;grid-row:1;padding-top:5px}.home-feature>:not(.home-step){grid-column:2}.home-feature h3{margin-top:0}.home-section-heading{margin-bottom:24px}.home-document-demo .doc-example-screen{max-width:580px}}
@media(max-width:600px){.home-story{width:calc(100% - 36px)}.home-journey{padding-block:38px}.home-story p{font-size:14px;line-height:1.65}.home-trust{grid-template-columns:1fr;padding-block:32px;gap:16px}.home-source-note{border-inline-start:0;padding-inline-start:0;border-top:1px solid #303d59;padding-top:16px}.home-pricing.tiers{padding-block:32px}.home-story.home-map-showcase{padding-bottom:32px}.home-story h2{font-size:27px}}
/* The old standalone example section used this anchor too; reset its page-sized padding. */
#document-examples.home-feature{padding:20px 0 0;margin:0;max-width:none}

/* Illustrations for the three planning steps. */
.home-feature>.home-step{display:inline-flex;align-items:center;gap:10px;padding:0}
.home-step svg{width:68px;height:56px;color:#c3bdff;background:#1a2543;border-radius:14px}
@media(max-width:900px){
 .home-feature{grid-template-columns:58px minmax(0,1fr)}
 .home-feature>.home-step{flex-direction:column;gap:6px}
 .home-step svg{width:54px;height:45px}
}
/* Anchor the compact menu to the header at every compact width. */
@media(max-width:1180px){
 html body .board>.topnav.wrap{z-index:40}
 html body .board .nav-sheet.is-open{position:absolute;inset:calc(100% + 4px) 16px auto auto;width:min(260px,calc(100% - 48px));box-sizing:border-box;margin:0;z-index:41;max-height:calc(100dvh - 90px);overflow:auto}
 html body .board .nav-sheet .navlink{text-align:right}
 html body .board .topnav .home-brand{flex:0 1 auto;min-width:0}
 html body .board .topnav .brand-wordmark{max-width:min(56vw,250px);height:auto}
}

/* Keep supporting copy and actions on the same reading edge as their section. */
html body #start-plan.airport-connected-card .airport-planner .airport-small{
  max-width:none;
  text-align:start;
  margin-block-start:4px!important;
}
#airport-landing .airport-planner .airport-primary{margin-block-start:10px}
.home-story .home-eyebrow{font-size:11px;line-height:1.4;margin-block-end:10px}
.home-feature .home-text-link,.home-trust .home-text-link{
  display:inline-block;
  width:fit-content;
  padding-block:6px;
}
.home-feature .home-secondary-link{margin-block-start:4px;padding-block:6px}
.home-feature .home-document-demo>summary{padding-block:9px}
.home-source-note p{margin-block-end:12px}
html body #pricing.home-pricing.tiers{gap:20px}
.home-pricing .tiers-more{margin-block:12px}
[data-letters="home"] .cl-row{gap:10px}
@media(max-width:600px){
  .home-feature-grid{gap:22px}
  [data-letters="home"] .cl-row{gap:8px}
}

/* The same actions stay available when navigation collapses. */
@media(max-width:1180px){
 html body .board .nav-sheet.is-open{padding:12px;gap:4px}
 html body .board .nav-sheet .navlink,
 html body .board .nav-sheet .nav-tools>summary{text-align:start;padding:10px 12px!important}
 html body .board .nav-sheet .nav-tools-list{padding:0 0 0 12px}

 html body .board .nav-sheet .nav-start{display:inline-flex!important;align-self:stretch;justify-content:center;min-height:44px;margin-top:8px;border-radius:12px}
}

@media(min-width:1181px){
 html body .board .topnav .nav-sheet{display:contents!important}
 html body .board .topnav .nav-start{order:2}
 html body .board .topnav .lang-control{order:3}
}

@media(max-width:1180px){
 html body .board .topnav > .nav-menu{margin-inline-start:0!important}
 html body .board .topnav > .lang-control{order:4;margin:0}
}

/* Give the group portrait its full frame and pair it with the founder and sources copy. */
.home-story.home-trust{
  grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  gap:18px clamp(22px,4vw,52px);
}
.home-founder-photo{
  grid-row:1 / span 2;
  display:block;
  width:100%;
  height:auto;
  border-radius:16px;
}
.home-trust .home-source-note{
  grid-column:2;
  border-inline-start:0;
  padding-inline-start:0;
  border-top:1px solid #303d59;
  padding-top:16px;
}
@media(max-width:640px){
  .home-story.home-trust{grid-template-columns:1fr}
  .home-founder-photo{grid-row:auto}
  .home-trust .home-source-note{grid-column:auto}
}

/* The route check comes first. The map stays available for browsing countries. */
#coverage #request-route{
  max-width:680px;
  margin:0 0 26px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
#coverage #route-status:empty{display:none}
#coverage .route-world .map-grid{opacity:.35}

#coverage .route-request-destination{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:4px 16px;
  margin-bottom:12px;
}
#coverage .route-request-destination h3{margin:0}
#coverage #route-change-destination{
  color:#c9c2ff;
  text-decoration:underline;
}



#coverage .route-destination-dialog form{
  display:grid;
  gap:14px;
}
#coverage .route-destination-dialog label>span{display:block}
#coverage .route-destination-dialog select{width:100%}
#coverage .route-destination-dialog .route-status:empty{display:none}

/* Route checking and country browsing share one open section. */
#coverage .route-explorer {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

#coverage .coverage-intro { margin-bottom: 16px; }
#coverage #request-route { margin-bottom: 26px; }
#coverage .coverage-browse-title {
  border-top: 1px solid #364767;
  margin-top: 0;
  padding-top: 22px;
}
#coverage .map-layout { align-items: start; }
#coverage .route-world { border-radius: 16px; }
#coverage .map-zoom {
  top: 8px;
  right: 8px;
  flex-direction: row;
  gap: 4px;
}
#coverage .map-gesture-cue {
  max-width: calc(100% - 16px);
  border: 0;
  box-shadow: none;
}
#coverage .map-country-panel {
  padding: 0;
  border: 0;
  background: transparent;
}
#coverage .map-country-panel h3 {
  font-size: 21px;
  margin-block: 14px 8px;
}
#coverage .coverage-roadmap {
  margin-top: 16px;
  padding-top: 12px;
}

@media (max-width: 760px) {
  #coverage #request-route .route-fields { gap: 12px; }
  #coverage .coverage-browse-title { padding-top: 16px; }
  #coverage .route-world { height: clamp(205px, 64vw, 280px); }
  #coverage .map-country-panel {
    padding-top: 16px;
    border-top: 1px solid #364767;
    border-radius: 0;
  }
}

@media (max-width: 760px) {
  :is(#airport-landing, #crew-plan, .plan-workspace-dialog) .crew-active-helper > img {
    flex-shrink: 0;
    width: clamp(78px, 22vw, 94px);
    height: auto;
    aspect-ratio: 2 / 3;
    object-fit: contain;
  }
}

.site-foot .home-footer-group > summary{display:none}
@media (max-width: 760px) {
  .site-foot .wrap{padding-block:24px!important;gap:0!important}
  .site-foot .foot-top{gap:14px}
  .site-foot .foot-brand{gap:6px;padding-bottom:8px}
  .site-foot .foot-brand .brand-wordmark{width:185px;height:auto}
  .site-foot .home-footer-group{border-top:1px solid #304366}
  .site-foot .home-footer-group > summary{
    display:list-item;
    padding-block:13px;
    cursor:pointer;
    color:#e7eaff;
    font-size:14px;
    font-weight:600;
  }
  .site-foot .foot-cols{padding-block:4px 16px}
  .site-foot .foot-legal{border-top:0;padding:4px 0 12px}
}

/* Match the atlas to the site palette while keeping map states distinct. */
#coverage .route-world {
  background: radial-gradient(ellipse at 48% 36%, #192c4c, #0c172b 82%);
  border-color: #435777;
}
#coverage #map-ocean stop:first-child { stop-color: #233e60; }
#coverage #map-ocean stop:last-child { stop-color: #0c172b; }
#coverage .map-country:not(.is-covered):not(.is-selected):not(:hover):not(:focus-visible) {
  fill: #273a55;
  stroke: #637b9c;
}
#coverage .map-country.is-covered:not(.is-selected):not(:hover):not(:focus-visible) {
  fill: #327987;
  stroke: #9ee6e8;
}
#coverage .map-zoom button {
  background: #142540 !important;
  border-color: #597092;
  color: #e6efff;
  box-shadow: none;
}
#coverage .map-zoom button:hover:not(:disabled) { background: #293e60 !important; }
#coverage .map-country-actions { grid-template-columns: 1fr; }

.home-story.home-map-showcase{
  border-top:1px solid #303d59;
  padding-top:clamp(28px,4vw,48px);
}
#coverage .coverage-heading{margin-bottom:20px}
#coverage .coverage-heading > p:last-child{margin-bottom:0}

#coverage .map-zoom{
  gap:0;
  border:1px solid #597092;
  border-radius:12px;
  background:#142540;
}
#coverage .map-zoom button{
  border:0;
  border-radius:0;
  background:transparent!important;
}
#coverage .map-zoom button:first-child{border-radius:11px 0 0 11px}
#coverage .map-zoom button:last-child{border-radius:0 11px 11px 0}
#coverage .map-zoom button + button{border-inline-start:1px solid #597092}

@media (max-width: 1180px) {
  html body .board #nav-sheet.is-open {
    width: min(248px, calc(100% - 36px));
    padding: 8px;
    gap: 2px;
    border: 1px solid #425574;
    border-radius: 15px;
    background: #111d32;
    box-shadow: 0 12px 28px #050b18a8;
  }

  html body .board #nav-sheet :is(.navlink, .nav-tools > summary) {
    min-height: 44px;
    padding: 10px 12px !important;
    border: 0 !important;
    border-radius: 8px !important;
    text-align: start !important;
    font-size: 14px !important;
    line-height: 24px;
  }

  html body .board #nav-sheet .nav-tools > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  html body .board #nav-sheet .nav-tools-list {
    margin-inline: 12px 4px;
    padding: 0 0 0 6px;
    border-inline-start: 1px solid #425574;
    border-radius: 0;
  }

  html body .board #nav-sheet .nav-start {
    margin: 6px 4px 4px;
    border-radius: 9px;
  }
}

.sample-timeline-dialog .sample-next-step {
  padding: 12px 14px;
  border-inline-start: 3px solid #a69cff;
  border-radius: 8px;
  background: #243254;
  line-height: 1.55;
}
.sample-timeline-dialog .sample-next-step strong {
  display: block;
  color: #e5ddff;
}
.sample-timeline-dialog .sample-next-step br { display: none; }
.sample-timeline-dialog .sample-timeline {
  list-style: none;
  margin-inline: 5px 0;
  padding-inline-start: 16px;
  border-inline-start: 1px solid #596b92;
}
.sample-timeline-dialog .sample-timeline li {
  position: relative;
  padding-block: 0 12px;
}
.sample-timeline-dialog .sample-timeline li::before {
  content: "";
  position: absolute;
  inset-inline-start: -20px;
  top: .55em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #a69cff;
}

.sample-timeline-dialog .sample-route-card {
  display:grid;
  gap:4px;
  padding:14px;
  border-radius:10px;
  background:#182746;
}
.sample-timeline-dialog .sample-route-card strong {font-size:20px}
.sample-timeline-dialog .sample-route-card span {color:#c5cee4;font-size:13px}
.sample-timeline-dialog .sample-timeline li {
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:3px 10px;
  margin-bottom:8px;
  padding:10px;
  border-radius:8px;
  background:#18243e;
}
.sample-timeline-dialog .sample-stage-number {
  grid-row:span 2;
  color:#c5baff;
  font-weight:700;
}
.sample-timeline-dialog .sample-timeline li > span:last-child {grid-column:2;color:#c5cee4}

/* Steady desktop navigation (2026-11-03). The full bar now stays until 1041px instead of collapsing at 1180px,
   with the wordmark easing down instead of items jumping, and the Sign in slot is reserved while the account
   status loads so nothing slides sideways after the page appears. At 1040px and below the menu button takes over. */
@media(min-width:1041px){
 html body .board .topnav #acct-link[hidden]{display:inline-block!important;visibility:hidden}
 html body .board .topnav .navlink,html body .board .topnav .nav-tools>summary,html body .board .topnav .nav-start,html body .board .topnav .lang-control{flex:none;white-space:nowrap}
}
@media(min-width:1041px) and (max-width:1180px){
 html body .board>.topnav.wrap{flex-wrap:nowrap!important;gap:8px!important}
 html body .board .topnav > .nav-menu{display:none!important}
 html body .board .topnav .nav-sheet,html body .board .topnav .nav-sheet:not(.is-open){display:contents!important}
 html body .board .topnav .nav-start{display:inline-flex!important;order:2;margin:0}
 html body .board .topnav > .lang-control{order:3}
 html body .board .topnav .brand-wordmark{max-width:clamp(196px,21vw,250px)}
 html body .board .topnav .nav-sheet .navlink,html body .board .topnav .nav-sheet .nav-tools>summary{display:inline-block;width:auto;min-height:0;text-align:start;padding:10px 10px!important}
 html body .board .topnav .nav-sheet .nav-tools-list{padding:8px}
 html body .board .topnav .nav-sheet .nav-tools-list .navlink{display:block}
}

/* Route request sent: a clear "Check your inbox" panel replaces the form (routes.js sentPanel). */
#coverage .route-sent{margin:16px 0;padding:20px 22px;background:#1b2a4d;border:1px solid #8f88f0;border-left:4px solid #71d6e6;border-radius:16px}
#coverage .route-sent h3{margin:0 0 8px;font-size:1.25rem;color:#f5f7ff}
#coverage .route-sent h3:focus{outline:none}
#coverage .route-sent p{margin:0 0 10px;color:#d7def0;line-height:1.6}
#coverage .route-sent strong{color:#fff;overflow-wrap:anywhere}
#coverage .route-sent .route-link-button{background:none;border:0;padding:6px 0;color:#c9c3ff;text-decoration:underline;font:inherit;cursor:pointer}
