/* Shared navigation: click/tap disclosure panels with native keyboard support. */
#mainNav .logo { flex-shrink: 0; }
#mainNav .logo .navbar-brand { display: flex; align-items: center; height: 64px; overflow: hidden; }
#mainNav .logo .navbar-brand > img.img-fluid[src$="/images/logo.png"] { width: 180px !important; height: auto !important; max-width: none !important; }
@media (min-width: 768px) { #mainNav .logo .navbar-brand { height: 80px; } }
@media (max-width: 1023px) { #mainNav .logo .navbar-brand > img.img-fluid[src$="/images/logo.png"] { width: 160px !important; } }
#mainNav .hidden.md\:flex.items-center.gap-8 { gap: 1rem; }
#mainNav .site-nav-top { white-space: nowrap; font-size: .84rem; }
.site-nav-group { position: relative; }
.site-nav-toggle { display: flex; align-items: center; gap: .4rem; cursor: pointer; list-style: none; }
.site-nav-toggle::-webkit-details-marker { display: none; }
.site-nav-toggle::marker { content: ''; }
.site-nav-chevron { flex: none; transition: transform .15s ease; }
.site-nav-group[open] > .site-nav-toggle .site-nav-chevron { transform: rotate(180deg); }
#mainNav .site-nav-panel {
  position: absolute; inset-inline-start: 0; top: calc(100% + 1.1rem);
  min-width: 17rem; padding: .6rem; border: 1px solid #e4e9f1;
  border-radius: 1rem; background: #fff; color: #172033;
  box-shadow: 0 20px 55px -15px rgb(15 23 42 / .23); text-align: start;
}
.site-nav-panel .site-nav-item, .site-nav-pending {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .7rem .8rem; font-size: .875rem; line-height: 1.4; border-radius: .6rem;
  color: #334155; white-space: nowrap;
}
.site-nav-panel .site-nav-item:hover, .site-nav-panel .site-nav-item:focus-visible { background: #eff6ff; color: #1d4ed8; }
.site-nav-pending { color: #475569; }
.site-nav-pending small { padding: .2rem .45rem; border-radius: 2rem; background: #f1f5f9; color: #64748b; font-size: .68rem; }
#mainNav .site-nav-top[aria-current="page"], #mainNav .site-nav-active > summary { color: #2563eb; }
#mainNav:not(.shadow-lg) .site-nav-active > summary { color: #93c5fd; }
.site-nav-panel .site-nav-item[aria-current="page"] { color: #1d4ed8; background: #eff6ff; }
.site-nav-toggle:focus-visible, .site-nav-top:focus-visible, .site-nav-item:focus-visible, .site-nav-contact:focus-visible { outline: 2px solid #60a5fa; outline-offset: 4px; }
#mobileMenu[inert] { visibility: hidden; }
@media (min-width: 1440px) {
  #mobileMenu { display: none !important; }
  #mainNav .site-nav-group[data-nav-group="other"] .site-nav-panel { inset-inline-start: auto; inset-inline-end: 0; }
}
@media (max-width: 1439px) {
  #mobileMenu { border-bottom: 1px solid #e2e8f0; box-shadow: 0 15px 30px -20px rgb(15 23 42 / .35); overscroll-behavior: contain; }
  #mobileMenu .site-nav-top { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: .85rem 0 !important; border-bottom: 1px solid #e8edf4; font-family: inherit; font-size: .95rem !important; font-weight: 600; line-height: 1.5; color: #334155 !important; text-align: start !important; }
  #mobileMenu .site-nav-active > summary, #mobileMenu .site-nav-top[aria-current="page"] { color: #1d4ed8 !important; }
  #mobileMenu .site-nav-panel { padding: .35rem 0 .55rem; }
  #mobileMenu .site-nav-panel .site-nav-item, #mobileMenu .site-nav-pending { width: 100%; padding: .65rem .8rem !important; border: 0; font-size: .875rem !important; font-family: inherit; font-weight: 400; line-height: 1.5; text-align: start !important; white-space: normal; color: #475569 !important; }
  #mobileMenu .site-nav-panel .site-nav-item[aria-current="page"] { color: #1d4ed8 !important; }
  #mobileMenu .site-nav-contact { display: block; width: 100%; margin-top: .8rem; padding: .7rem 1rem !important; border: 0; border-radius: 2rem; background: #2563eb !important; color: #fff !important; font-size: .95rem !important; font-weight: 600; text-align: center !important; }
}
#research-publications { scroll-margin-top: 110px; }
.site-research-card { display: grid; grid-template-columns: 100px 1fr; gap: 1.75rem; padding: 2rem; border: 1px solid #dbe5f1; border-radius: 1.25rem; background: linear-gradient(115deg, #f0f6ff, #fff 65%); }
.site-research-year { align-self: start; padding: 1.2rem .6rem; border-radius: 1rem; background: #14233d; color: #fff; font-size: 1.7rem; font-weight: 700; text-align: center; }
.site-research-year span { display: block; margin-top: .2rem; color: #b7d1fa; font-size: .8rem; letter-spacing: .12em; }
.site-research-card h3 { margin: .6rem 0; font-size: 1.3rem; font-weight: 650; line-height: 1.5; text-align: start; }
.site-research-card p { margin: .7rem 0; color: #475569; line-height: 1.7; }
.site-research-card .site-research-source { font-size: .8rem; color: #64748b; }
.site-research-card a { display: inline-block; margin-top: .4rem; color: #1d4ed8; font-size: .9rem; font-weight: 600; }
.site-research-card a:hover { text-decoration: underline; }
@media (max-width: 600px) { .site-research-card { grid-template-columns: 1fr; gap: 1rem; padding: 1.3rem; } .site-research-year { justify-self: start; padding: .6rem 1rem; font-size: 1.3rem; } }
@media (prefers-reduced-motion: reduce) { .site-nav-chevron { transition: none; } }
