.county-header{padding:2rem 0;border-bottom:1px solid #e2e8f0;margin-bottom:2rem}.county-title-section{margin-bottom:1.5rem}.county-name{font-size:2.5rem;font-weight:700;color:#1e293b;margin:0 0 .5rem;font-family:var(--page-title)}.county-subtitle{display:flex;align-items:center;gap:.5rem;color:#64748b;font-size:1.1rem}.county-separator{color:#cbd5e1}.county-stats-bar{display:flex;gap:2rem;flex-wrap:wrap;padding:1.5rem;background:#f8fafc;border-radius:12px;margin-bottom:1rem}.county-stat{display:flex;flex-direction:column;gap:.25rem}.county-stat .stat-value{font-size:1.5rem;font-weight:700;color:#1e293b}.county-stat .stat-value.positive{color:#22c55e}.county-stat .stat-value.negative{color:#ef4444}.county-stat .stat-label{font-size:.875rem;color:#64748b}.data-year-badge{display:inline-block;padding:.25rem .75rem;background:#fc5736;color:white;border-radius:9999px;font-size:.75rem;font-weight:500}.county-contents{position:sticky;top:100px;background:white;padding:1rem;border-radius:8px;border:1px solid #e2e8f0}.contents-title{font-size:.875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.contents-list{list-style:none;margin:0;padding:0}.contents-list li{margin-bottom:.25rem}.contents-link{display:block;padding:.5rem .75rem;color:#475569;text-decoration:none;border-radius:4px;font-size:.9rem;transition:all .2s ease;background:none;border:none;cursor:pointer;width:100%;text-align:left}.contents-link:hover{background:#f1f5f9;color:#1e293b}.contents-link.active{background:#fef2f0;color:#fc5736;font-weight:500}.county-section{padding:2rem 0;border-bottom:1px solid #e2e8f0}.county-section:last-child{border-bottom:none}.section-title{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0 0 .75rem;font-family:var(--page-title)}.section-description{color:#64748b;line-height:1.6;margin-bottom:1.5rem}.no-data{padding:2rem;text-align:center;color:#64748b;background:#f8fafc;border-radius:8px}.demographics-content{display:flex;flex-direction:column;gap:2rem}.demographics-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width:768px){.demographics-grid{grid-template-columns:1fr}}.demographics-chart-wrapper,.demographics-table-wrapper{min-width:0}.demographics-table{width:100%;border-collapse:collapse;font-size:.9rem}.demographics-table td,.demographics-table th{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e2e8f0}.demographics-table th{font-weight:600;color:#475569;background:#f8fafc}.demographics-table .race-name{color:#1e293b}.demographics-table .race-count,.demographics-table .race-percent{color:#64748b;text-align:right}.marital-status-wrapper{max-width:600px}.chart-title{font-size:1rem;font-weight:600;color:#334155;margin:0 0 1rem}.demographics-chart-container,.marital-chart-container{padding:1rem;background:#f8fafc;border-radius:8px}.demographics-tooltip,.marital-tooltip,.population-tooltip{background:white;padding:.75rem 1rem;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);border:1px solid #e2e8f0}.tooltip-label{font-weight:600;color:#1e293b;margin:0 0 .25rem}.tooltip-value{font-size:1.25rem;font-weight:700;color:#fc5736;margin:0}.tooltip-count,.tooltip-year{font-size:.875rem;color:#64748b;margin:0}.demographics-legend{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:center}.demographics-legend-item{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:#64748b}.demographics-legend-dot{width:10px;height:10px;border-radius:50%}.hispanic-callout{margin-top:1rem;padding:.75rem 1rem;background:#fef2f0;border-radius:6px;display:flex;justify-content:space-between;align-items:center}.hispanic-label{color:#64748b;font-size:.875rem}.hispanic-value{font-weight:600;color:#fc5736}.population-tabbed-chart{background:#f8fafc;border-radius:12px;padding:1.5rem}.chart-tabs{display:flex;gap:.5rem;margin-bottom:1rem;padding:.25rem;background:#f1f5f9;border-radius:8px;width:fit-content}.chart-tab{padding:.5rem 1.25rem;background:transparent;border:none;font-size:.9rem;color:#64748b;cursor:pointer;border-radius:6px;transition:all .2s ease;font-weight:500}.chart-tab:hover{color:#1e293b}.chart-tab.active{color:#1e293b;font-weight:600;background:white;box-shadow:0 1px 3px rgba(0,0,0,.1)}@media (max-width:480px){.chart-tabs{width:100%}.chart-tab{padding:.4rem .75rem;font-size:.8rem;flex:1;text-align:center}}.age-distribution-container{display:flex;flex-direction:column;gap:1rem}.age-stats{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.age-stat-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.age-dot{width:12px;height:12px;border-radius:50%}.age-label{color:#64748b}.age-value{font-weight:600;color:#1e293b}.age-count{color:#94a3b8;font-size:.8rem}.economics-content{display:flex;flex-direction:column;gap:2rem}.economics-comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.comparison-box{background:#f8fafc;border-radius:12px;padding:1.25rem;border:1px solid #e2e8f0}.comparison-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.comparison-icon{font-size:1.25rem}.comparison-title{font-size:.8rem;color:#64748b;font-weight:500}.comparison-value{font-size:1.5rem;font-weight:700;color:#1e293b;margin-bottom:.25rem}.comparison-note{font-size:.75rem;color:#64748b}.comparison-note.positive{color:#22c55e}.comparison-note.negative{color:#ef4444}.income-section{padding:1.5rem;background:#f8fafc;border-radius:12px}.income-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}@media (max-width:640px){.income-stats-grid{grid-template-columns:1fr}}.income-stat-box{display:flex;flex-direction:column;gap:.25rem;padding:1rem;background:white;border-radius:8px;border:1px solid #e2e8f0;text-align:center}.income-stat-value{font-size:1.25rem;font-weight:700;color:#1e293b}.income-stat-label{font-size:.75rem;color:#64748b}.income-table-container{overflow-x:auto}.income-table{width:100%;border-collapse:collapse;background:white;border-radius:8px;overflow:hidden}.income-table td,.income-table th{padding:.875rem 1rem;text-align:left;border-bottom:1px solid #e2e8f0}.income-table th{font-weight:600;color:#475569;background:#f1f5f9;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.income-table .type-cell{color:#1e293b;font-weight:500}.income-table .value-cell{color:#64748b;font-family:monospace}.sources-list,.sources-list-detailed{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.source-item{display:flex;gap:1rem;padding:1rem;background:#f8fafc;border-radius:8px}.source-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#fc5736;color:white;border-radius:50%;font-size:.875rem;font-weight:600;flex-shrink:0}.source-content{flex:1}.source-title{display:block;color:#1e293b;font-weight:600;text-decoration:none;margin-bottom:.25rem}.source-title:hover{color:#fc5736;text-decoration:underline}.source-description{color:#64748b;font-size:.875rem;margin:0}.data-disclaimer{padding:1.5rem;background:#fef2f0;border-radius:8px;border-left:4px solid #fc5736}.data-disclaimer h4{color:#1e293b;margin:0 0 .5rem;font-size:1rem}.data-disclaimer p{color:#64748b;font-size:.875rem;margin:0;line-height:1.6}.county-page-layout{display:grid;grid-template-columns:200px 1fr;gap:2rem;max-width:1200px;margin:0 auto;padding:0 1rem}@media (max-width:900px){.county-page-layout{grid-template-columns:1fr}.county-contents{position:static;margin-bottom:1rem}.county-name{font-size:1.75rem}.county-stats-bar{gap:1rem}.county-stat .stat-value{font-size:1.25rem}}.county-main-content{min-width:0}#population{padding-top:0}#population .section-title{margin-bottom:1rem}.county-homepage{max-width:1400px;margin:0 auto;padding:2rem 1rem}.county-homepage-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.loading-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#fc5736;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.county-hero-section{margin-bottom:3rem}.county-hero-header{margin-bottom:1.5rem}.county-hero-title{font-size:4rem;font-weight:700;color:#1e293b;margin:0 0 .5rem;font-family:var(--page-title)}.county-count{color:#64748b;font-size:1rem;margin:0}.county-hero-controls{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;margin-bottom:1rem}.hero-search-container{display:flex;align-items:center;gap:.5rem;background:white;border:1px solid #e2e8f0;border-radius:8px;padding:.625rem 1rem;min-width:200px}.hero-search-icon{color:#94a3b8;stroke:#94a3b8;flex-shrink:0;position:static;width:18px;height:18px}.hero-search-input{border:none;background:transparent;outline:none;font-size:.9rem;width:100%;color:#1e293b}.hero-search-input::placeholder{color:#94a3b8}.download-btn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;color:#475569;cursor:pointer;transition:all .15s ease}.download-btn svg{width:18px;height:18px;stroke:#475569;stroke-width:2px;flex-shrink:0}.download-btn:hover{background:#fef2f0;border-color:#fc5736}.download-btn:hover svg{stroke:#fc5736}.county-hero-table-container{max-height:600px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:12px;background:white}.county-hero-table{width:100%;border-collapse:collapse;font-size:.9rem}.county-hero-table thead{position:sticky;top:0;z-index:10}.county-hero-table th{background:#f8fafc;padding:.875rem 1rem;text-align:left;font-weight:600;color:#475569;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #e2e8f0}.county-hero-table th.sortable{cursor:pointer}.county-hero-table td{padding:.75rem 1rem;border-bottom:1px solid #f1f5f9}.county-hero-table tr:hover td{background:#fef7f5}.county-hero-table .county-link{color:#1e293b;text-decoration:none;font-weight:500}.county-hero-table .county-link:hover{color:#fc5736;text-decoration:underline}.county-hero-table .state-link-bold{color:#1e293b;text-decoration:none;font-weight:600}.county-hero-table .state-link-bold:hover{color:#fc5736}.county-hero-table .pop-cell{font-family:system-ui,sans-serif;text-align:right;color:#475569}.county-hero-table .change-cell{text-align:right}.change-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;font-weight:500}.change-badge.positive{background:#dcfce7;color:#15803d}.change-badge.negative{background:#fee2e2;color:#b91c1c}.change-badge.neutral{background:#f1f5f9;color:#64748b}.table-note{margin-top:.75rem;text-align:center;color:#64748b;font-size:.875rem}.county-content-grid{display:grid;grid-template-columns:200px 1fr;gap:2rem}@media (max-width:900px){.county-content-grid{grid-template-columns:1fr}.county-sidebar{order:2}.county-main-area{order:1}}.county-sidebar{background:#f8fafc;border-radius:12px;padding:1.25rem;height:fit-content;position:sticky;top:100px}.sidebar-title{font-size:.875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem}.states-grid{display:flex;flex-direction:column;gap:.25rem}.state-link{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:6px;text-decoration:none;color:#334155;transition:all .15s ease}.state-link:hover{background:#e2e8f0;color:#fc5736}.state-abbr{font-size:.75rem;font-weight:600;color:#64748b;background:#e2e8f0;padding:.125rem .375rem;border-radius:4px;min-width:28px;text-align:center}.state-link:hover .state-abbr{background:#fc5736;color:white}.state-link-name{font-size:.9rem}.show-more-btn{width:100%;margin-top:.75rem;padding:.625rem 1rem;background:transparent;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;font-size:.875rem;cursor:pointer;transition:all .15s ease}.show-more-btn:hover{background:#e2e8f0;color:#1e293b}.county-homepage-main{min-width:0}.county-map-section{margin-bottom:2.5rem}.county-map-wrapper{background:#f8fafc;border-radius:12px;padding:1rem;min-height:400px}.county-map-container{position:relative;width:100%;min-height:400px}.county-map-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#f8fafc;color:#64748b}.hovered-county-info{margin-top:.75rem;padding:.75rem 1rem;background:#fef2f0;border-radius:8px;text-align:center;color:#1e293b;font-size:.9rem}.county-stats-section{margin-bottom:2.5rem}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}}.stats-card{background:#f8fafc;border-radius:12px;padding:1.25rem}.stats-card-title{gap:.5rem;font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 1rem}.stats-card-title,.stats-icon{display:flex;align-items:center}.stats-icon{justify-content:center;width:24px;height:24px;border-radius:6px;font-size:14px;font-weight:700}.stats-icon.growing{background:#dcfce7;color:#22c55e}.stats-icon.shrinking{background:#fee2e2;color:#ef4444}.stats-table{width:100%;border-collapse:collapse;font-size:.875rem}.stats-table td,.stats-table th{padding:.625rem .5rem;text-align:left}.stats-table th{font-weight:500;color:#64748b;border-bottom:1px solid #e2e8f0;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.stats-table td{border-bottom:1px solid #f1f5f9}.stats-table tr:last-child td{border-bottom:none}.county-link{color:#1e293b;text-decoration:none;font-weight:500}.county-link:hover{color:#fc5736;text-decoration:underline}.state-cell{color:#64748b}.growth-cell{font-weight:600;text-align:right}.growth-cell.positive{color:#22c55e}.growth-cell.negative{color:#ef4444}.county-table-section{margin-bottom:2.5rem}.table-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.table-header .section-title{margin:0}.table-header .search-container{display:flex;align-items:center;gap:.5rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem 1rem;min-width:250px}.table-header .search-icon{color:#94a3b8;flex-shrink:0}.county-search-input{border:none;background:transparent;outline:none;font-size:.9rem;width:100%;color:#1e293b}.county-search-input::placeholder{color:#94a3b8}.county-table-container{overflow-x:auto;background:white;border:1px solid #e2e8f0;border-radius:12px}.county-table{width:100%;border-collapse:collapse;font-size:.9rem}.county-table td,.county-table th{padding:.875rem 1rem;text-align:left}.county-table th{font-weight:600;color:#475569;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em;position:sticky;top:0}.county-table td{border-bottom:1px solid #f1f5f9}.county-table tr:hover td{background:#fef2f0}.rank-col{width:50px}.rank-cell{color:#94a3b8;font-weight:500}.pop-cell,.pop-col{text-align:right}.pop-cell{font-weight:500;color:#1e293b;font-family:monospace}.state-link-inline{color:#64748b;text-decoration:none}.state-link-inline:hover{color:#fc5736;text-decoration:underline}.load-more-container{display:flex;justify-content:center;margin-top:1.5rem}.load-more-btn{padding:.75rem 2rem;background:#fc5736;color:white;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s ease}.load-more-btn:hover{background:#e04e31}.county-sources-section{padding:1.5rem;background:#f8fafc;border-radius:12px}.sources-title{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 .75rem}.sources-list{margin:0;padding-left:1.25rem;color:#64748b;font-size:.875rem}.sources-list li{margin-bottom:.375rem}.sources-list a{color:#3b82f6;text-decoration:none}.sources-list a:hover{text-decoration:underline}.skeleton-row td{padding:.875rem 1rem}.skeleton-text{height:16px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:4px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.trends-section{margin-bottom:2rem}.trends-title{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0 0 1.5rem;font-family:var(--page-title)}.trends-subsection{margin-bottom:2rem}.trends-subsection h3{font-size:1.1rem;font-weight:600;color:#1e293b;margin:0 0 .75rem}.trends-description{color:#475569;line-height:1.7;margin:0 0 1rem;font-size:.95rem}.inline-link{color:#3b82f6;text-decoration:none}.inline-link:hover{text-decoration:underline}.mini-table-container{background:#f8fafc;border-radius:10px;overflow:hidden;margin-bottom:1rem}.mini-table{width:100%;border-collapse:collapse;font-size:.875rem}.mini-table th{background:#f1f5f9;padding:.75rem 1rem;text-align:left;font-weight:500;color:#64748b;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.mini-table td{padding:.625rem 1rem;border-bottom:1px solid #e2e8f0}.mini-table tr:last-child td{border-bottom:none}.mini-table .positive{color:#22c55e;font-weight:500}.mini-table .negative{color:#ef4444;font-weight:500}.map-section{margin:2rem 0}.county-map-full{background:#f8fafc;border-radius:12px;padding:1rem;min-height:450px}.county-map-full .county-map-container{min-height:450px}@media (max-width:768px){.county-hero-title{font-size:1.75rem}.county-hero-controls{flex-direction:column;align-items:stretch}.hero-search-container{min-width:100%}.county-hero-table-container{max-height:400px}.county-hero-table td,.county-hero-table th{padding:.5rem .75rem;font-size:.8rem}.trends-title{font-size:1.5rem}}