/* Shared header and footer. The markup is plain HTML in every page;
   these rules are scoped by id so they sit safely on pages with their own styles. */
#psp-nav { background: #fff; border-bottom: 1px solid #e5e7eb; position: relative; z-index: 50;
  font-family: "Manrope", system-ui, -apple-system, "Segoe UI", Arial, sans-serif; }
#psp-nav .psp-nav-inner { max-width: 1100px; margin: 0 auto; padding: 0 20px; height: 64px;
  display: flex; align-items: center; justify-content: space-between; }
#psp-nav a { color: #111827; text-decoration: none; }
#psp-nav .psp-logo { font-size: 19px; font-weight: 800; letter-spacing: -0.01em; }
#psp-nav .psp-links { display: flex; flex-direction: row; align-items: center; gap: 28px; list-style: none; margin: 0; padding: 0; }
#psp-nav .psp-links > li > a, #psp-nav summary { font-size: 16px; font-weight: 600; color: #111827; cursor: pointer; }
#psp-nav .psp-links a:hover, #psp-nav summary:hover { color: #1d4ed8; }
#psp-nav details { position: relative; }
#psp-nav summary { list-style: none; }
#psp-nav summary::-webkit-details-marker { display: none; }
#psp-nav summary::after { content: " \25BE"; font-size: 12px; }
#psp-nav .psp-tools-menu { display: block; position: absolute; top: 34px; left: -16px; min-width: 210px; list-style: none;
  margin: 0; padding: 8px 0; background: #fff; border: 1px solid #e5e7eb; border-radius: 10px; }
#psp-nav .psp-tools-menu a { display: block; padding: 8px 16px; font-weight: 600; }
#psp-nav .psp-toggle { display: none; background: #fff; border: 1px solid #111827; border-radius: 8px;
  padding: 8px 14px; font: inherit; font-weight: 700; color: #111827; cursor: pointer; }
#psp-nav .psp-mobile { border-top: 1px solid #e5e7eb; padding: 8px 20px 16px; }
#psp-nav .psp-mobile ul { display: block; list-style: none; margin: 0; padding: 0; }
#psp-nav li { font-size: 16px; line-height: 1.5; color: #111827; }
#psp-nav .psp-mobile a { display: block; padding: 10px 0; font-size: 17px; font-weight: 600; }
#psp-nav .psp-mobile-label { margin: 8px 0 0; font-size: 13px; font-weight: 700; color: #4b5563;
  text-transform: uppercase; letter-spacing: 0.06em; }
@media (max-width: 760px) {
  #psp-nav .psp-links { display: none; }
  #psp-nav .psp-toggle { display: inline-block; }
}
@media (min-width: 761px) { #psp-nav .psp-mobile { display: none !important; } }

#psp-footer { background: #fff; border-top: 1px solid #e5e7eb; margin-top: 56px; color: #111827;
  font-family: "Manrope", system-ui, -apple-system, "Segoe UI", Arial, sans-serif; font-size: 15px; }
#psp-footer .psp-footer-inner { max-width: 1100px; margin: 0 auto; padding: 40px 20px 8px;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
#psp-footer .psp-footer-head { font-weight: 800; margin: 0 0 8px; font-size: 15px; color: #111827; }
#psp-footer ul { list-style: none; margin: 0; padding: 0; display: block; }
#psp-footer li { margin-bottom: 6px; font-size: 15px; color: #374151; }
#psp-footer a { color: #374151; text-decoration: none; }
#psp-footer a:hover { color: #1d4ed8; text-decoration: underline; }
#psp-footer .psp-copy { max-width: 1100px; margin: 0 auto; padding: 16px 20px 32px; color: #4b5563; font-size: 15px; }
@media (max-width: 760px) { #psp-footer .psp-footer-inner { grid-template-columns: 1fr; } }
