*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#333;background-color:#fff}.container{max-width:1200px;margin:0 auto;padding:0 20px}.navbar{background-color:#1a1a1a;padding:1rem 0;position:sticky;top:0;z-index:1000;box-shadow:0 2px 5px rgba(0,0,0,0.1)}.navbar .container{display:flex;justify-content:space-between;align-items:center}.nav-brand{color:#fff;font-size:1.5rem;font-weight:bold;letter-spacing:1px}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-menu a{color:#fff;text-decoration:none;font-weight:500;transition:color 0.3s ease}.nav-menu a:hover{color:#c8102e}.early-voting-banner{background-color:#c8102e;color:#fff;text-align:center;padding:0.75rem 0;font-size:1.05rem;letter-spacing:0.3px}.hero{position:relative;width:100%;min-height:500px;margin:0;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;text-align:center}.hero-bg{position:absolute;inset:0;width:100%;height:160%;object-fit:cover;object-position:center;z-index:0}.hero-card{position:relative;z-index:1;background:rgba(30,30,30,0.60);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:10px;padding:16px 36px;max-width:500px;width:90%;box-shadow:0 6px 30px rgba(0,0,0,0.5)}.hero-card h1{font-size:1.8rem;font-weight:900;letter-spacing:3px;margin-bottom:0.2rem;text-shadow:1px 1px 4px rgba(0,0,0,0.4)}.hero-card h2{font-size:0.85rem;font-weight:400;letter-spacing:2px;margin-bottom:0.4rem;opacity:0.95}.hero-card p{font-size:0.85rem;font-style:italic;opacity:0.9;margin-bottom:1rem}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-block;padding:15px 40px;text-decoration:none;border-radius:5px;font-weight:600;font-size:1.1rem;transition:all 0.3s ease;border:none;cursor:pointer}.btn-primary{background-color:#c8102e;color:#fff;border:2px solid #c8102e}.btn-primary:hover{background-color:#a00d26;transform:translateY(-2px);box-shadow:0 5px 15px rgba(200,16,46,0.4)}.btn-secondary{background-color:transparent;color:#fff;border:2px solid #fff}.btn-secondary:hover{background-color:#fff;color:#1e3a8a;transform:translateY(-2px)}.btn-outline{background:transparent;color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.5);padding:10px 28px;font-size:0.95rem}.btn-outline:hover{background:rgba(255,255,255,.15);color:#fff;border-color:#fff}.hero-buttons-sub{margin-top:0.5rem}section{padding:80px 0}.section-title{font-size:2.5rem;text-align:center;margin-bottom:1rem;color:#1a1a1a;font-weight:700}.section-subtitle{text-align:center;font-size:1.2rem;color:#666;margin-bottom:3rem}.about{background-color:#f8f9fa}.about-content{display:grid;grid-template-columns:1fr 2fr;gap:3rem;align-items:start}.about-image{position:sticky;top:100px}.candidate-photo{width:100%;height:auto;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,0.2);object-fit:cover}.about-text h3{font-size:2rem;margin-bottom:1.5rem;color:#1e3a8a}.about-text p{font-size:1.1rem;margin-bottom:1.5rem;line-height:1.8;color:#555}.about-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:2rem}.highlight-item{background-color:#fff;padding:1.5rem;border-radius:8px;border-left:4px solid #c8102e;box-shadow:0 2px 10px rgba(0,0,0,0.1)}.highlight-item h4{color:#1e3a8a;margin-bottom:0.5rem;font-size:1.2rem}.highlight-item p{color:#666;font-size:0.95rem;margin-bottom:0}.issues{background-color:#fff}.issues-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.issue-card{background-color:#f8f9fa;padding:2rem;border-radius:10px;text-align:center;transition:all 0.3s ease;border:2px solid transparent}.issue-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,0.15);border-color:#c8102e}.issue-icon{font-size:3rem;margin-bottom:1rem}.issue-card h3{color:#1e3a8a;margin-bottom:1rem;font-size:1.5rem}.issue-card p{color:#555;line-height:1.7}.endorsements-section{padding:80px 0;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%)}.endorsement-feature{display:flex;align-items:center;gap:3rem;max-width:900px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,0.08);overflow:hidden}.endorsement-image{flex:0 0 45%}.endorsement-photo{width:100%;height:100%;object-fit:cover;display:block}.endorsement-text{padding:2rem 2rem 2rem 0}.endorsement-text h3{color:#1e3a8a;font-size:1.5rem;margin-bottom:1rem;line-height:1.3}.endorsement-text p{color:#555;line-height:1.7;margin-bottom:1rem}.endorsement-names{color:#1e3a8a;font-weight:bold;font-size:1.1rem;letter-spacing:0.5px}.endorsement-quote{font-style:italic;font-size:1.1rem;color:#1a3a6b;border-left:4px solid #c8102e;padding:0.75rem 1.25rem;margin:0.5rem 0 1rem 0;background:#f0f4ff;border-radius:0 6px 6px 0;line-height:1.6}.quote-attribution{display:block;margin-top:0.5rem;font-weight:600;font-size:0.95rem;color:#1e3a8a;font-style:normal}.endorsement-ad{text-align:center;margin-top:2.5rem}.endorsement-ad-img{max-width:480px;width:100%;height:auto;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,0.12)}.endorsement-ad-caption{margin-top:0.75rem;font-size:0.9rem;color:#888;font-style:italic}@media (max-width:768px){.endorsement-feature{flex-direction:column}.endorsement-image{flex:none;width:100%}.endorsement-text{padding:1.5rem}.endorsement-ad-img{max-width:100%}}.cta{background:linear-gradient(135deg,#1e3a8a 0%,#c8102e 100%);color:#fff;text-align:center;padding:60px 0}.cta h2{font-size:2.5rem;margin-bottom:1rem}.cta p{font-size:1.3rem;margin-bottom:2rem}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.facebook-follow-link{color:#1877f2;text-decoration:none;font-weight:600}.facebook-follow-link:hover{text-decoration:underline}.social-cta{text-align:center;margin-top:2.5rem}.contact{background-color:#f8f9fa}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2rem}.contact-info h3,.contact-form-container h3{color:#1e3a8a;margin-bottom:1.5rem;font-size:1.8rem}.contact-item{margin-bottom:1.5rem;padding:1rem;background-color:#fff;border-radius:8px;border-left:4px solid #c8102e}.contact-item strong{display:block;color:#1e3a8a;margin-bottom:0.5rem}.contact-item a{color:#c8102e;text-decoration:none;font-size:1.1rem}.contact-item a:hover{text-decoration:underline}.contact-item span{font-size:1.1rem;color:#555}.social-links{margin-top:2rem}.social-btn{display:inline-block;padding:12px 30px;background-color:#1877f2;color:#fff;text-decoration:none;border-radius:5px;font-weight:600;transition:all 0.3s ease}.social-btn:hover{background-color:#1464c9;transform:translateY(-2px);box-shadow:0 5px 15px rgba(24,119,242,0.4)}.contact-form-container{background-color:#fff;padding:2rem;border-radius:10px;box-shadow:0 5px 20px rgba(0,0,0,0.1)}.alert{padding:15px 20px;margin-bottom:20px;border-radius:5px;font-size:1rem;line-height:1.5}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.form-group{margin-bottom:1.5rem}.contact-form input,.contact-form textarea{width:100%;padding:12px 15px;border:2px solid #ddd;border-radius:5px;font-size:1rem;font-family:inherit;transition:border-color 0.3s ease}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#1e3a8a}.contact-form textarea{resize:vertical}.contact-form button{width:100%}.modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,0.6);animation:fadeIn 0.3s ease-out}.modal-content{background-color:#fff;margin:5% auto;padding:2.5rem;border-radius:10px;max-width:600px;width:90%;box-shadow:0 10px 40px rgba(0,0,0,0.3);position:relative;animation:slideDown 0.3s ease-out}@keyframes slideDown{from{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h2{color:#1e3a8a;margin-bottom:1rem;font-size:2rem}.modal-content p{color:#666;margin-bottom:2rem}.close{color:#999;position:absolute;top:15px;right:25px;font-size:35px;font-weight:bold;cursor:pointer;transition:color 0.3s ease}.close:hover,.close:focus{color:#c8102e}.yardsign-form .form-group{margin-bottom:1.5rem}.yardsign-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.yardsign-form input{width:100%;padding:12px 15px;border:2px solid #ddd;border-radius:5px;font-size:1rem;font-family:inherit;transition:border-color 0.3s ease}.yardsign-form input:focus{outline:none;border-color:#1e3a8a}.yardsign-form button{width:100%;margin-top:1rem}.cta-buttons button{background-color:transparent;color:#fff;border:2px solid #fff;padding:15px 40px;text-decoration:none;border-radius:5px;font-weight:600;font-size:1.1rem;transition:all 0.3s ease;cursor:pointer}.cta-buttons button:hover{background-color:#fff;color:#1e3a8a;transform:translateY(-2px)}.footer{background-color:#1a1a1a;color:#fff;text-align:center;padding:2rem 0}.footer p{margin-bottom:0.5rem}.disclaimer{font-size:0.9rem;color:#999}.footer-credit{font-size:0.8rem;color:#666;margin-top:0.5rem}.footer-credit a{color:#aaa;text-decoration:none;transition:color 0.2s ease}.footer-credit a:hover{color:#fff}@media (max-width:768px){.nav-menu{flex-direction:column;gap:0.5rem}.hero-card h1{font-size:2rem}.hero-card h2{font-size:1rem}.about-content{grid-template-columns:1fr}.about-image{position:static}.contact-content{grid-template-columns:1fr}.issues-grid{grid-template-columns:1fr}.section-title{font-size:2rem}}@media (max-width:480px){.navbar .container{flex-direction:column;gap:1rem}.hero-card{padding:24px 28px}.hero-card h1{font-size:1.8rem}.hero-card h2{font-size:0.9rem}.btn{padding:12px 25px;font-size:1rem}section{padding:40px 0}.modal-content{margin:10% auto;padding:1.5rem;width:95%}.modal-content h2{font-size:1.5rem}.yardsign-form .form-row{grid-template-columns:1fr}.close{top:10px;right:15px;font-size:28px}}html{scroll-behavior:smooth}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-card > *{animation:fadeIn 0.6s ease-out}.about-quote{font-style:italic;font-size:1.1rem;color:#1a3a6b;border-left:4px solid #1a3a6b;padding:0.75rem 1.25rem;margin:1.5rem 0;background:#f0f4ff;border-radius:0 6px 6px 0}.hero-tagline{font-size:1.3rem;font-style:italic;margin-bottom:0.25rem}.hero-party{font-size:0.95rem;letter-spacing:0.05em;opacity:0.85;margin-bottom:1.5rem}.election-dates{background:#1a3a6b;color:#fff;padding:1.25rem 0}.dates-grid{display:flex;align-items:center;justify-content:center;gap:2.5rem;flex-wrap:wrap}.date-item{display:flex;flex-direction:column;align-items:center;gap:0.2rem}.date-label{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.1em;opacity:0.75}.date-value{font-size:1.3rem;font-weight:700}.date-divider{font-size:1.5rem;color:#c8a951}.news-section{background:#f7f8fa;padding:5rem 0}.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.news-card{background:#fff;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,0.08);padding:1.5rem;display:flex;flex-direction:column;gap:0.6rem;overflow:hidden}.news-card .news-image{width:calc(100% + 3rem);margin:-1.5rem -1.5rem 0.5rem -1.5rem;border-radius:8px 8px 0 0;object-fit:cover;max-height:380px;display:block}.news-date{font-size:0.78rem;color:#888;font-weight:600;text-transform:uppercase;letter-spacing:0.06em}.news-title{font-size:1.08rem;font-weight:700;color:#1a2236;margin:0;line-height:1.3}.news-body{font-size:0.93rem;color:#444;line-height:1.65;margin:0}.news-quote{border-left:3px solid #c8102e;padding-left:1rem;font-style:italic;color:#555;margin:0.25rem 0;font-size:0.92rem;line-height:1.55}.page-hero{background:linear-gradient(135deg,#1e3a8a,#1a3a6b);color:#fff;padding:64px 20px 54px;text-align:center}.page-hero h1{font-size:clamp(30px,5vw,46px);margin:0 0 12px;color:#fff;line-height:1.15}.page-hero p{font-size:18px;color:#dbe4ff;max-width:740px;margin:0 auto;line-height:1.6}.crumbs{font-size:14px;color:#64748b;padding:14px 0}.crumbs a{color:#1e3a8a;text-decoration:none}.crumbs a:hover{text-decoration:underline}.prose-section{padding:56px 0}.prose-section .container{max-width:840px}.prose-section h2{color:#1e3a8a;margin:1.6em 0 .5em;font-size:26px}.prose-section h2:first-child{margin-top:0}.prose-section h3{color:#1a3a6b;margin:1.2em 0 .4em}.prose-section p{line-height:1.8;color:#333;margin:0 0 1.1em}.prose-section ul{line-height:1.8;color:#333;margin:0 0 1.2em;padding-left:1.3em}.prose-section li{margin-bottom:.5em}.pull-quote{border-left:4px solid #c8102e;background:#f8f9fa;padding:16px 22px;margin:24px 0;font-style:italic;color:#1a1a1a;font-size:18px}.page-cta{background:#f0f4ff;padding:54px 20px;text-align:center}.page-cta h2{color:#1e3a8a;margin:0 0 10px}.page-cta p{color:#444;max-width:620px;margin:0 auto 22px}.page-cta .btn{margin:6px}.footer-nav{margin:0 0 16px;line-height:2}.footer-nav a{color:#cbd5e1;text-decoration:none;margin:0 9px;font-size:14px}.footer-nav a:hover{color:#c8102e}.fact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin:26px 0}.fact-card{background:#fff;border:1px solid #e6e9f0;border-left:4px solid #c8102e;border-radius:8px;padding:20px}.fact-card h3{color:#1e3a8a;margin:0 0 6px;font-size:17px}.fact-card p{margin:0;color:#333;line-height:1.6}