/* Institutional masthead and footer; use the shared dark/light palette. */
.project-masthead { display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:1.3rem; }
.project-brand { display:flex;align-items:center;gap:1rem;color:var(--text);text-decoration:none;min-width:0; }
.project-brand img { width:80px;height:80px;padding:4px;object-fit:contain;background:#000;border:1px solid var(--line);border-radius:8px;flex-shrink:0; }
.project-brand strong { display:block;font-size:1.2rem;line-height:1.4;letter-spacing:.045em; }
.brand-purpose { display:block;color:var(--muted);font-size:.9375rem;line-height:1.7;margin-top:.35rem; }
.masthead-institution { max-width:30rem;text-align:right;border-left:1px solid var(--line);padding-left:1.5rem; }
.masthead-institution span { display:block;font-size:1rem;font-weight:600; }
.masthead-institution small { display:block;color:var(--muted);margin-top:.35rem;line-height:1.7; }
.site-navigation { border-top:1px solid var(--line);background:var(--bg); }
.navigation-row { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.55rem; }
.project-navigation,.account-navigation { display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;min-width:0; }
.project-navigation a { display:inline-flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:none;padding:.5rem .25rem;border-bottom:3px solid transparent; }
.project-navigation a:hover { color:var(--text); }
.external-link-mark { font-size:.875rem;margin-left:.35rem; }
.project-navigation a[aria-current=page] { color:var(--text);border-color:var(--brand-red);font-weight:650; }
.account-navigation { justify-content:flex-end; }
.account-navigation .theme-toggle { font-weight:400; }
.account-navigation .account-email { max-width:20rem; }
.project-footer { margin-top:4rem;background:var(--surface);border-top:1px solid var(--control-line);color:var(--muted); }
.footer-grid { display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.1fr) minmax(0,.9fr);gap:3rem;padding-block:2.5rem; }
.footer-grid section { min-width:0; }
.footer-brand { display:flex;align-items:center;gap:.85rem;margin-bottom:1rem; }
.footer-brand img { width:64px;height:64px;background:#000;object-fit:contain;padding:3px;border:1px solid var(--line);border-radius:6px;flex-shrink:0; }
.footer-grid h2 { color:var(--text);font-size:1rem;line-height:1.6;margin-bottom:1rem; }
.footer-brand h2 { letter-spacing:.035em;margin:0 0 .2rem; }
.footer-brand span { font-size:.875rem; }
.footer-grid h3 { font-size:.9375rem;color:var(--text);margin:1.35rem 0 .65rem; }
.footer-grid p,.footer-grid li,.footer-grid a { font-size:.9375rem;line-height:1.85; }
.footer-grid p { margin:.6rem 0 1rem; }
.footer-grid ul { list-style:none;padding:0;margin:0; }
.footer-grid li+li { margin-top:.8rem; }
.footer-grid a { overflow-wrap:anywhere;text-underline-offset:.25em; }
.footer-institutions a { color:var(--muted);text-decoration:none; }
.footer-institutions a:hover { color:var(--text);text-decoration:underline; }
.footer-utility { display:flex;align-items:flex-start;gap:.5rem 2rem;border-top:1px solid var(--line);padding-block:.75rem; }
.footer-utility-label { flex-shrink:0;display:flex;align-items:center;min-height:44px;color:var(--text);font-size:.875rem;font-weight:650; }
.footer-navigation { display:flex;align-items:center;flex-wrap:wrap;gap:0 1.5rem;min-width:0; }
.footer-navigation a { display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font-size:.9375rem;line-height:1.6;text-decoration:none;text-underline-offset:.25em;padding:.4rem 0; }
.footer-navigation a:hover { color:var(--text);text-decoration:underline; }
.footer-navigation a[aria-current=page] { color:var(--text);font-weight:650; }
.footer-navigation a:focus-visible { outline:2px solid var(--focus);outline-offset:4px;border-radius:3px; }
.footer-contact p { margin-bottom:.2rem; }
.footer-email { display:inline-block;min-height:44px;padding-block:.3rem; }
.footer-contact .footer-social-label { margin-top:1.2rem; }
.footer-facebook { display:inline-block;min-height:44px;padding-block:.3rem; }
.project-contact-details .contact-role{font-size:.9375rem;color:var(--muted);margin:.5rem 0 .25rem}
.project-contact-details .contact-person{font-size:1rem;color:var(--text);font-weight:650;margin:.25rem 0 .6rem}
.contact-methods{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:.25rem .5rem;margin:.5rem 0;align-items:center}
.contact-methods dt{color:var(--muted);font-size:.9375rem}.contact-methods dd{margin:0;min-width:0}
.contact-methods a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
.project-contact-details .contact-hours{font-size:.9375rem;color:var(--muted);margin:.7rem 0;line-height:1.8}
.footer-bottom { display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;border-top:1px solid var(--line);padding-block:1.1rem;font-size:.875rem; }
@media(max-width:1000px) {
  .project-masthead { align-items:flex-start;gap:1.5rem; }
  .masthead-institution { max-width:23rem; }
  .navigation-row { flex-wrap:wrap; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem; }
  .footer-project { grid-column:1 / -1; }
}
@media(max-width:700px) {
  .project-masthead { flex-direction:column;gap:1rem;padding-block:1rem; }
  .project-brand img { width:64px;height:64px; }
  .project-brand strong { font-size:1rem; }
  .brand-purpose { font-size:.875rem; }
  .masthead-institution { max-width:none;text-align:left;border:0;padding:.8rem 0 0;border-top:1px solid var(--line);width:100%; }
  .masthead-institution span { font-size:.9375rem; }
  .navigation-row { gap:.45rem; }
  .project-navigation,.account-navigation { width:100%;justify-content:flex-start; }
  .project-navigation { border-bottom:1px solid var(--line);padding-bottom:.3rem; }
  .account-navigation { padding-top:.3rem; }
  .account-navigation .account-email { max-width:100%; }
  .footer-grid { grid-template-columns:1fr;gap:1.75rem;padding-block:2rem; }
  .footer-project { grid-column:auto; }
  .footer-grid section+section { border-top:1px solid var(--line);padding-top:1.5rem; }
  .footer-utility { flex-direction:column;gap:.15rem;padding-block:.75rem 1rem; }
  .footer-utility-label { min-height:32px; }
  .footer-navigation { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem 1rem;width:100%; }
  .footer-navigation a { min-width:0;overflow-wrap:anywhere; }
  .footer-bottom { flex-direction:column; }
}
/* Public page hierarchy also supplies the visible search breadcrumb labels. */
.site-breadcrumbs{margin-bottom:1.25rem;color:var(--muted);font-size:.9rem}.site-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}.site-breadcrumbs li{display:flex;align-items:center;gap:.5rem}.site-breadcrumbs li+li::before{content:'/';color:var(--muted)}.site-breadcrumbs a{color:var(--link);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.site-breadcrumbs li>span{min-height:44px;display:inline-flex;align-items:center}.site-breadcrumbs a:hover{text-decoration:underline}.site-breadcrumbs a:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
