/* The slim header and the footer shared by DNEP's public pages (For schools, Pricing, the legal pages): 10 Nov 2026.
 * Linked after each page's own styles, so these rules win. The front page has its own, fuller header (front-page.html). */
.sh { position: sticky; top: 0; z-index: 50; background: #ffffff; border-bottom: 1px solid #E3DFD0; }
.sh .sh-in { max-width: 1200px; margin: 0 auto; padding: 10px 24px; display: flex; align-items: center; justify-content: flex-start; gap: 20px; }
.sh .sh-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; color: #1D2B22; font: 600 17px/1.2 "IBM Plex Sans", "Segoe UI", system-ui, sans-serif; white-space: nowrap; }
.sh .sh-logo img { height: 44px; width: auto; display: block; border-radius: 0; }
.sh .sh-nav { display: flex; gap: 22px; font-size: 15px; }
.sh .sh-nav a { color: #2C3A31; font-weight: 500; text-decoration: none; white-space: nowrap; }
.sh .sh-nav a:hover { color: #1E4D3B; }
.sh .sh-nav a[aria-current="page"] { color: #1E4D3B; font-weight: 600; box-shadow: inset 0 -2px 0 #E0B23E; }
.sh .sh-btn { padding: 10px 16px; border-radius: 8px; border: 1.5px solid #1E4D3B; background: #1E4D3B; color: #ffffff; font-weight: 600; font-size: 15px; text-decoration: none; white-space: nowrap; }
.sh .sh-btn.line { background: #ffffff; color: #1E4D3B; margin-left: auto; }
.sh .sh-btn.only { margin-left: auto; }
.sh a:focus-visible, .sf a:focus-visible { outline: 3px solid #E0B23E; outline-offset: 2px; }
.sf { border-top: 1px solid #E3DFD0; color: #5A6B5F; font-size: 14px; text-align: center; padding: 24px 16px; line-height: 2; }
.sf a { color: #1E4D3B; white-space: nowrap; }
@media (max-width: 700px) {
  .sh .sh-in { padding: 8px 16px; gap: 10px; }
  .sh .sh-nav, .sh .sh-logo span { display: none; }
  .sh .sh-logo img { height: 38px; }
  .sh .sh-btn { padding: 8px 10px; font-size: 14px; }
}
