.abpp-body { margin: 0; background: var(--abpp-color-white); color: var(--abpp-color-text); font-family: var(--abpp-font); font-size: 18px; line-height: 1.7; }
.abpp-body *, .abpp-body *::before, .abpp-body *::after { box-sizing: border-box; }
.abpp-container { width: min(var(--abpp-container), calc(100% - (var(--abpp-gutter) * 2))); margin-inline: auto; }
.abpp-main { overflow: clip; }
.abpp-main h1, .abpp-main h2, .abpp-main h3, .abpp-site-footer h2 { margin-top: 0; color: var(--abpp-color-navy); font-weight: 750; letter-spacing: -.04em; line-height: 1.12; }
.abpp-main h1 { font-size: clamp(2.35rem, 4.7vw, 4rem); }
.abpp-main h2 { font-size: clamp(1.9rem, 3vw, 2.75rem); }
.abpp-main h3 { font-size: clamp(1.12rem, 1.7vw, 1.38rem); }
.abpp-main a, .abpp-site-footer a { color: inherit; }
.abpp-main img { display: block; max-width: 100%; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.abpp-skip-link { position: absolute; top: -4rem; left: var(--abpp-gutter); z-index: 20; padding: .75rem 1rem; border-radius: var(--abpp-radius-small); background: var(--abpp-color-white); color: var(--abpp-color-navy); font-weight: 700; text-decoration: none; }
.abpp-skip-link:focus { top: 1rem; outline: 3px solid var(--abpp-color-focus); }
