.public-page { max-width: 860px; margin: 0 auto; padding: 130px 24px 64px; }
.public-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .6rem; padding: 0; list-style: none; font-size: .9rem; }
.public-breadcrumbs li + li::before { content: "/"; padding-right: .6rem; }
.public-page h1 { font-size: clamp(2rem, 5vw, 3.2rem); line-height: 1.15; }
.public-page article, .statute-text, .opinion-text { line-height: 1.8; overflow-wrap: anywhere; white-space: pre-wrap; }
.public-disclaimer { max-width: 860px; margin: 0 auto; padding: 24px; font-size: .9rem; line-height: 1.6; }
.public-status { border: 1px solid currentColor; padding: 16px; margin: 24px 0; font-size: .95rem; }
.public-status[hidden] { display: none; }
.statute-text { font-family: Georgia, serif; font-size: 1.05rem; white-space: normal; }
.statute-text p { margin: 1rem 0; }
.statute-meta, .statute-history { font-size: .95rem; line-height: 1.6; }
.statute-handoff { margin: 2rem 0; padding: 1.25rem; border: 1px solid #d8d4cc; border-radius: 8px; background: #f8f6f1; }
.statute-neighbors { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin: 2rem 0; }
.statute-text p.sub-2 { margin-left: 1.5rem; }
.template-attribution, .template-handoff { margin: 2rem 0; padding: 1.25rem; border: 1px solid #d8d4cc; border-radius: 8px; background: #f8f6f1; overflow-wrap: anywhere; }
.template-text { line-height: 1.8; overflow-wrap: anywhere; }
.template-text p, .template-text li { margin: .8rem 0; }
.template-text ul, .template-text ol { padding-left: 2rem; }
.template-catalog li { margin: 1.5rem 0; }
