/* Shared mobile navigation for secondary pages */
.subpage-menu-toggle{display:none}

@media(max-width:980px){
  body.subpage-menu-open{
    overflow:hidden!important;
  }

  .trips-header,
  .map-header,
  .calendar-header{
    z-index:1301!important;
    grid-template-columns:1fr auto!important;
  }

  .trips-header__label,
  .back-link,
  .map-header__label,
  .map-header__nav,
  .calendar-header__label,
  .calendar-header__nav{
    display:none!important;
  }

  .subpage-menu-toggle{
    position:relative;
    z-index:2;
    justify-self:end;
    display:grid;
    place-content:center;
    gap:6px;
    width:44px;
    height:44px;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    color:var(--paper);
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }

  .subpage-menu-toggle span{
    display:block;
    width:20px;
    height:1px;
    background:currentColor;
    transform-origin:center;
    transition:transform .25s ease,width .25s ease,opacity .2s ease;
  }

  .subpage-menu-toggle span:last-child{
    width:13px;
    justify-self:end;
  }

  body.subpage-menu-open .subpage-menu-toggle span:first-child{
    width:20px;
    transform:translateY(3.5px) rotate(45deg);
  }

  body.subpage-menu-open .subpage-menu-toggle span:last-child{
    width:20px;
    transform:translateY(-3.5px) rotate(-45deg);
  }

  body.subpage-menu-open .brand{
    opacity:.42;
    pointer-events:none;
  }

  .subpage-mobile-menu{
    position:fixed;
    inset:0;
    z-index:1300;
    display:flex;
    flex-direction:column;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:
      max(104px,calc(env(safe-area-inset-top) + 88px))
      max(22px,env(safe-area-inset-right))
      max(44px,calc(env(safe-area-inset-bottom) + 28px))
      max(22px,env(safe-area-inset-left));
    background:
      radial-gradient(circle at 88% 14%,rgba(207,95,68,.16),transparent 27%),
      radial-gradient(circle at 8% 88%,rgba(231,224,212,.045),transparent 26%),
      linear-gradient(180deg,#0a0908 0%,#090807 100%);
    color:var(--paper);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:opacity .22s ease,transform .26s cubic-bezier(.2,.75,.2,1),visibility .22s;
  }

  .subpage-mobile-menu[aria-hidden="false"]{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

  .subpage-mobile-menu__inner{
    width:min(100%,720px);
    margin:auto;
  }

  .subpage-mobile-menu__eyebrow{
    margin:0 0 20px;
    padding-bottom:14px;
    border-bottom:1px solid rgba(231,224,212,.12);
    color:rgba(231,224,212,.46);
    font:500 8px/1 var(--mono);
    letter-spacing:.17em;
    text-transform:uppercase;
  }

  .subpage-mobile-menu__links{
    display:grid;
  }

  .subpage-mobile-menu__links a{
    display:grid;
    grid-template-columns:38px minmax(0,1fr) 24px;
    align-items:center;
    min-height:72px;
    border-bottom:1px solid rgba(231,224,212,.10);
    color:var(--paper);
    text-decoration:none;
    font:400 clamp(30px,8.6vw,46px)/1 var(--sans);
    letter-spacing:-.045em;
    -webkit-tap-highlight-color:transparent;
  }

  .subpage-mobile-menu__links a small{
    color:var(--accent);
    font:500 8px/1 var(--mono);
    letter-spacing:.08em;
  }

  .subpage-mobile-menu__links a[aria-current="page"]{
    color:var(--accent-soft);
  }

  .subpage-mobile-menu__links a[aria-current="page"] small{
    color:var(--paper);
  }

  .subpage-mobile-menu__arrow{
    justify-self:end;
    color:rgba(231,224,212,.34);
    font:300 20px/1 var(--sans);
    transition:transform .2s ease,color .2s ease;
  }

  .subpage-mobile-menu__links a:active,
  .subpage-mobile-menu__links a:focus-visible{
    color:var(--accent-soft);
    outline:none;
  }

  .subpage-mobile-menu__links a:active .subpage-mobile-menu__arrow,
  .subpage-mobile-menu__links a:focus-visible .subpage-mobile-menu__arrow{
    color:var(--accent);
    transform:translateX(3px);
  }

  .subpage-mobile-menu__footer{
    margin:24px 0 0;
    color:rgba(231,224,212,.30);
    font:500 8px/1.5 var(--mono);
    letter-spacing:.14em;
    text-transform:uppercase;
  }
}

@media(max-width:560px){
  .subpage-mobile-menu{
    padding-left:20px;
    padding-right:20px;
  }

  .subpage-mobile-menu__links a{
    min-height:66px;
    grid-template-columns:34px minmax(0,1fr) 22px;
    font-size:clamp(28px,9.4vw,39px);
  }
}

@media(max-width:980px) and (max-height:560px){
  .subpage-mobile-menu{
    justify-content:flex-start;
    padding-top:max(80px,calc(env(safe-area-inset-top) + 72px));
    padding-bottom:max(24px,env(safe-area-inset-bottom));
  }

  .subpage-mobile-menu__inner{margin:0 auto}
  .subpage-mobile-menu__eyebrow{margin-bottom:10px}

  .subpage-mobile-menu__links a{
    min-height:52px;
    font-size:clamp(25px,6.8vw,34px);
  }

  .subpage-mobile-menu__footer{margin-top:14px}
}

@media(prefers-reduced-motion:reduce){
  .subpage-mobile-menu,
  .subpage-mobile-menu__links a,
  .subpage-menu-toggle span{
    transition:none!important;
  }
}