*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--ink); background: var(--page); font-family: "Segoe UI", Tahoma, Arial, sans-serif; line-height: 1.7; overflow-x: clip; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.3; }
:focus-visible { outline: 3px solid rgba(47, 125, 244, .45); outline-offset: 3px; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.page-shell { width: min(calc(100% - 40px), var(--content)); margin-inline: auto; }
.page-main { min-height: 68vh; padding: 28px 0 72px; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--primary-600); font-size: 14px; font-weight: 800; }
.muted { color: var(--ink-soft); }
.text-success { color: var(--success); }
.text-danger { color: var(--danger); }
