.project-navigation { position: relative; }
.project-navigation summary { cursor: pointer; font-size: 18px; font-weight: 600; color: #111; list-style: none; }
.project-navigation summary::-webkit-details-marker { display: none; }
.project-navigation summary::after { content: ' ▾'; font-size: 12px; }
.project-navigation summary:focus-visible { outline: 2px solid #317cc1; outline-offset: 5px; }
/* Desktop list items span the 92px header. Match the adjacent links' center
   instead of allowing the summary block to start at the top of that item. */
nav.gnb .project-navigation { height: 100%; }
nav.gnb .project-navigation summary { height: 100%; display: flex; align-items: center; line-height: 26px; }
nav.gnb .project-navigation summary::after { margin-left: 4px; }
.project-navigation [data-project-menu] {
    position: absolute; top: 100%; left: 0; z-index: 1100;
    min-width: 240px; max-width: 340px; max-height: 60vh; overflow-y: auto;
    background: #fff; border: 1px solid #dfdfdf; border-radius: 6px;
    box-shadow: 0 4px 12px #0002; padding: 8px 0; line-height: 1.5;
}
.project-navigation [data-project-menu] li { display: block; }
.project-navigation [data-project-menu] a { display: block; padding: 12px 16px; white-space: normal; overflow-wrap: anywhere; font-size: 16px; }
.project-navigation [data-project-menu] a:hover,
.project-navigation [data-project-menu] a:focus-visible,
.project-navigation [data-project-menu] a[aria-current] { background: #e7f1ff; color: #236cb0; }
.mobile_gnb .project-navigation [data-project-menu] { position: static; min-width: 0; max-width: none; box-shadow: none; }
.mobile_gnb .project-navigation summary { padding: 12px 0; color: #fff; font-size: 24px; font-weight: 500; line-height: 32px; }
#dashboard-project-context { margin-bottom: 20px; font-size: 18px; font-weight: 600; }
