body { background: #f5f8f6; }
body > .public-nav { max-width: 1100px; margin: 1rem auto; padding: 0 1.25rem; }
.public-content { max-width: 860px; padding: clamp(1.25rem, 4vw, 3rem); margin: 1.5rem auto; background: #fff; border: 1px solid #dce8df; border-radius: 18px; }
.public-content h1 { font-size: clamp(1.9rem, 5vw, 2.65rem); line-height: 1.2; }
.public-content h2 { margin-top: 2rem; font-size: 1.4rem; }
.public-content h3 { font-size: 1.15rem; }
.public-content p, .public-content li, .public-content dd { line-height: 1.8; overflow-wrap: anywhere; }
.public-content li + li { margin-top: .6rem; }
.public-content a { color: #086940; text-underline-offset: .2em; }
.public-content a:visited { color: var(--visited); }
.public-content dt { font-weight: 700; margin-top: 1rem; }
.public-content dd { margin: .25rem 0 1rem; }
.public-card { border: 1px solid #dce8df; border-radius: 12px; padding: 1.2rem; margin: 1rem 0; }
.public-card h2, .public-card h3 { margin-top: 0; }
.public-explanation { background: #eef7f1; border-left: 4px solid #087443; padding: 1.25rem; margin-top: 2rem; border-radius: 8px; }
.public-explanation h2 { margin-top: 0; }
.public-content blockquote { margin: 1rem 0; padding: .5rem 1.2rem; border-left: 3px solid #bdcdc2; background: #f7f9f8; }
.public-footer { display: block; max-width: 1100px; margin: 2rem auto; padding: 1.25rem; }
.skip-link { position: absolute; left: -10000px; }
.skip-link:focus { left: 1rem; top: 1rem; background: white; padding: 1rem; z-index: 10; }
@media (max-width: 600px) { .public-content { margin: 1rem .5rem; } }
/* Longer translated navigation remains usable on narrow screens. */
body > .site-header { flex-wrap: wrap; gap: 1rem; }
body > .site-header .header-tools { flex-wrap: wrap; }

.alert-pagination { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid #dce8df; }
.pagination-links { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.pagination-links a, .pagination-current { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: .4rem .7rem; border: 1px solid #c9dccf; border-radius: 8px; text-decoration: none; }
.pagination-links a:hover { background: #eef7f1; }
.pagination-links a:focus-visible { outline: 3px solid #087443; outline-offset: 2px; }
.pagination-current { background: #086940; color: #fff; border-color: #086940; font-weight: 700; }
.pagination-gap { padding: .25rem; }
.pagination-summary { color: #52655b; margin-bottom: 0; }
