/* Shared cellular shell for standalone public pages. Keep self-contained content styles in each HTML. */
.top-nav { background:#eceae7; border-bottom:1px solid #cfcac4; padding:0; }
.top-nav .brand-top { max-width:1152px; min-height:64px; display:flex; align-items:stretch; flex-wrap:nowrap; gap:0; }
.top-nav .brand { display:flex; align-items:center; gap:10px; padding:0 20px 0 0; color:#1b1a19; font-size:16px; font-weight:800; letter-spacing:-.025em; border-right:1px solid #cfcac4; white-space:nowrap; }
.top-nav .brand-mark { width:26px; height:26px; display:inline-flex; align-items:center; justify-content:center; flex:none; background:#2563eb; color:#fff; font:800 11px Archivo,Arial,sans-serif; }
.top-nav .brand-top::after { content:none; display:none; }
.top-nav .public-links { display:flex; align-items:stretch; flex-wrap:nowrap; gap:0; margin:0 0 0 auto; }
.top-nav .public-links a { display:flex; align-items:center; justify-content:center; flex:none; padding:0 12px; border-left:1px solid #e7e4e0; color:#6f6a64; font:600 13px Archivo,Arial,sans-serif; text-align:center; text-decoration:none; white-space:nowrap; }
.top-nav .public-links a:hover { color:#2563eb; background:#eff4ff; }
.top-nav .public-links a[aria-current="page"] { color:#2563eb; font-weight:800; border-bottom:2px solid #2563eb; }
.top-nav .public-links a:last-child { align-self:center; margin-left:8px; min-height:36px; padding:0 14px; border:0; background:#2563eb; color:#fff; font-weight:700; }
.top-nav .public-links a:last-child:hover { background:#1d4ed8; color:#fff; }
.footer { background:#eceae7; color:#6f6a64; border-top:1px solid #cfcac4; text-align:left; }
.footer .footer-heading { font-weight:800; letter-spacing:.08em; }
.footer a { color:#6f6a64; }
.footer a:hover { color:#2563eb; }
@media (max-width:800px) {
  .top-nav .brand-top { flex-wrap:wrap; }
  .top-nav .brand { width:100%; min-height:48px; border:0; border-bottom:1px solid #e7e4e0; }
  .top-nav .public-links { width:100%; flex-wrap:wrap; margin:0; }
  .top-nav .public-links a,
  .top-nav .public-links a:nth-child(n+3) { display:flex; flex:1 1 auto; min-height:36px; padding:6px 8px; font-size:12px; white-space:normal; }
  .top-nav .public-links a:last-child { margin:0; }
}
@media (max-width:430px) {
  .top-nav .public-links a,
  .top-nav .public-links a:nth-child(n+3) { display:flex; font-size:11px; }
}