/* HOA rules by state pages (added Oct 22 2026). Brand: sage #5E7F64, cream #F6F1E7. */
body { background: #F6F1E7; }
.hr-nav { gap: 14px !important; }
.hr-hero { padding: 28px 0 8px; background: linear-gradient(180deg, #fff 0%, #F6F1E7 100%); }
.hr-hero h1 { font-size: clamp(1.9rem, 6.4vw, 2.8rem); }
.crumbs { font-size: .88rem; color: #55625c; margin-bottom: 14px; }
.crumbs a { color: #5E7F64; }
.hr-short { background: #fff; border-left: 4px solid #5E7F64; padding: 12px 16px; border-radius: 0 10px 10px 0; }
.toc { background: #fff; border: 1px solid #dbe3dd; border-radius: 14px; padding: 14px 18px; margin: 18px 0 8px; }
.toc-h { font-weight: 700; color: #23463c; margin: 0 0 6px; }
.toc ul { margin: 0; padding-left: 18px; columns: 2; column-gap: 28px; }
.toc li { break-inside: avoid; font-size: .95rem; }
@media (max-width: 560px) { .toc ul { columns: 1; } }
.hr-sec { padding: 30px 0 6px; }
.hr-sec h2 { color: #3f5f45; }
ul.rules { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
ul.rules li { background: #fff; border: 1px solid #dbe3dd; border-radius: 12px; padding: 14px 16px; }
ul.rules li p { margin: 0 0 6px; }
.cite-line { margin: 0 !important; }
a.cite, span.cite { display: inline-block; font-size: .88rem; font-weight: 600; color: #5E7F64; overflow-wrap: anywhere; }
.table-wrap { overflow-x: auto; }
table.dl { width: 100%; border-collapse: collapse; background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid #dbe3dd; }
table.dl th, table.dl td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid #e7ece8; font-size: .97rem; }
table.dl thead th { background: #5E7F64; color: #F6F1E7; font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; }
table.dl tbody th { width: 34%; color: #23463c; }
@media (max-width: 560px) {
  table.dl thead { display: none; }
  table.dl, table.dl tbody, table.dl tr, table.dl th, table.dl td { display: block; width: 100%; }
  table.dl tbody th { width: 100%; border-bottom: 0; padding-bottom: 2px; }
}
.hr-cta { border-radius: 16px; padding: 22px 22px 14px; margin: 26px 0 8px; }
.hr-cta-h { font-size: 1.35rem; font-weight: 700; line-height: 1.25; margin: 0 0 .4em; }
.hr-cta-trial { background: #5E7F64; color: #F6F1E7; }
.hr-cta-trial .hr-cta-h { color: #fff; }
.hr-cta-trial .fine { color: #e4ebe2; }
.hr-cta-kit { background: #fff; border: 2px solid #5E7F64; }
.hr-cta-kit .hr-cta-h, .hr-cta-check .hr-cta-h { color: #23463c; }
.hr-cta-check { background: #eef3ef; border: 1px solid #dbe3dd; }
.hr-cta .kit-price { font-size: 1.2rem; }
.hr-cta .was { color: #8a8f8b; margin-right: 4px; }
.sale-tag { font-size: .85rem; background: #F6F1E7; color: #3f5f45; border-radius: 999px; padding: 2px 10px; margin-left: 6px; }
.hr-form { display: grid; gap: 10px; max-width: 460px; }
.hr-form .field { display: grid; gap: 4px; }
.hr-form input[type=email] { font: inherit; padding: 12px 14px; border: 1px solid #c9d3cc; border-radius: 10px; background: #fff; width: 100%; }
.btn-sage { background: #5E7F64; border-color: #5E7F64; color: #fff; }
.btn-sage:hover { background: #4b6a51; border-color: #4b6a51; }
ol.steps { padding-left: 22px; display: grid; gap: 10px; }
.req { font-size: .78rem; background: #F6F1E7; border: 1px solid #dbe3dd; border-radius: 999px; padding: 1px 8px; color: #55625c; white-space: nowrap; }
.faq details { background: #fff; border: 1px solid #dbe3dd; border-radius: 12px; padding: 12px 16px; margin-bottom: 10px; }
.faq summary { font-weight: 600; cursor: pointer; color: #23463c; }
.faq details p { margin: 10px 0 2px; }
.srcs li { overflow-wrap: anywhere; }
ul.near { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
ul.near a, .state-grid a { display: inline-block; background: #fff; border: 1px solid #dbe3dd; border-radius: 999px; padding: 6px 14px; text-decoration: none; }
ul.near a:hover, .state-grid a:hover { border-color: #5E7F64; }
.state-grid { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.state-grid a { display: block; border-radius: 12px; padding: 12px 14px; height: 100%; }
.state-grid strong { display: block; color: #23463c; }
.state-grid span { display: block; font-size: .85rem; color: #55625c; line-height: 1.4; margin-top: 2px; }
.site-footer .disclaimer strong { color: inherit; }
.hr-short ul { margin: 6px 0 0; padding-left: 18px; }
.hr-short li { margin-bottom: 4px; }
