/* BeHeardSCV.com - Neutral, Robust Professional Styling */
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:85px}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background-color:#f4f6f8;color:#2c3e50;line-height:1.6}
.navbar{background:#2c3e50;color:white;position:sticky;top:0;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,.15)}.nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;gap:18px}.logo{font-size:1.5rem;font-weight:800;letter-spacing:-.5px;white-space:nowrap}.logo span{color:#bdc3c7}.nav-menu{display:flex;gap:15px;flex-wrap:wrap}.nav-menu a{color:#bdc3c7;text-decoration:none;font-weight:600;font-size:.9rem;transition:color .2s}.nav-menu a:hover,.nav-menu a:focus-visible{color:white}
.container{max-width:1200px;margin:30px auto;padding:0 1.5rem}.hero-banner{background:linear-gradient(135deg,#34495e 0%,#2c3e50 100%);color:white;padding:3rem 2rem;border-radius:10px;margin-bottom:30px;text-align:center;box-shadow:0 4px 15px rgba(0,0,0,.08)}.hero-banner h1{font-size:2.2rem;margin-bottom:12px}.hero-banner p{font-size:1.05rem;color:#ecf0f1;max-width:800px;margin:0 auto}
.section{background:white;padding:30px;border-radius:10px;margin-bottom:30px;box-shadow:0 2px 8px rgba(0,0,0,.05)}.section-header{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:2px solid #ecf0f1;padding-bottom:12px;margin-bottom:20px}.section-header h2{font-size:1.35rem;color:#2c3e50}.badge{background:#ecf0f1;color:#34495e;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.badge.highlight{background:#34495e;color:white}.section-desc{margin-bottom:20px;color:#7f8c8d}
.about-content p{margin-bottom:12px;color:#34495e}.mission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.mission-card{background:#f8f9fa;border:1px solid #e9ecef;padding:20px;border-radius:8px;text-align:center}.mission-card i{font-size:2rem;color:#34495e;margin-bottom:12px}.mission-card h3{font-size:1.1rem;color:#2c3e50;margin-bottom:8px}.mission-card p{font-size:.9rem;color:#6c757d}.mission-card a{color:#2c3e50;font-weight:600}
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.news-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;display:flex;flex-direction:column}.news-tag{background:#34495e;color:white;display:inline-block;align-self:flex-start;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:4px;margin-bottom:10px}.news-card h3{font-size:1.1rem;color:#2c3e50;margin-bottom:8px}.news-meta{font-size:.8rem;color:#7f8c8d;margin-bottom:10px}.news-card p{font-size:.92rem;color:#555;flex-grow:1;margin-bottom:15px}.read-more{color:#2c3e50;text-decoration:none;font-weight:700;font-size:.88rem}.read-more:hover{text-decoration:underline}
.race-category{margin-bottom:25px}.race-category h3{font-size:1.05rem;color:#2c3e50;margin-bottom:12px;background:#ecf0f1;padding:8px 12px;border-radius:6px}.candidate-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:15px}.candidate-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #7f8c8d;padding:15px;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.candidate-card h4{font-size:1rem;color:#2c3e50;margin-bottom:2px}.district-tag{font-size:.75rem;font-weight:700;color:#7f8c8d;display:block;margin-bottom:8px;text-transform:uppercase}.candidate-card p{font-size:.85rem;color:#555}
.disclaimer{background:#fdfefe;border:1px solid #d5dbdb;border-left:5px solid #7f8c8d;padding:15px;border-radius:6px;margin-bottom:25px;font-size:.9rem;color:#34495e;display:flex;gap:12px;align-items:flex-start}.disclaimer a{color:#2c3e50;font-weight:700}.form-title{font-weight:700;font-size:1rem;color:#2c3e50;margin-bottom:15px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px;margin-bottom:20px}.form-group label{display:block;font-weight:600;font-size:.88rem;margin-bottom:5px}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #cbd5e0;border-radius:6px;font-size:.95rem;background:white}.form-group input:focus,.form-group select:focus{outline:none;border-color:#34495e;box-shadow:0 0 0 3px rgba(52,73,94,.15)}.hint{display:block;font-size:.8rem;color:#687782;margin-top:7px}.error{color:#c0392b;font-size:.8rem;display:block;margin-top:4px}.form-divider{border:0;height:1px;background:#ecf0f1;margin:25px 0}.radio-options{display:flex;flex-direction:column;gap:8px}.radio-card{display:flex;align-items:center;background:white;padding:10px 15px;border:1px solid #d5dbdb;border-radius:6px;cursor:pointer;transition:all .2s}.radio-card:hover{border-color:#34495e;background:#f4f6f7}.radio-card input{margin-right:12px}.radio-card span{font-size:.92rem;font-weight:600}.consent{display:flex;align-items:flex-start;gap:9px;margin-top:18px;font-size:.88rem}.consent input{margin-top:5px}.submit-btn{width:100%;background:#34495e;color:white;border:none;padding:14px;font-size:1rem;font-weight:700;border-radius:6px;cursor:pointer;transition:background .2s;margin-top:15px}.submit-btn:hover{background:#2c3e50}.submit-btn:disabled{opacity:.6;cursor:wait}#formStatus{margin-top:15px;text-align:center;font-weight:700;font-size:.95rem}
.results-grid{display:flex;flex-direction:column;gap:20px}.result-race-block h4{font-size:.98rem;color:#2c3e50;margin-bottom:10px}.bar-container{margin-bottom:8px}.bar-label{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;margin-bottom:4px}.bar-track{background:#ecf0f1;height:18px;border-radius:9px;overflow:hidden}.bar-fill{background:#7f8c8d;height:100%;width:0%;transition:width .5s ease-in-out}footer{background:#1a252f;color:#95a5a6;padding:30px 1.5rem;font-size:.85rem;text-align:center}footer a{color:#bdc3c7;text-decoration:none}footer a:hover{text-decoration:underline}
@media(max-width:768px){.nav-container{flex-direction:column;gap:12px}.nav-menu{justify-content:center}.section{padding:20px}.section-header{align-items:flex-start;flex-wrap:wrap}.hero-banner h1{font-size:1.7rem}}@media(max-width:420px){.container{padding:0 12px}.nav-container{padding:12px}.nav-menu{gap:10px}}
