/* Scoped footer layout. Evidence, page navigation and source colors are untouched. */
body footer.m4a-footer {
 box-sizing:border-box;display:block;position:static;max-width:1060px;width:100%;
 margin:40px auto 0;padding:24px 28px 40px;border:0;border-top:1px solid var(--m4a-rule,oklch(88% .022 292));
 background:transparent;color:var(--m4a-muted,oklch(44% .025 285));
 font:400 14px/1.6 var(--m4a-sans,"Avenir Next",Avenir,"Segoe UI",sans-serif);text-align:left;
}
body footer.m4a-footer .m4a-footer-row {display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px 32px;margin:0;padding:0;border:0;background:transparent}
body footer.m4a-footer .m4a-footer-next {flex:1 1 270px;min-width:0;margin:0;padding:0;border:0;background:transparent}
body footer.m4a-footer .m4a-footer-next>a {font-size:18px;font-weight:650;line-height:1.4;letter-spacing:normal}
body footer.m4a-footer .m4a-footer-next>p {max-width:65ch;font-size:14px;line-height:1.6;margin:0 0 6px}
body footer.m4a-footer .m4a-footer-nav {position:static;display:flex;align-items:center;flex-wrap:wrap;gap:0 20px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;font:inherit;z-index:auto}
body footer.m4a-footer a {color:var(--m4a-purple,oklch(39% .17 292));text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
body footer.m4a-footer .m4a-footer-next>a,body footer.m4a-footer .m4a-footer-nav>a {display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:6px 0;border:0;border-radius:0;background:transparent;box-shadow:none;white-space:normal}
body footer.m4a-footer .m4a-footer-nav>a {font:650 14px/1.5 var(--m4a-sans,"Avenir Next",Avenir,"Segoe UI",sans-serif)}
body footer.m4a-footer a:hover {text-decoration-thickness:2px}
body footer.m4a-footer a:focus-visible {outline:3px solid #9a4a00;outline-offset:4px}
body footer.m4a-footer .m4a-footer-credit {display:block;margin:14px 0 0;padding:0;border:0;font:inherit;color:inherit;max-width:75ch}
body footer.m4a-footer .m4a-footer-credit>img {display:inline-block;width:20px;max-width:20px;height:auto;vertical-align:middle;margin-right:6px}
body footer.m4a-footer .m4a-footer-notes {max-width:75ch;margin:0 0 20px;padding:0;border:0;background:transparent;font:inherit}
body footer.m4a-footer .m4a-footer-notes p {font:inherit;max-width:75ch;margin:0 0 10px}
body footer.m4a-footer .m4a-footer-notes :is(h1,h2,h3,h4) {font:650 18px/1.4 var(--m4a-sans,"Avenir Next",Avenir,"Segoe UI",sans-serif);letter-spacing:normal;margin:0 0 8px}
body footer.m4a-footer .m4a-footer-notes :is(div,section,aside,nav) {padding:0;margin:0;border:0;border-radius:0;box-shadow:none;background:transparent}
body footer.m4a-footer .m4a-footer-notes nav {position:static;display:block;box-shadow:none}
body footer.m4a-footer .m4a-footer-anchor {display:block;height:0}
@media(max-width:650px){
 body footer.m4a-footer {padding:20px 18px 80px;margin-top:28px}
 body footer.m4a-footer .m4a-footer-row {gap:8px}
 body footer.m4a-footer .m4a-footer-next {flex-basis:100%}
 body footer.m4a-footer .m4a-footer-nav {gap:0 18px}
 body footer.m4a-footer .m4a-footer-credit {margin-top:12px}
}

/* These reader pages already own the horizontal content padding. */
body .wrap > footer.m4a-footer {max-width:none;padding-left:0;padding-right:0}
body footer.m4a-footer .m4a-footer-notes li>a:only-child {display:inline-flex;align-items:center;min-height:44px;min-width:44px}
/* Retained source links remain comfortable targets even in legacy inline notes. */
body footer.m4a-footer .m4a-footer-notes a,body footer.m4a-footer .m4a-footer-next p a {display:inline-block;min-height:24px;line-height:24px}

/* Hallmark · component: shared publication footer · existing purple identity
 * pre-emit critique: P5 H5 E4 S5 R5 V4 */
body footer.m4a-footer-v2{
 --footer-ink:var(--color-ink,var(--m4a-ink,oklch(23% .02 285)));
 --footer-muted:var(--color-muted,var(--m4a-muted,oklch(44% .025 285)));
 --footer-accent:var(--color-accent,var(--m4a-purple,oklch(39% .17 292)));
 --footer-rule:var(--color-rule,var(--m4a-rule,oklch(85% .022 292)));
 --footer-focus:var(--color-focus,oklch(49% .13 55));
 --footer-font:var(--font-body,var(--m4a-sans,"Avenir Next",Avenir,"Segoe UI",sans-serif));
 padding:2rem 1.75rem 3rem;color:var(--footer-muted);font:400 1rem/1.65 var(--footer-font);border-color:var(--footer-rule);min-width:0;
}
body footer.m4a-footer-v2 .m4a-footer-about-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;margin:0;padding:0;background:transparent;border:0}
body footer.m4a-footer-v2 .m4a-footer-about-grid section{padding:0;margin:0;border:0;background:transparent;min-width:0}
body footer.m4a-footer-v2 .m4a-footer-about-grid h2{margin:0 0 .5rem;padding:0;font:700 1.0625rem/1.3 var(--footer-font);font-style:normal;letter-spacing:normal;color:var(--footer-ink);text-transform:none;overflow-wrap:anywhere}
body footer.m4a-footer-v2 .m4a-footer-about-grid p{margin:0;max-width:65ch;font:400 1rem/1.65 var(--footer-font);color:var(--footer-muted);text-transform:none}
body footer.m4a-footer-v2 a{color:var(--footer-accent)}
body footer.m4a-footer-v2 a:focus-visible{outline:3px solid var(--footer-focus);outline-offset:4px}
body footer.m4a-footer-v2 .m4a-footer-about-grid a{display:inline-block;min-height:24px;white-space:nowrap}
body footer.m4a-footer-v2 .m4a-footer-signoff{border-top:1px solid var(--footer-rule);margin:2rem 0 0;padding:1.5rem 0 0;display:grid;gap:1rem;color:var(--footer-muted);font:.875rem/1.6 var(--footer-font)}
body footer.m4a-footer-v2 .m4a-footer-signoff p{margin:0;max-width:65ch;font:inherit;color:inherit}
body footer.m4a-footer-v2 .m4a-footer-credit{display:flex;align-items:flex-start;gap:.5rem}
body footer.m4a-footer-v2 .m4a-footer-credit>img{display:block;flex:none;width:20px;height:18px;max-width:20px;object-fit:contain;margin:.125rem 0 0}
body footer.m4a-footer-v2 .m4a-footer-back{display:inline-flex;align-items:center;min-height:44px;width:fit-content;font:inherit;white-space:nowrap}
body footer.m4a-footer-v2 .m4a-footer-row{margin-bottom:2rem}
body footer.m4a-footer-v2 .m4a-footer-notes{font-size:.9375rem;margin-bottom:2rem;max-width:75ch;overflow-wrap:anywhere}
@media(min-width:48rem){body footer.m4a-footer-v2 .m4a-footer-about-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:4rem}}
@media(max-width:650px){body footer.m4a-footer-v2{padding:2rem 1.125rem 3rem}}
