/* marshall.net — one header nav for every page (2026-10-09). Self-contained: scoped to nav.mn-nav so page CSS does not leak in. */
nav.mn-nav { display:block; position:relative; z-index:50; margin:0; padding:0; border:0; border-bottom:1px solid #cfd4dc; background:#E6EDF4; font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-size:16px; line-height:1.3; text-align:left; }
nav.mn-nav .mn-nav__inner { max-width:1080px; margin:0 auto; padding:.25rem clamp(1rem,3.5vw,1.75rem); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:0 1rem; }
nav.mn-nav a.mn-nav__brand { display:inline-flex; align-items:center; gap:.6rem; min-height:48px; margin:0; padding:0; color:#0B1F3A; text-decoration:none; font-weight:700; font-size:1rem; letter-spacing:-.01em; }
nav.mn-nav a.mn-nav__brand img { display:block; width:32px; height:32px; margin:0; border-radius:6px; }
nav.mn-nav ul.mn-nav__links { list-style:none; margin:0 0 0 -.55rem; padding:0; display:flex; flex-wrap:wrap; align-items:center; gap:0; }
nav.mn-nav ul.mn-nav__links li { margin:0; padding:0; list-style:none; }
nav.mn-nav ul.mn-nav__links li::before, nav.mn-nav ul.mn-nav__links li::marker { content:none; }
nav.mn-nav ul.mn-nav__links a { display:inline-flex; align-items:center; min-height:48px; min-width:48px; margin:0; padding:0 .55rem; border-radius:8px; color:#3a4556; text-decoration:none; font-size:.9rem; font-weight:600; }
nav.mn-nav ul.mn-nav__links a:hover { color:#1d4ed8; background:rgba(46,107,255,.08); }
nav.mn-nav ul.mn-nav__links a[aria-current="page"] { color:#0B1F3A; text-decoration:underline; text-underline-offset:4px; }
nav.mn-nav a:focus-visible { outline:3px solid #2E6BFF; outline-offset:2px; }
@media (min-width:768px) { nav.mn-nav ul.mn-nav__links { margin:0 -.55rem 0 0; } }

/* 2026-10-09 follow-up: phone spacing so the five links sit on one row (header stays ~100px, not ~150px). */
@media (max-width:767px) { nav.mn-nav ul.mn-nav__links a { padding:0 .42rem; } nav.mn-nav ul.mn-nav__links { margin-left:-.42rem; } }
/* Home keeps its sticky header (html.mn-sticky on index.php only), as before. Anchors (#plans, #sample, #contact) and
   keyboard focus land below the bar: scroll-padding on the root replaces the old 88px .section scroll-margin. */
html.mn-sticky { scroll-padding-top: 112px; }
html.mn-sticky nav.mn-nav { position: sticky; top: 0; z-index: 50; }
html.mn-sticky .section { scroll-margin-top: 0; }
@media (min-width:768px) { html.mn-sticky { scroll-padding-top: 72px; } }
/* Footer links row (Principle, Example, Lexington, Richard, Prompts, Privacy), deduplicated per page. */
nav.mn-footlinks { display:flex; flex-wrap:wrap; justify-content:center; gap:0 .25rem; margin:1rem auto 0; padding:0; max-width:1080px; font-size:.9rem; line-height:1.3; }
nav.mn-footlinks a { display:inline-flex; align-items:center; min-height:48px; min-width:48px; padding:0 .5rem; color:inherit; text-decoration:underline; text-underline-offset:3px; }
nav.mn-footlinks a:focus-visible { outline:3px solid #2E6BFF; outline-offset:2px; }
footer.mn-footlinks-wrap { padding:1rem; border-top:1px solid #cfd4dc; margin-top:2rem; }
