:root {
  --choir-green: #058C25;
  --treble-yellow: #F4D216;
  --button-gray: #8B8B8B;
  --ink: #111111;
  --signal-red: #B00000;
  --paper: #FFFFFF;
  --soft-panel: #F7F9F5;
}

html { color: var(--ink); background: var(--paper); }
body { font-family: Arial, Helvetica, sans-serif; background: var(--paper); }
.site-topline { height: 6px; background: linear-gradient(90deg, var(--choir-green), var(--treble-yellow), var(--button-gray), var(--signal-red)); }
.site-header { background: var(--button-gray); }
.choir-nav { background: var(--button-gray); box-shadow: none; border-bottom: 3px solid var(--choir-green); }
.choir-nav .brand-logo { font-size: 1.05rem; font-weight: 700; color: #fff; }
.choir-nav ul a { color: #fff; font-weight: 700; text-decoration: underline; }
.choir-nav ul a:hover { background: var(--choir-green); }
.choir-hero { padding: 42px 0 30px; background: #fff; border-bottom: 1px solid #ddd; }
.emblem-mark { width: 74px; height: 74px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--choir-green); color: var(--treble-yellow); border: 4px solid var(--treble-yellow); font-size: 2.3rem; margin-bottom: 14px; }
.choir-cta { background: var(--signal-red); color: var(--treble-yellow); border: 2px solid var(--treble-yellow); box-shadow: none; font-weight: 700; }
.choir-cta:hover, .choir-cta:focus { background: #8f0000; color: var(--treble-yellow); }
h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 700; color: var(--ink); }
h1 { font-size: 2.2rem; margin: 0 0 1.4rem; text-decoration-color: var(--choir-green); }
h2 { font-size: 1.7rem; color: var(--choir-green); }
h3 { font-size: 1.35rem; }
.flow-text { font-family: Georgia, "Times New Roman", serif; font-style: italic; color: var(--ink); }
.content-shell { padding: 34px 0 48px; min-height: 55vh; }
.narrow-content { max-width: 860px; }
.legal-content { max-width: 940px; }
.homepage-content { max-width: 1040px; }
.table-wrap { overflow-x: auto; margin: 1.2rem 0; border: 1px solid #ddd; background: #fff; }
table.highlight > tbody > tr:hover { background-color: #F2FAF0; }
table th { background: var(--button-gray); color: #fff; font-weight: 700; }
table td, table th { vertical-align: top; border-radius: 0; }
p a, td a, .card-action a { color: var(--choir-green) !important; font-weight: 700; }
.content-image { margin: 1rem auto; text-align: center; }
.content-image img { max-width: 100%; height: auto; border: 1px solid #ddd; }
.content-image.right { max-width: 34%; margin-left: 1.4rem; }
.inline-table-image { max-width: 96px; height: auto; display: block; margin: .2rem auto; }
.cell-part { display: block; }
blockquote { border-left-color: var(--choir-green); }
.choir-sidebar { margin-top: 4.3rem; border-color: #ddd; }
.choir-sidebar .collection-item { color: var(--choir-green); }
.breadcrumb-wrap { background: var(--choir-green); box-shadow: none; margin-bottom: 1.5rem; }
.breadcrumb-wrap .breadcrumb { color: #fff; }
.choir-footer { background: #6f6f6f; border-top: 5px solid var(--choir-green); }
.choir-footer h5, .choir-footer h6 { color: #fff; }
.choir-footer a { color: #fff; text-decoration: underline; }
.choir-footer .muted { color: #fff8d8; }
.footer-copyright { background: #555 !important; }
.category-card .card-title, .list-item-card .card-title { color: var(--choir-green); font-family: Georgia, "Times New Roman", serif; }
.article-meta { color: #666; }
.clear { clear: both; }
.sr-only { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 700px) {
  .choir-nav .brand-logo { font-size: .95rem; max-width: 70%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .content-image.right { float: none !important; max-width: 100%; margin-left: 0; }
  h1 { font-size: 1.8rem; }
}
