*{box-sizing:border-box}html{font-size:16px;line-height:1.6}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#333;background:#fff}a{color:#c00;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{font-family:"Georgia",serif;line-height:1.3;margin-top:1.5em;margin-bottom:.5em}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}img{max-width:100%;height:auto}ul,ol{padding-left:1.5rem}.site-header{background:#0a3161;color:#fff;padding:1rem;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px rgba(0,0,0,.1)}.main-nav{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.main-nav .logo{font-family:"Georgia",serif;font-size:1.5rem;font-weight:bold;color:#fff;text-decoration:none}.main-nav .logo:hover{color:#fff;text-decoration:none}.main-nav .nav-links{list-style:none;margin:0;padding:0;display:flex;gap:2rem}.main-nav .nav-links a{color:#fff;text-decoration:none;padding:.5rem 0;border-bottom:2px solid rgba(0,0,0,0);transition:border-color .2s ease}.main-nav .nav-links a:hover{border-color:#c00;text-decoration:none}.main-content{max-width:1200px;margin:0 auto;padding:2rem;min-height:calc(100vh - 200px)}.site-footer{background:#f5f5f5;padding:2rem;text-align:center;color:#666;border-top:1px solid #ddd}.quote-banner{text-align:center;padding:2rem 0;margin-bottom:2rem;border-bottom:1px solid #ddd}.quote-banner blockquote{margin:0;font-family:"Georgia","Times New Roman",serif;font-style:italic;font-size:1.75rem;color:#666;letter-spacing:.02em}.recent-posts{margin:3rem 0}.recent-posts h2{margin-bottom:1.5rem}.post-list{display:flex;flex-direction:column;gap:1rem}.post-item{padding:1rem;border-left:3px solid #ddd;transition:border-color .2s ease}.post-item:hover{border-color:#c00}.post-item time{font-size:.85rem;color:#666}.post-item h3{margin:.25rem 0;font-size:1.1rem}.post-item h3 a{color:#333;text-decoration:none}.post-item h3 a:hover{color:#c00}.post-item p{margin:0;font-size:.9rem;color:#666}.view-all{display:inline-block;margin-top:1.5rem;font-weight:500}.featured-campaign{margin:3rem 0}.campaign-card{position:relative;padding:2rem;background:linear-gradient(135deg, rgba(10,49,97,.05), rgba(204,0,0,.03));border:1px solid #ddd;border-radius:8px;text-align:center}.campaign-card .campaign-badge{display:inline-block;padding:.25rem 1rem;background:#0a3161;color:#fff;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;margin-bottom:1rem}.campaign-card h2{margin:0 0 .5rem;font-size:2rem;color:#333}.campaign-card p{margin:0 0 1.5rem;color:#666;max-width:500px;margin-left:auto;margin-right:auto}.campaign-card .campaign-link{display:inline-block;padding:.5rem 1.5rem;background:#c00;color:#fff;text-decoration:none;border-radius:4px;font-weight:500;transition:background .2s ease}.campaign-card .campaign-link:hover{background:#900}.onboard-yes{background:rgba(40,167,69,.08)}.onboard-no{background:repeating-linear-gradient(-45deg, rgba(220,53,69,.06), rgba(220,53,69,.06) 4px, rgba(220,53,69,.12) 4px, rgba(220,53,69,.12) 8px)}.onboard-pending{background:rgba(255,193,7,.1)}.card{border:1px solid #ddd;border-radius:8px;padding:1.5rem;background:#fff;transition:box-shadow .2s ease,transform .2s ease}.card:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.notice,.alternative-notice,.alternatives-list{padding:1rem 1.5rem;margin:2rem 0;border-radius:0 8px 8px 0;border-left:4px solid}.notice h2,.alternative-notice h2,.alternatives-list h2,.notice h3,.alternative-notice h3,.alternatives-list h3,.notice h4,.alternative-notice h4,.alternatives-list h4{margin-top:0;border:none}.notice.notice-warning,.notice-warning.alternative-notice,.notice-warning.alternatives-list{background:#ffeeba;border-color:#ffc107}.notice.notice-warning h2,.notice-warning.alternative-notice h2,.notice-warning.alternatives-list h2,.notice.notice-warning h3,.notice-warning.alternative-notice h3,.notice-warning.alternatives-list h3,.notice.notice-warning h4,.notice-warning.alternative-notice h4,.notice-warning.alternatives-list h4{color:#6d5200}.notice.notice-danger,.notice-danger.alternative-notice,.notice-danger.alternatives-list{background:#fae3e5;border-color:#dc3545}.notice.notice-success,.notice-success.alternative-notice,.notice-success.alternatives-list{background:#c4f1ce;border-color:#28a745}.alternative-notice,.alternatives-list{background:#ffeeba;border-color:#ffc107}.alternative-notice h2,.alternatives-list h2{margin-top:0;color:#6d5200;border:none}.breadcrumb{font-size:.9rem;color:#666;margin-bottom:1rem}.breadcrumb a{color:#666}.breadcrumb a:hover{color:#c00}.biography{max-width:800px;margin:0 auto}.bio-header{display:grid;grid-template-columns:200px 1fr;gap:2rem;margin-bottom:2rem;align-items:start}@media (max-width: 600px){.bio-header{grid-template-columns:1fr;text-align:center}}.bio-photo img{border-radius:8px;width:100%;aspect-ratio:1;object-fit:cover;box-shadow:0 4px 6px rgba(0,0,0,.1)}.bio-intro h1{margin-top:0;margin-bottom:.5rem}.bio-intro .position{font-size:1.25rem;color:#666;margin:.25rem 0}.bio-intro .office-sought{margin:.5rem 0}.bio-intro .office-sought strong{color:#c00}.bio-intro .party{color:#c00;font-weight:500}.bio-content h2,.bio-content h3{border-bottom:2px solid #ddd;padding-bottom:.5rem}.bio-contact{background:#f5f5f5;padding:1.5rem;border-radius:8px;margin:2rem 0}.bio-contact h2{margin-top:0;border:none}.bio-contact ul{list-style:none;padding:0;margin:0}.bio-contact ul li{padding:.5rem 0;border-bottom:1px solid #ddd}.bio-contact ul li:last-child{border-bottom:none}.campaign-page .campaign-header{margin-bottom:2rem}.campaign-page .campaign-header h1{margin-bottom:.5rem}.campaign-page .campaign-header .election-year{font-size:1.25rem;color:#666}.campaign-page .campaign-content{margin-bottom:2rem}.candidate-cards{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:1.5rem;margin:2rem 0}.candidate-card{border:1px solid #ddd;border-radius:8px;padding:1.5rem;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1)}.candidate-card h3{margin:0 0 .5rem 0}.candidate-card .office{color:#666;margin-bottom:1rem}.candidate-card .alternatives{margin-top:1rem;padding-top:1rem;border-top:1px solid #ddd}.candidate-card .alternatives h4{margin:0 0 .5rem 0;font-size:.9rem;color:#666}.scc-section{margin:3rem 0}.scc-map-container{display:grid;grid-template-columns:1fr 350px;gap:2rem;margin:2rem 0}@media (max-width: 900px){.scc-map-container{grid-template-columns:1fr}}.scc-map svg{width:100%;height:auto}.scc-map svg path,.scc-map svg polygon{cursor:pointer;transition:fill .2s ease,stroke .2s ease}.scc-map svg path:hover,.scc-map svg polygon:hover,.scc-map svg path.active,.scc-map svg polygon.active{fill:#c00 !important}.scc-map svg path.selected,.scc-map svg polygon.selected{fill:#900 !important;stroke:#600}.scc-list{max-height:600px;overflow-y:auto;border:1px solid #ddd;border-radius:8px;padding:1rem}.scc-list h3{margin-top:0}.district-item{padding:.75rem;margin-bottom:.5rem;border-radius:4px;background:#f5f5f5;cursor:pointer;transition:background .2s ease}.district-item:hover,.district-item.active{background:#ffb3b3}.district-item.selected{background:#f99;border-left:4px solid #c00}.district-item h4{margin:0 0 .5rem 0;color:#333}.district-member{display:flex;align-items:center;gap:.5rem;padding:.5rem 0 0 0;font-size:.9rem}.district-member .member-portrait{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.district-member .member-info{display:flex;justify-content:space-between;align-items:center;flex:1;min-width:0}.district-member .name{font-weight:500}.district-member .county{color:#666;font-size:.8rem}.district-contact{font-size:.85rem;color:#666;word-wrap:break-word}.district-contact a{color:#c00}.district-alternative{font-size:.85rem;padding:.5rem;margin-top:.5rem;background:#ffeeba;border-radius:4px}.section-page .page-list{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:1.5rem;margin-top:2rem}.section-page .page-card{border:1px solid #ddd;border-radius:8px;padding:1.5rem;background:#fff;transition:box-shadow .2s ease,transform .2s ease}.section-page .page-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.section-page .page-card .page-thumb{width:80px;height:80px;border-radius:50%;object-fit:cover;float:right;margin-left:1rem}.section-page .page-card h2{margin:0 0 .5rem 0;font-size:1.25rem}.section-page .page-card p{color:#666;margin:0}.section-page .subsection-list{margin-top:2rem}.section-page .subsection-list .subsection-link{display:inline-block;margin-right:1rem;padding:.5rem 1rem;background:#f5f5f5;border-radius:4px}.section-page .subsection-list .subsection-link:hover{background:#e8e8e8;text-decoration:none}.blog-index,.blog-year,.blog-month{max-width:800px;margin:0 auto}.blog-card{padding:1.5rem 0;border-bottom:1px solid #ddd}.blog-card:last-child{border-bottom:none}.blog-card h3{margin:0 0 .5rem 0}.blog-card time{font-size:.9rem;color:#666}.blog-card p{margin:.5rem 0 0;color:#666}.blog-card .author{font-size:.9rem;color:#666;font-style:italic}.blog-years,.blog-months{margin:2rem 0}.blog-years h2,.blog-months h2{margin-bottom:1rem}.blog-years .year-list,.blog-years .month-list,.blog-months .year-list,.blog-months .month-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.blog-years .year-list li a,.blog-years .month-list li a,.blog-months .year-list li a,.blog-months .month-list li a{display:inline-block;padding:.5rem 1rem;background:#f5f5f5;border-radius:4px}.blog-years .year-list li a:hover,.blog-years .month-list li a:hover,.blog-months .year-list li a:hover,.blog-months .month-list li a:hover{background:#e8e8e8;text-decoration:none}.blog-post{max-width:800px;margin:0 auto}.blog-post .post-header{margin-bottom:2rem}.blog-post .post-header h1{margin-bottom:.5rem}.blog-post .post-meta{color:#666;font-size:.9rem;display:flex;gap:1rem;flex-wrap:wrap}.blog-post .post-meta .author{font-style:italic}.blog-post .post-tags{margin-top:1rem;display:flex;gap:.5rem;flex-wrap:wrap}.blog-post .post-tags .tag{padding:.25rem .5rem;background:#f5f5f5;border-radius:4px;font-size:.8rem;color:#666}.blog-post .post-content{line-height:1.8}.blog-post .post-content p{margin-bottom:1.5rem}.blog-post .post-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid #ddd;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}.blog-post .post-footer a{color:#666}.blog-post .post-footer a:hover{color:#c00}.tweet-embed{margin:1.5rem 0;padding:0;border-left:4px solid #c00;background:#f5f5f5;border-radius:0 8px 8px 0;overflow:hidden}.tweet-embed .tweet-content{margin:0;padding:1.25rem 1.5rem 1rem;font-size:1rem;line-height:1.6;color:#333;white-space:pre-wrap}.tweet-embed .tweet-content p{margin:0 0 .75rem}.tweet-embed .tweet-content p:last-child{margin-bottom:0}.tweet-embed .tweet-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;padding:.75rem 1.5rem;background:#e8e8e8;font-size:.875rem;color:#666}.tweet-embed .tweet-author{font-weight:600;color:#333}.tweet-embed .tweet-date{color:#666}.tweet-embed .tweet-links{margin-left:auto;display:flex;gap:1rem}.tweet-embed .tweet-links a{color:#666;font-size:.8125rem}.tweet-embed .tweet-links a:hover{color:#c00}.page-preview{display:block;text-decoration:none;margin:1.5rem 0}.page-preview:hover{text-decoration:none}.page-preview:hover .page-preview-card{border-color:#c00;box-shadow:0 4px 12px rgba(0,0,0,.1)}.page-preview:hover .page-preview-link{color:#c00}.page-preview-card{display:flex;gap:1rem;padding:1rem;background:#f5f5f5;border:1px solid #ddd;border-radius:8px;transition:border-color .2s ease,box-shadow .2s ease}.page-preview-image{width:120px;height:90px;object-fit:cover;border-radius:4px;flex-shrink:0}.page-preview-content{flex:1;min-width:0}.page-preview-title{margin:0 0 .5rem;font-size:1.125rem;color:#333}.page-preview-desc{margin:0 0 .5rem;font-size:.9rem;color:#666;line-height:1.5}.page-preview-link{font-size:.875rem;font-weight:500;color:#666;transition:color .2s ease}.bio-link{display:inline-flex;align-items:center;gap:.25rem;text-decoration:none;color:#c00;font-weight:500}.bio-link:hover{text-decoration:underline}.bio-link:hover .bio-link-portrait{transform:scale(1.05)}.bio-link.bio-link-medium{gap:.5rem}.bio-link.bio-link-medium .bio-link-portrait{width:64px;height:64px}.bio-link-portrait{width:24px;height:24px;border-radius:50%;object-fit:cover;transition:transform .2s ease}.bio-link-county{font-weight:400;color:#666;font-size:.9em}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.my-1{margin-top:.5rem;margin-bottom:.5rem}.my-2{margin-top:1rem;margin-bottom:1rem}.my-3{margin-top:1.5rem;margin-bottom:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.d-none{display:none}.d-block{display:block}.d-flex{display:flex}.d-grid{display:grid}.flex-wrap{flex-wrap:wrap}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.align-center{align-items:center}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.w-100{width:100%}.max-w-content{max-width:800px}@media print{.site-header,.site-footer{display:none}.main-content{padding:0}a{color:#333}.no-print{display:none}}