/* Site-wide design contract. Load last on every page. */
:root{--mf-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mf-bg:#f5f7fb;--mf-surface:#fff;--mf-ink:#18263b;--mf-muted:#58677c;--mf-line:#dfe5ee;--mf-blue:#2563eb;--mf-width:1152px}
html{scroll-padding-top:120px}
body.mf-site{margin:0;font-family:var(--mf-font);font-size:16px;line-height:1.65;color:var(--mf-ink);background:var(--mf-bg);-webkit-font-smoothing:antialiased}
body.mf-site:not(.miniapp){--page-bg:var(--mf-bg);--surface:var(--mf-surface);--surface-soft:#f8fafc;--ink:var(--mf-ink);--muted:var(--mf-muted);--line:var(--mf-line);--accent:var(--mf-blue)}
body.mf-site main h1{font-family:var(--mf-font);font-size:clamp(2rem,4vw,3rem);font-weight:750;line-height:1.16;letter-spacing:-.035em;color:inherit}
body.mf-site main h2{font-family:var(--mf-font);font-size:clamp(1.4rem,2.5vw,1.75rem);font-weight:700;line-height:1.3;letter-spacing:-.025em}
body.mf-site main h3{font-family:var(--mf-font);line-height:1.4;letter-spacing:-.015em}
body.mf-site main .eyebrow{font-size:12px;line-height:1.6;letter-spacing:.12em;font-weight:700;color:var(--mf-blue)}
body.mf-site main :is(.intro,.page-intro){font-size:18px;line-height:1.65;color:var(--mf-muted)}
body.mf-site main .announcement-page{font:inherit}
body.mf-site main.announcement-page{max-width:var(--mf-width);padding:48px 24px 64px;font-size:16px}
body.mf-site .announcement-page h1{max-width:800px}
body.mf-site .announcement-page .page-heading{margin-bottom:32px}
body.mf-site .announcement-page :is(.results-toolbar h2,.editor-title h2){font-size:22px}
body.mf-site .announcement-page .page-notice{font-size:14px;line-height:1.65;color:var(--mf-muted);padding-top:24px;margin-top:40px;border-top:1px solid var(--mf-line)}
.page-notice #privacy-link{display:inline-block;margin-top:12px}
body.mf-site .news-heading{max-width:var(--mf-width)}
body.mf-site :is(.news-heading,.article-heading){padding-top:64px}
body.mf-site .news-list{max-width:var(--mf-width)}
body.mf-site .news-card{border-radius:16px;box-shadow:none}
body.mf-site main :is(.news-button,.contact-button){border-radius:10px}
body.mf-site main.min-h-screen{min-height:65vh;padding-top:64px;padding-bottom:64px}
.mf-header,.mf-footer,.mf-header *,.mf-footer *{box-sizing:border-box}
.mf-header{position:sticky;top:0;z-index:50;background:var(--mf-surface);border-bottom:1px solid var(--mf-line);color:var(--mf-ink)}
.mf-nav{max-width:var(--mf-width);min-height:80px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.mf-header .brand,.mf-footer .brand{font-family:var(--mf-font);font-size:21px;line-height:1.55;letter-spacing:-.045em;font-weight:750;color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:9px;flex-shrink:0}
.mf-header .brand-logo,.mf-footer .brand-logo{width:36px;height:36px;margin:0;display:block}
.mf-links{display:flex;align-items:center;justify-content:flex-end;gap:24px}
.mf-links a{font:600 14px/1.5 var(--mf-font);color:var(--mf-muted);text-decoration:none;white-space:nowrap;padding:8px 0;border-bottom:2px solid transparent}
.mf-links a:hover,.mf-links a[aria-current="page"]{color:var(--mf-blue);border-bottom-color:var(--mf-blue)}
.mf-skip{position:fixed;z-index:100;top:-100px;left:16px;padding:12px 20px;background:var(--mf-surface);color:var(--mf-blue);border:2px solid var(--mf-blue);border-radius:8px}
.mf-skip:focus{top:12px}
.mf-site :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--mf-blue);outline-offset:4px}
.mf-footer{background:#18263b;color:#e3eaf5;margin:0;border-top:1px solid #24354e;font:14px/1.65 var(--mf-font)}
.mf-footer-inner{max-width:var(--mf-width);margin:0 auto;padding:40px 24px 24px;display:grid;grid-template-columns:1fr auto;gap:24px 40px}
.mf-footer .brand-logo{filter:invert(1)}
.mf-footer p{margin:12px 0 0;color:#c1cedf}
.mf-footer nav{display:flex;align-items:flex-start;flex-wrap:wrap;gap:16px 24px}
.mf-footer nav a{color:#e3eaf5;text-decoration:none;font-weight:600}
.mf-footer nav a:hover{text-decoration:underline;text-underline-offset:4px}
.mf-footer .mf-copyright{grid-column:1/-1;border-top:1px solid #3a4a61;padding-top:20px;text-align:center;margin-top:8px;font-size:13px}
body.miniapp[data-theme="dark"]{--mf-bg:var(--page-bg);--mf-surface:var(--surface);--mf-ink:var(--ink);--mf-muted:var(--muted);--mf-line:var(--line);--mf-blue:#85b7ff}
@media(max-width:760px){.mf-nav{flex-wrap:wrap;gap:8px;padding:14px 24px}.mf-links{justify-content:flex-start;gap:4px 20px;flex-wrap:wrap;width:100%}.mf-links a{font-size:13px;padding:7px 0}.mf-footer-inner{grid-template-columns:1fr}.mf-footer nav{gap:12px 20px}body.mf-site main.announcement-page{padding-top:36px}body.mf-site :is(.news-heading,.article-heading){padding-top:40px}html{scroll-padding-top:156px}}
@media(max-width:380px){.mf-links{gap:2px 14px}.mf-nav{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mf-site *{scroll-behavior:auto!important}}
/* The existing utility pages use the same palette as the application pages. */
body.mf-site:not(.miniapp) :is(.text-gray-900,.text-gray-800){color:var(--mf-ink)}
body.mf-site:not(.miniapp) :is(.text-gray-500,.text-gray-600,.text-gray-700){color:var(--mf-muted)}
body.mf-site:not(.miniapp) .bg-gray-50{background-color:var(--mf-bg)}
body.mf-site main .text-lg{line-height:1.65}
/* Shared calls to action, used by the home page and substitutions board. */
.mf-site main a.mf-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:13px 24px;border:1px solid var(--mf-blue);border-radius:10px;background:var(--mf-blue);color:#fff;font:650 16px/1.5 var(--mf-font);text-align:center;text-decoration:none;box-shadow:0 3px 10px #2563eb20;transition:background-color .15s,box-shadow .15s}
.mf-site main a.mf-button:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff;text-decoration:none;box-shadow:0 5px 16px #2563eb30}
.mf-site main a.mf-button--secondary{background:#eef4ff;border-color:#a9c3fa;color:#1d4ed8;box-shadow:none}
.mf-site main a.mf-button--secondary:hover{background:#dfeaff;color:#1e40af}
.mf-hero-actions{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:32px}
.mf-hero-actions .mf-button{width:min(100%,360px)}
.mf-site .heading-action{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.mf-site .heading-action .muted{margin:0;max-width:none}
.mf-site .heading-action a.mf-button{min-height:44px;font-size:14px;padding:10px 16px}
