/* ==========================================================================
   CENTURYHOUSE-CORE — styles the HTML the plugin's shortcodes output, and the post body (.ch-prose).
   Uses kit variable names with hex fallbacks. These class names are
   plugin-owned: never create an Elementor global class with the same name.
   ========================================================================== */
/* Fonts, served locally (SIL Open Font License; see assets/fonts). */
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(fonts/source-serif-4-opsz.woff2) format("woff2-variations"),url(fonts/source-serif-4-opsz.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(fonts/source-serif-4-italic.woff2) format("woff2-variations"),url(fonts/source-serif-4-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Public Sans";font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/public-sans.woff2) format("woff2-variations"),url(fonts/public-sans.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Public Sans";font-style:italic;font-weight:100 900;font-display:swap;src:url(fonts/public-sans-italic.woff2) format("woff2-variations"),url(fonts/public-sans-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* The kit stores font variables unquoted, and "Source Serif 4" is invalid CSS unquoted; restate them as full stacks. */
:root{--ch-font-heading:"Source Serif 4",Georgia,serif !important;--ch-font-body:"Public Sans",system-ui,sans-serif !important}
/* Base layer. The Hello Elementor stylesheets are dequeued by the plugin; this is the
   mockups' tag layer (ch-kit.css §2). Kit default styles still win on V4 elements. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html body{margin:0;font-family:var(--ch-font-body);font-size:18px;line-height:1.65;color:var(--ch-ink,#1B2433);background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--ch-font-heading);font-weight:600;color:var(--ch-navy,#092149);font-optical-sizing:auto}
h1{font-size:48px;line-height:1.08;letter-spacing:-.01em} h2{font-size:24px;line-height:1.25} h3{font-size:21px;line-height:1.3}
p{margin:0;font-size:18px;line-height:1.65}
a{color:var(--ch-navy,#092149);text-decoration-thickness:1px;text-underline-offset:3px} a:hover{color:var(--ch-red,#AB0000)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--ch-navy,#092149);outline-offset:3px;border-radius:2px}
img{max-width:100%;height:auto;border-style:none}
table{border-collapse:collapse}
dl,dd{margin:0}
button,input{font:inherit}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);word-wrap:normal!important}
.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;z-index:100000;top:5px;left:5px;padding:12px 20px;background:#fff;color:var(--ch-navy,#092149);font-weight:600;text-decoration:none}
@media (max-width:767px){h1{font-size:36px}}


.ch-sr-only{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
:is(.ch-crumbs,.ch-verified,.ch-qa,.ch-prose,.ch-table-wrap,.ch-infobox,.ch-box,.ch-list,.ch-xref,.ch-cards,.ch-guides,.ch-filters,.ch-faq,.ch-sources,.ch-correction,.ch-note) a{color:var(--ch-navy,#092149);text-decoration-thickness:1px;text-underline-offset:3px}
:is(.ch-crumbs,.ch-verified,.ch-qa,.ch-prose,.ch-table-wrap,.ch-infobox,.ch-box,.ch-list,.ch-xref,.ch-cards,.ch-guides,.ch-filters,.ch-faq,.ch-sources,.ch-correction,.ch-note) a:hover{color:var(--ch-red,#AB0000)}
.ch-h{margin:0 0 16px;font-family:var(--ch-font-heading,"Source Serif 4"),Georgia,serif;font-weight:600;font-size:36px;line-height:1.15;color:var(--ch-navy,#092149)}
.ch-h-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.ch-h-row .ch-h{margin:0} .ch-h-row a{font-size:16px;font-weight:600}
@media (max-width:767px){.ch-h{font-size:28px}}

/* [ch_search] and [ch_search variant="hero"] */
.ch-search{flex:1 1 320px;display:flex;gap:8px;max-width:560px;margin-left:auto}
.ch-search-input{flex:1 1 auto;min-width:0;height:46px;padding:0 16px;border:1px solid var(--ch-rule-strong,#C9D3E3);border-radius:6px;font:400 16px var(--ch-font-body,"Public Sans"),sans-serif;color:var(--ch-ink,#1B2433);background:#fff;box-sizing:border-box}
.ch-search-input::placeholder{color:var(--ch-gray,#6D6D6E)}
.ch-search-button{height:46px;padding:0 20px;border:0;border-radius:6px;background:var(--ch-navy,#092149);color:#fff;font:600 15px var(--ch-font-body,"Public Sans"),sans-serif;cursor:pointer}
.ch-search-button:hover{background:#0F2E63}
.ch-search-hero{width:100%;max-width:600px;margin:0;flex:none}
.ch-search-hero .ch-search-input{height:56px;font-size:18px;border-color:#9FB0C8}
.ch-search-hero .ch-search-button{height:56px;padding:0 26px;font-size:17px}

/* [ch_breadcrumb] */
.ch-crumbs{font-size:14px;color:var(--ch-gray,#6D6D6E)}
.ch-crumbs ol{margin:0;padding:0;list-style:none;display:flex;gap:8px;flex-wrap:wrap}
.ch-crumbs [aria-current]{color:var(--ch-ink,#1B2433)}

/* [ch_last_verified] — one sentence */
.ch-verified{display:flex;gap:8px;align-items:flex-start;flex-wrap:nowrap;font-size:16px;line-height:1.5;color:var(--ch-ink,#1B2433)}
.ch-verified-mark{margin-top:2px;flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:var(--ch-open,#1E5B32);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.ch-status-open{font-weight:700;color:var(--ch-open,#1E5B32)}
.ch-status-closed{font-weight:700;color:var(--ch-gray,#6D6D6E)}

/* [ch_quick_answer] */
.ch-qa{background:var(--ch-panel,#F4F6F9);border:1px solid var(--ch-rule,#DCE1E8);border-radius:8px;padding:28px 32px;display:flex;flex-direction:column;gap:10px}
.ch-qa-label{margin:0;font-size:15px;font-weight:700;color:var(--ch-red,#AB0000)}
.ch-qa-title{margin:0;font-family:var(--ch-font-heading,"Source Serif 4"),Georgia,serif;font-weight:600;font-size:24px;line-height:1.25;color:var(--ch-navy,#092149)}
.ch-qa-text{margin:0;font-size:21px;line-height:1.55;color:var(--ch-ink,#1B2433);max-width:40em}
.ch-qa-source{margin:4px 0 0;font-size:14px;color:var(--ch-gray,#6D6D6E)}
@media (max-width:767px){.ch-qa{padding:22px 20px}.ch-qa-text{font-size:18px}}

/* .ch-prose — post body (theme-post-content slot) */
.ch-prose{max-width:var(--ch-measure,68ch)}
.ch-prose p{margin:0 0 18px;font-size:18px;line-height:1.7;color:var(--ch-ink,#1B2433)}
.ch-prose h2{margin:48px 0 12px;font-family:var(--ch-font-heading,"Source Serif 4"),Georgia,serif;font-weight:600;font-size:24px;line-height:1.25;color:var(--ch-navy,#092149)}
.ch-prose h2:first-child{margin-top:0}
.ch-prose ol,.ch-prose ul{margin:0 0 18px;padding-left:24px;display:flex;flex-direction:column;gap:10px}
.ch-prose li{font-size:18px;line-height:1.65}
.ch-prose li::marker{color:var(--ch-gray,#6D6D6E);font-variant-numeric:tabular-nums}
.ch-prose .ch-small{font-size:15px;color:var(--ch-gray,#6D6D6E);margin-bottom:12px}
.ch-prose .ch-see{font-size:16px;margin-bottom:8px}
.ch-prose .ch-see a{font-weight:600}

/* ledger tables: [ch_recent], [ch_cards style="table"], [ch_dataset], <table> in .ch-prose */
.ch-table-wrap{overflow-x:auto;margin:0 0 18px}
.ch-table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.45}
.ch-table-wide{min-width:640px}
.ch-table th[scope=col]{padding:0 16px 10px 0;text-align:left;font-size:14px;font-weight:600;color:var(--ch-gray,#6D6D6E);border-bottom:2px solid var(--ch-navy,#092149);vertical-align:bottom}
.ch-table th[scope=row]{padding:14px 16px 14px 0;text-align:left;font-weight:600}
.ch-table td{padding:14px 16px 14px 0;vertical-align:top}
.ch-table tbody tr{border-bottom:1px solid var(--ch-rule,#DCE1E8)}
.ch-table .ch-num{text-align:right;font-variant-numeric:tabular-nums lining-nums;padding-right:28px}
.ch-table .ch-num:last-child{padding-right:0}
.ch-table .ch-dim{color:var(--ch-gray,#6D6D6E)}
.ch-table .ch-strong a{font-family:var(--ch-font-heading,"Source Serif 4"),Georgia,serif;font-size:19px;font-weight:600}
.ch-table tr.ch-closed td{color:var(--ch-gray,#6D6D6E)}

/* [ch_infobox] */
.ch-infobox{border:1px solid var(--ch-rule-strong,#C9D3E3);border-radius:8px;overflow:hidden;background:#fff}
.ch-infobox-media{aspect-ratio:3/2;background:var(--ch-photo,#E4E9F1);width:100%;height:auto;object-fit:cover;display:block}
.ch-infobox-credit{margin:0;padding:6px 20px;font-size:12px;color:var(--ch-gray,#6D6D6E);border-bottom:1px solid var(--ch-rule,#DCE1E8)}
.ch-infobox-head{padding:14px 20px;background:var(--ch-navy,#092149);color:#fff;font-family:var(--ch-font-heading,"Source Serif 4"),Georgia,serif;font-size:21px;font-weight:600}
.ch-infobox dl{margin:0;padding:4px 20px 12px;display:grid;grid-template-columns:120px minmax(0,1fr);font-size:15px;line-height:1.45}
.ch-infobox dt{padding:10px 12px 10px 0;color:var(--ch-gray,#6D6D6E);border-bottom:1px solid var(--ch-rule,#DCE1E8)}
.ch-infobox dd{margin:0;padding:10px 0;border-bottom:1px solid var(--ch-rule,#DCE1E8)}
.ch-infobox dt:last-of-type,.ch-infobox dd:last-of-type{border-bottom:0}

/* sidebar boxes: [ch_toc], [ch_related style="links"] */
.ch-box{display:flex;flex-direction:column}
.ch-box-title{margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--ch-rule,#DCE1E8);font-family:var(--ch-font-heading,"Source Serif 4"),Georgia,serif;font-size:21px;font-weight:600;color:var(--ch-navy,#092149)}
.ch-box ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;font-size:16px}
.ch-box-type{color:var(--ch-gray,#6D6D6E)}

/* [ch_related style="list"] — ruled rows */
.ch-list{margin:0 0 8px;padding:0;list-style:none;border-top:1px solid var(--ch-rule,#DCE1E8)}
.ch-list li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--ch-rule,#DCE1E8);font-size:16px}
.ch-list-title{font-weight:600}
.ch-list-meta{color:var(--ch-gray,#6D6D6E);text-align:right}
.ch-list-more{display:inline-block;margin-top:12px;font-size:16px;font-weight:600}

/* [ch_related style="xref"] — "see also" entries */
.ch-xref{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 32px}
.ch-xref li{display:flex;flex-direction:column;gap:2px;padding-top:12px;border-top:2px solid var(--ch-navy,#092149)}
.ch-xref a{font-family:var(--ch-font-heading,"Source Serif 4"),Georgia,serif;font-size:21px;font-weight:600;text-decoration:none}
.ch-xref a:hover{text-decoration:underline}
.ch-xref span{font-size:14px;color:var(--ch-gray,#6D6D6E)}
@media (max-width:767px){.ch-xref{grid-template-columns:minmax(0,1fr)}}

/* [ch_cards style="photo"] — districts with photos */
.ch-cards{display:grid;gap:32px 24px;grid-template-columns:repeat(4,minmax(0,1fr))}
.ch-photo-card{text-decoration:none;display:flex;flex-direction:column;gap:8px}
.ch-photo-card-media{aspect-ratio:4/5;border-radius:4px;background:var(--ch-photo,#E4E9F1);width:100%;height:auto;object-fit:cover;display:block;margin-bottom:4px}
.ch-photo-card-title{font-family:var(--ch-font-heading,"Source Serif 4"),Georgia,serif;font-size:21px;font-weight:600;line-height:1.25;color:var(--ch-navy,#092149)}
.ch-photo-card:hover .ch-photo-card-title{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.ch-photo-card-meta{font-size:15px;line-height:1.45;color:var(--ch-gray,#6D6D6E)}
@media (max-width:1024px){.ch-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* [ch_cards style="guides"] — ruled two-column list */
.ch-guides{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.ch-guides li{padding:18px 0;border-top:1px solid var(--ch-rule,#DCE1E8);display:flex;flex-direction:column;gap:4px}
.ch-guides a{font-family:var(--ch-font-heading,"Source Serif 4"),Georgia,serif;font-size:24px;font-weight:600;line-height:1.25;text-decoration:none}
.ch-guides a:hover{text-decoration:underline}
.ch-guides p{margin:0;font-size:16px;line-height:1.5;color:var(--ch-gray,#6D6D6E)}
@media (max-width:1024px){.ch-guides{grid-template-columns:minmax(0,1fr)}}

/* [ch_terms] — filter controls */
.ch-filters{display:flex;gap:8px;flex-wrap:wrap}
.ch-filter{text-decoration:none;padding:9px 16px;border-radius:6px;border:1px solid var(--ch-rule-strong,#C9D3E3);font-weight:600;font-size:15px;background:#fff}
.ch-filter:hover{border-color:var(--ch-navy,#092149)}
.ch-filter[aria-current]{background:var(--ch-navy,#092149);border-color:var(--ch-navy,#092149);color:#fff}
.ch-filters a.ch-filter[aria-current]:hover{color:#fff}

/* [ch_map] */
.ch-map{height:320px;border-radius:4px;background:var(--ch-photo,#E4E9F1);display:flex;align-items:center;justify-content:center;color:var(--ch-gray,#6D6D6E);font-size:15px;text-align:center;padding:0 16px}
.ch-map-lg{height:400px}
.ch-map.leaflet-container{display:block;padding:0;z-index:0}

/* [ch_faq] */
.ch-faq{border-top:1px solid var(--ch-rule,#DCE1E8);max-width:var(--ch-measure,68ch)}
.ch-faq details{border-bottom:1px solid var(--ch-rule,#DCE1E8);padding:18px 0}
.ch-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font-size:18px;font-weight:600;line-height:1.4;color:var(--ch-navy,#092149)}
.ch-faq summary::-webkit-details-marker{display:none}
.ch-faq summary::after{content:"+";font-weight:400;font-size:22px;line-height:1;color:var(--ch-gray,#6D6D6E)}
.ch-faq details[open] summary::after{content:"–"}
.ch-faq details p{margin:10px 0 0;font-size:17px;line-height:1.65;color:var(--ch-ink,#1B2433)}
.ch-faq summary:focus-visible{outline:2px solid var(--ch-navy,#092149);outline-offset:3px;border-radius:2px}

/* [ch_sources] — numbered because body text cites them */
.ch-sources ol{margin:0;padding-left:24px;display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.55;color:var(--ch-ink,#1B2433);max-width:var(--ch-measure,68ch)}
.ch-sources li::marker{color:var(--ch-gray,#6D6D6E);font-variant-numeric:tabular-nums}
.ch-sources .ch-accessed{color:var(--ch-gray,#6D6D6E)}
.ch-correction{margin-top:28px;padding-top:16px;border-top:1px solid var(--ch-rule,#DCE1E8);font-size:15px;color:var(--ch-gray,#6D6D6E);display:flex;gap:12px;flex-wrap:wrap}
.ch-correction a{color:var(--ch-red,#AB0000);font-weight:600}
.ch-correction a:hover{color:var(--ch-navy,#092149)}

/* [ch_disclosure] — affiliated listings only */
.ch-disclosure{border:1px solid var(--ch-rule-strong,#C9D3E3);background:var(--ch-panel,#F4F6F9);border-radius:8px;padding:14px 18px;font-size:15px;color:var(--ch-ink,#1B2433)}

/* Kit backstops: descendant rules Elementor global classes can't hold, and
   fallbacks for kit classes emitted by shortcodes (low specificity, kit wins). */
.ch-asked a{font-weight:600}
.ch-index-item:hover .ch-index-title{color:var(--ch-red,#AB0000);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.ch-block{margin-top:56px}
.ch-block .ch-block-title{margin:0 0 16px;font-family:var(--ch-font-heading);font-weight:600;font-size:24px;line-height:1.25;color:var(--ch-navy,#092149)}
:where(.ch-cards-section)+:where(.ch-cards-section){margin-top:72px}

/* [ch_cards style="entries"] — featured entries (home) */
.ch-entries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.ch-entries-item{display:flex;flex-direction:column;gap:10px}
.ch-entries-media{aspect-ratio:3/2;border-radius:4px;background:var(--ch-photo,#E4E9F1);width:100%;height:auto;object-fit:cover;display:block}
.ch-entries-title{margin:0;font-size:24px;line-height:1.25}
.ch-entries-title a{color:var(--ch-navy,#092149);text-decoration:none}
.ch-entries-title a:hover{color:var(--ch-red,#AB0000);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.ch-entries-meta{margin:0;font-size:15px;line-height:1.5;color:var(--ch-gray,#6D6D6E)}
.ch-entries-text{margin:0;font-size:16px;line-height:1.55;color:var(--ch-ink,#1B2433)}
@media (max-width:1024px){.ch-entries{grid-template-columns:minmax(0,1fr)}}

/* [ch_search_results] */
.ch-results-count{margin:0 0 24px;font-size:18px;color:var(--ch-ink,#1B2433)}
.ch-pages ul{margin:24px 0 0;padding:0;list-style:none;display:flex;gap:8px;flex-wrap:wrap}
.ch-pages a,.ch-pages span{display:inline-block;padding:8px 14px;border:1px solid var(--ch-rule-strong,#C9D3E3);border-radius:6px;font-size:15px;font-weight:600;text-decoration:none}
.ch-pages .current{background:var(--ch-navy,#092149);border-color:var(--ch-navy,#092149);color:#fff}

/* [ch_form] */
.ch-form{max-width:var(--ch-measure,68ch);display:flex;flex-direction:column;gap:18px}
.ch-form-row{margin:0;display:flex;flex-direction:column;gap:6px}
.ch-form-row label{font-size:16px;font-weight:600;color:var(--ch-navy,#092149)}
.ch-form-input{width:100%;padding:12px 14px;border:1px solid var(--ch-rule-strong,#C9D3E3);border-radius:6px;font:400 17px var(--ch-font-body);color:var(--ch-ink,#1B2433);background:#fff}
.ch-form-input:focus-visible{outline:2px solid var(--ch-navy,#092149);outline-offset:2px}
.ch-form-help{font-size:14px;color:var(--ch-gray,#6D6D6E)}
.ch-form .ch-search-button{align-self:flex-start;height:auto;padding:12px 22px;font-size:16px}
.ch-form-done{max-width:var(--ch-measure,68ch);background:var(--ch-panel,#F4F6F9);border:1px solid var(--ch-rule,#DCE1E8);border-radius:8px;padding:20px 24px}
