/* Mobile navigation only. Native details work without JavaScript. */
@media (max-width: 1240px) {
  html body .mobile-menu > nav {
    width: min(380px, calc(100vw - 32px));
    min-width: 0;
    box-sizing: border-box;
    max-height: calc(100vh - 110px);
    max-height: calc(100dvh - 110px);
    padding: 12px;
    gap: 0;
    overscroll-behavior: contain;
    background: #fff;
    color: #071f38;
    box-shadow: 0 16px 40px #071f3826;
  }
  html body .mobile-menu-section { border-bottom: 1px solid #071f381a; }
  html body .mobile-menu-section > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 48px;
    padding: 12px;
    box-sizing: border-box;
    cursor: pointer;
    list-style: none;
    font: 650 14px/1.4 system-ui, -apple-system, "Segoe UI", sans-serif;
    color: #071f38;
    text-transform: none;
    letter-spacing: normal;
  }
  html body .mobile-menu-section > summary::marker { content: ""; }
  html body .mobile-menu-section > summary::after {
    content: "+";
    font: 400 22px/1 system-ui, sans-serif;
    color: #a83c0e;
    flex: 0 0 18px;
    text-align: center;
  }
  html body .mobile-menu-section[open] > summary { background: #f4f1ea; }
  html body .mobile-menu-section[open] > summary::after { content: "−"; }
  html body .mobile-menu-links { padding: 0 0 6px 10px; }
  html body .mobile-menu nav .mobile-menu-links > a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 12px;
    box-sizing: border-box;
    font: 500 13px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
    color: #071f38;
    letter-spacing: normal;
    text-transform: none;
    overflow-wrap: anywhere;
  }
  html body .mobile-menu nav .mobile-overview-link { color: #a83c0e; font-weight: 650; }
  html body .mobile-menu nav > a.mobile-menu-action {
    display: block;
    padding: 13px 12px;
    margin: 4px 0;
    font: 650 14px/1.4 system-ui, sans-serif;
    text-transform: none;
    letter-spacing: normal;
    color: #071f38;
    background: #f4f1ea;
    border: 0;
    border-radius: 6px;
  }
  html body .mobile-menu nav > a.mobile-menu-action[href="/contact"] { background: #f36f21; }
  html body .mobile-menu-section > summary:hover,
  html body .mobile-menu-links > a:hover { background: #f4f1ea; }
  html body .mobile-menu-section > summary:focus-visible,
  html body .mobile-menu nav a:focus-visible { outline: 2px solid #a83c0e; outline-offset: -2px; }
}
