/* Device refinements verified at phone, tablet and desktop viewport sizes. */
html{scrollbar-gutter:stable}
.flight-header{padding-top:max(18px,env(safe-area-inset-top))}
.flight-status{bottom:max(19px,env(safe-area-inset-bottom))}
.chapter-content h2,.contact-panel>a{overflow-wrap:anywhere}
.contact-panel>a svg{min-width:22px}
.route-tabs button{min-height:40px}
.menu-button span{transition:transform .2s}
.menu-button[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
.menu-button[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
@media(max-width:1020px){
  .chapter-rail{width:28px;right:12px;gap:9px}
  .chapter-rail a{width:28px;height:32px;min-height:32px}
  .chapter-rail a::before{left:10px;top:11px}
  .chapter-rail::before{left:14px;top:16px;bottom:16px}
  .flight-nav a{white-space:normal;min-height:44px}
}
@media(max-width:600px){
  .flight-status{bottom:max(14px,env(safe-area-inset-bottom))}
  .flight-status>button{font-size:.625rem;min-height:36px}
  .flight-chapter:not(.exterior-chapter){padding-right:50px}
  .chapter-content>p:not(.overline){font-size:.9375rem;line-height:1.75}
  .route-fineprint,.booking-note,.service-tile small{font-size:.75rem}
  .route-tabs button{font-size:.75rem}
  .chapter-rail{right:8px;gap:7px}
  .chapter-rail::before{left:13px}
  .boarding-trigger{top:min(73svh,calc(100svh - 190px))}
  .detail-dialog{overscroll-behavior:contain;scrollbar-gutter:stable}
  .detail-dialog.city-dialog{max-height:calc(72dvh - env(safe-area-inset-bottom));margin-top:22dvh}
  .journey[data-chapter="0"] .cinema-vignette{background:linear-gradient(180deg,#05121f9c 0%,#06162455 44%,transparent 66%,#030b14de 100%)}
}
@media(max-width:360px){
  .flight-header{padding-inline:16px;gap:8px}
  .flight-brand img{width:112px}
  .flight-nav{left:12px;right:12px;padding:12px}
  .flight-nav a{font-size:.875rem;padding:10px 8px}
  .chapter-content>h2{font-size:2.1rem}
  .holo-card{padding:24px 18px}
  .holo-card h2{font-size:1.95rem}
  .flight-status{left:16px;right:16px;gap:8px}
  .status-line{width:24px}
}
@media(max-width:600px) and (max-height:680px){
  .exterior-heading{padding-top:110px}
  .exterior-heading h1{font-size:2rem}
}
@media(min-width:601px) and (max-height:500px){
  .flight-header{padding-block:13px}
  .exterior-heading{padding-top:90px;max-width:600px}
  .exterior-heading h1{font-size:clamp(1.8rem,4.1vw,2.4rem);margin-block:12px}
  .exterior-heading>.overline{font-size:.5625rem}
  .exterior-heading>p:last-child{font-size:.8125rem}
  .boarding-trigger{position:relative;top:auto;left:auto;transform:none;margin:16px auto 80px;gap:5px}
  .boarding-icon{width:44px;height:44px;font-size:21px}
  .boarding-trigger small{display:none}
  .boarding-trigger>span:not(.boarding-icon){font-size:.6875rem}
  .chapter-rail{gap:0}
  .chapter-rail a{height:28px;min-height:28px}
  .chapter-content.is-tall{padding-top:100px}
}

/* Keep the aircraft clear of the heading, with the same photograph filling the sky. */
.scene-photo[data-frame="hero-aircraft"]{
  inset:0;background-size:0 0;background-repeat:no-repeat;background-color:#203b51;
  transform:none;animation:none;
}
.scene-photo[data-frame="hero-aircraft"]::before,
.scene-photo[data-frame="hero-aircraft"]::after{
  content:"";position:absolute;inset:0;background-image:inherit;background-repeat:no-repeat;
}
.scene-photo[data-frame="hero-aircraft"]::before{
  background-size:cover;background-position:70% center;filter:blur(34px) brightness(.7);transform:scale(1.1);
}
.scene-photo[data-frame="hero-aircraft"]::after{
  top:clamp(300px,40svh,420px);bottom:auto;aspect-ratio:1672 / 941;
  background-size:100% auto;background-position:center top;
  mask-image:linear-gradient(transparent,#000 5%,#000 88%,transparent);
}
.contact-aircraft{display:none}
#contacts .chapter-content.right{margin-left:0;margin-right:auto;max-width:480px}
@media(max-width:1020px){
  .scene-photo[data-frame="contact-aircraft"]{filter:blur(24px) brightness(.7);transform:scale(1.07);animation:none}
  .contact-aircraft{
    display:block;width:100%;height:clamp(160px,27vw,250px);margin-bottom:28px;
    background-size:220% auto;background-position:70% 52%;background-repeat:no-repeat;
    mask-image:linear-gradient(transparent,#000 15%,#000 85%,transparent);
  }
  #contacts .chapter-content.right{max-width:600px}
}
@media(max-width:1020px) and (orientation:portrait){
  .scene-photo[data-frame="hero-aircraft"]::after{
    top:clamp(300px,52svh,420px);aspect-ratio:1.145 / 1;
    background-size:155% auto;background-position:right top;
  }
  .journey[data-chapter="0"][data-photo-frame="hero-aircraft"] .boarding-trigger{
    top:max(min(73svh,calc(100svh - 190px)),calc(clamp(300px,52svh,420px) + 29vw + 20px));
  }
}
@media(max-width:600px) and (max-height:680px){
  .journey[data-chapter="0"][data-photo-frame="hero-aircraft"] .exterior-heading{padding-top:95px}
  .journey[data-chapter="0"][data-photo-frame="hero-aircraft"] .exterior-heading h1{font-size:1.85rem}
  .journey[data-chapter="0"][data-photo-frame="hero-aircraft"] .boarding-trigger small{display:none}
}
@media(min-width:601px) and (max-height:500px){
  .scene-photo[data-frame="hero-aircraft"]::after{top:clamp(200px,52svh,240px)}
  .journey[data-chapter="0"][data-photo-frame="hero-aircraft"] .boarding-trigger{width:220px;margin-left:5vw;margin-right:0}
}
