/* Mobile website navigation, release 1.3.1. */
.website .hero-shell.action-hero { border-radius: 0; }
.mobile-contact { display: none; }

@media (max-width: 800px) {
  html {
    scroll-padding-top: calc(96px + env(safe-area-inset-top, 0px));
    scroll-padding-bottom: calc(var(--mobile-contact-height, 76px + env(safe-area-inset-bottom, 0px)) + 16px);
  }
  .website {
    padding-bottom: var(--mobile-contact-height, calc(76px + env(safe-area-inset-bottom, 0px)));
  }
  .website .site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    height: calc(80px + env(safe-area-inset-top, 0px));
    padding-top: env(safe-area-inset-top, 0px);
    box-shadow: 0 4px 20px #08192918;
  }
  .website .header-inner {
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
  }
  .website .menu-toggle { flex-shrink: 0; }
  .website .site-header nav {
    top: 100%;
    max-height: calc(100vh - 80px - env(safe-area-inset-top, 0px) - var(--mobile-contact-height, 76px + env(safe-area-inset-bottom, 0px)));
    max-height: calc(100dvh - 80px - env(safe-area-inset-top, 0px) - var(--mobile-contact-height, 76px + env(safe-area-inset-bottom, 0px)));
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .website .site-header nav > a:not(.button) {
    display: flex;
    align-items: center;
    min-height: 44px;
  }
  .mobile-contact {
    position: fixed;
    z-index: 60;
    bottom: 0;
    left: 0;
    right: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 11px max(16px, env(safe-area-inset-right, 0px)) calc(12px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
    border-top: 1px solid #ffffff26;
    background: var(--navy);
    box-shadow: 0 -6px 26px #08192926;
  }
  .mobile-contact-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 52px;
    min-width: 0;
    padding: 12px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.4;
    text-align: center;
  }
  .mobile-contact-link span { min-width: 0; overflow-wrap: anywhere; }
  .mobile-contact-link svg { width: 21px; height: 21px; flex-shrink: 0; }
  .mobile-contact-inquiry { color: var(--navy); background: var(--accent); }
  .mobile-contact-call { color: var(--paper); border-color: #ffffff60; background: var(--navy-raised); }
  .mobile-contact-inquiry:hover { background: var(--paper); }
  .mobile-contact-call:hover { border-color: var(--accent); color: var(--accent); }
  .mobile-contact-link:focus-visible { outline: 3px solid var(--paper); outline-offset: 3px; }
}

@media print {
  .mobile-contact { display: none; }
  .website { padding-bottom: 0; }
  .website .site-header { position: static; }
}
