.topbar .mobile-menu { display:none; }
@media(max-width:1000px){
 .topbar { position:relative; z-index:20; }
 .topbar .desktop-nav { display:none; }
 .topbar .mobile-menu { display:block; margin-left:auto; }
 .topbar .mobile-menu summary { display:flex; align-items:center; justify-content:center; gap:9px; min-width:100px; min-height:48px; padding:10px 14px; border:1px solid #E7E1F0; border-radius:12px; color:#4A2E83; background:white; font:700 16px 'DM Sans',sans-serif; cursor:pointer; list-style:none; }
 .topbar .mobile-menu summary::-webkit-details-marker { display:none; }
 .topbar .mobile-menu summary span { font-size:24px; line-height:1; }
 .topbar .mobile-menu summary:focus-visible { outline:3px solid #FFD544; outline-offset:3px; }
 .topbar .mobile-menu nav { position:absolute; top:100%; left:0; right:0; display:flex; flex-direction:column; align-items:stretch; gap:8px; padding:16px 24px 24px; background:white; border-bottom:1px solid #E7E1F0; box-shadow:0 12px 20px #17131f1a; }
 .topbar .mobile-menu:not([open]) nav { display:none; }
 .topbar .mobile-menu nav > a { display:block; min-height:48px; padding:12px 16px; text-align:left; }
}
@media(max-width:1000px){ .topbar .mobile-menu nav > .button:last-child { display:block; } }
/* Shared public header logo sizing, including narrow phone widths. */
.topbar .brand img { width:220px; height:76px; object-fit:contain; }
@media(max-width:640px){.topbar {gap:12px}.topbar .brand img {width:170px;height:64px}}
