/* Mobile navigation — deep navy theme (original look, no clipping) */

.nav-legal { display: none; }

@media (max-width: 1050px) {
  .site-nav { position: relative; }

  .menu-toggle {
    display: grid;
    place-items: center;
    position: relative;
    z-index: 12;
  }

  body.mobile-menu-open {
    overflow: hidden;
  }

  .menu-toggle[aria-expanded="true"] {
    position: fixed;
    z-index: 1201;
    top: calc(var(--menu-panel-top, 5.4rem) + .65rem);
    right: calc(max(1rem, env(safe-area-inset-right, 0px)) + .65rem);
    width: 3rem;
    height: 3rem;
    padding: 0;
    margin: 0;
    border-radius: .875rem;
    border: 1px solid var(--border, #3b4d63);
    background: var(--surface, #2b3a4e);
    color: var(--text, #ffffff);
    font-size: 1.5rem;
    line-height: 1;
    box-shadow: var(--shadow-lg, 0 12px 38px rgba(17, 24, 39, .44));
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .nav-links {
    display: none;
    background: var(--surface, #2b3a4e);
    border: 1px solid var(--border, #3b4d63);
    border-radius: var(--radius-lg, 1.375rem);
    box-shadow: var(--shadow-lg, 0 12px 38px rgba(17, 24, 39, .44));
    flex-direction: column;
    align-items: stretch;
    gap: .2rem;
  }

  .nav-links.open {
    display: flex;
    position: fixed;
    z-index: 1200;
    left: max(1rem, env(safe-area-inset-left, 0px));
    right: max(1rem, env(safe-area-inset-right, 0px));
    top: var(--menu-panel-top, 5.4rem);
    max-height: calc(100vh - var(--menu-panel-top, 5.4rem) - env(safe-area-inset-bottom, 0px) - 1.5rem);
    max-height: calc(100dvh - var(--menu-panel-top, 5.4rem) - env(safe-area-inset-bottom, 0px) - 1.5rem);
    padding: 4.15rem .7rem calc(.6rem + env(safe-area-inset-bottom, 0px));
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }

  .nav-links a {
    padding: .7rem .85rem;
    font-size: 1.05rem;
    line-height: 1.25;
    border-radius: .65rem;
    border-bottom: none;
    color: var(--text-secondary, #d1d5db);
    transition: background .24s ease, color .24s ease;
    flex-shrink: 0;
  }

  .nav-links a:hover {
    background: var(--surface-hover, #324357);
    color: var(--text, #ffffff);
    border-color: transparent;
  }

  .nav-legal { display: contents; }

  .nav-legal a:first-child {
    margin-top: .4rem;
    border-top: 1px solid var(--border, #3b4d63);
    padding-top: .8rem;
  }

  .nav-legal a { color: var(--text-muted, #9ca3af); }
}

@media (max-width: 767px) {
  .nav-links.open {
    padding-top: 3.35rem;
  }

  .to-top {
    width: 3.5rem;
    height: 3.5rem;
    right: calc(1.125rem + env(safe-area-inset-right, 0px));
    bottom: calc(1.125rem + env(safe-area-inset-bottom, 0px));
    box-shadow: var(--shadow-lg);
  }

  .to-top.over-content {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}