* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.primer5-site {
    margin: 0;
    color: var(--p5-ink-900);
    background: var(--p5-surface);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
body.primer5-site.offcanvas-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
a, button { -webkit-tap-highlight-color: transparent; }
button, input, textarea, select { font: inherit; }
img { display: block; max-width: 100%; }
svg { flex: 0 0 auto; }
::selection { color: #fff; background: var(--p5-red-600); }
.container { max-width: var(--p5-container); }
.primer5-skip-link { position: fixed; top: 12px; left: 12px; z-index: 9999; padding: 10px 16px; color: #fff; background: var(--p5-navy-950); border-radius: 8px; transform: translateY(-150%); transition: transform var(--p5-transition); }
.primer5-skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid rgba(224, 42, 66, .38); outline-offset: 3px; }
.primer5-icon { display: inline-block; vertical-align: middle; }
.primer5-section { padding: 100px 0; }
.primer5-section--soft { background: var(--p5-surface-soft); }
