:root{--blue-900: #0f2d52;--blue-700: #1a4f8a;--blue-500: #2d7dd2;--blue-100: #dbeafe;--blue-50: #eff6ff;--white: #ffffff;--gray-900: #111827;--gray-700: #374151;--gray-500: #6b7280;--gray-200: #e5e7eb;--gray-100: #f3f4f6;--gold: #b8860b}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Georgia,Times New Roman,serif;font-size:17px;line-height:1.7;color:var(--gray-900);background:var(--white)}h1,h2,h3,h4,nav,.nav-logo,.btn,.badge{font-family:Helvetica Neue,Arial,sans-serif}h1{font-size:2.4rem;font-weight:700;line-height:1.2;color:var(--blue-900)}h2{font-size:1.75rem;font-weight:700;line-height:1.3;color:var(--blue-900);margin-bottom:1rem}h3{font-size:1.25rem;font-weight:600;color:var(--blue-700);margin-bottom:.5rem}p{margin-bottom:1.1rem;color:var(--gray-700)}a{color:var(--blue-500);text-decoration:underline}a:hover{color:var(--blue-700)}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}section{padding:4rem 0}section:nth-child(2n){background:var(--blue-50)}.site-nav{background:var(--blue-900);position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #00000040}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.nav-logo{color:var(--white);font-size:1rem;font-weight:700;text-decoration:none;letter-spacing:.02em;flex-shrink:0}.nav-logo span{color:var(--blue-100);font-weight:400}.nav-links{display:flex;list-style:none;gap:.25rem}.nav-links a{color:var(--blue-100);text-decoration:none;font-size:.9rem;font-weight:500;padding:.4rem .85rem;border-radius:4px;transition:background .15s,color .15s}.nav-links a:hover,.nav-links a.active{background:var(--blue-700);color:var(--white)}.nav-toggle{display:none;background:none;border:2px solid var(--blue-100);border-radius:4px;color:var(--white);padding:.3rem .55rem;cursor:pointer;font-size:1.25rem;line-height:1}.hero{background:linear-gradient(135deg,var(--blue-900) 0%,var(--blue-700) 100%);color:var(--white);padding:5rem 0;text-align:center}.hero h1{color:var(--white);font-size:2.8rem;margin-bottom:1.25rem}.hero .tagline{font-size:1.25rem;color:var(--blue-100);max-width:640px;margin:0 auto 2rem;font-family:Georgia,serif}.home-photo-band{padding:2.5rem 0 0}.home-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.home-photo-grid img{width:100%;height:280px;object-fit:cover;border-radius:10px;display:block}@media (max-width: 768px){.home-photo-grid{grid-template-columns:1fr}.home-photo-grid img{height:220px}}.hero-cta-row{display:flex;align-items:center;justify-content:center;gap:2rem;max-width:960px;margin:0 auto}.hero-cta-row .tagline{flex:1;margin:0}.hero-donate-btn{flex-shrink:0;white-space:nowrap;font-size:1rem;padding:.85rem 2rem}@media (max-width: 768px){.hero-cta-row{flex-direction:column;gap:1.25rem}.hero-cta-row .tagline{text-align:center}.hero-donate-btn{width:100%;max-width:280px;text-align:center}}.btn{display:inline-block;padding:.75rem 1.75rem;border-radius:6px;font-size:.95rem;font-weight:600;text-decoration:none;cursor:pointer;transition:opacity .15s,transform .1s}.btn:hover{opacity:.88;transform:translateY(-1px)}.btn-primary{background:var(--blue-500);color:var(--white)}.btn-outline{background:transparent;border:2px solid var(--white);color:var(--white)}.btn-disabled{background:var(--gray-200);color:var(--gray-500);border:none;font-family:inherit;cursor:not-allowed}.btn-disabled:hover{opacity:1;transform:none}.candidates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.75rem;margin-top:2rem}.candidate-card{background:var(--white);border:1px solid var(--gray-200);border-radius:10px;padding:1.75rem;box-shadow:0 2px 8px #0000000f;transition:box-shadow .2s}.candidate-card:hover{box-shadow:0 6px 20px #0000001a}.candidate-card-body{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.candidate-card-text{flex:1 1 55%;min-width:0}.candidate-photo{flex:0 0 120px;width:120px;height:120px;border-radius:50%;border:2px dashed var(--gray-200);background:var(--blue-100);object-fit:cover}img.candidate-photo{border-style:solid;border-color:var(--gray-200)}.card-area{display:inline-block;background:var(--blue-100);color:var(--blue-900);font-size:.78rem;font-weight:700;font-family:Helvetica Neue,Arial,sans-serif;padding:.2rem .65rem;border-radius:20px;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.75rem}.candidate-card h3{font-size:1.35rem;color:var(--blue-900)}.card-bio{font-size:.95rem;margin:.6rem 0 1rem}.card-tbd{border-style:dashed;border-color:var(--gray-200);background:var(--gray-100);opacity:.75}.card-tbd h3{color:var(--gray-500)}.info-box{background:var(--blue-50);border-left:4px solid var(--blue-500);border-radius:0 8px 8px 0;padding:1.25rem 1.5rem;margin:1.5rem 0}.info-box h3{margin-bottom:.4rem}.form-hidden{position:absolute;left:-9999px}.form-status{margin-top:1rem;font-size:.92rem;font-weight:600}.form-status.success{font-size:1.15rem;color:#1a7a4c}.form-status.error{color:#b3261e}.notice-box{background:#fffbeb;border-left:4px solid var(--gold);border-radius:0 8px 8px 0;padding:1.25rem 1.5rem;margin:1.5rem 0;font-size:.95rem}.check-list{list-style:none}.check-list li{padding:.4rem 0 .4rem 1.75rem;position:relative}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--blue-500);font-weight:700}.section-header{margin-bottom:2.5rem}.section-header h2{margin-bottom:.4rem}.section-header p{color:var(--gray-500);font-size:1.05rem;margin:0}.contact-form{max-width:560px}.contact-form label{display:block;font-family:Helvetica Neue,Arial,sans-serif;font-size:.88rem;font-weight:600;color:var(--gray-700);margin-bottom:.35rem;margin-top:1.1rem}.contact-form input,.contact-form textarea{width:100%;padding:.65rem .9rem;border:1.5px solid var(--gray-200);border-radius:6px;font-family:Georgia,serif;font-size:1rem;color:var(--gray-900);background:var(--white);transition:border-color .15s}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px #2d7dd226}.contact-form textarea{min-height:130px;resize:vertical}.contact-form .btn{margin-top:1.25rem}.site-footer{background:var(--blue-900);color:var(--blue-100);padding:2rem 0;font-family:Helvetica Neue,Arial,sans-serif;font-size:.82rem;text-align:center;line-height:1.8}.site-footer .fppc-disclosure{font-weight:600;color:var(--white);margin-bottom:.25rem}.site-footer .no-auth{color:var(--blue-100)}.site-footer .footer-links{margin-top:.75rem;display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.site-footer .footer-links a{color:var(--blue-100);text-decoration:none}.site-footer .footer-links a:hover{color:var(--white);text-decoration:underline}.page-hero{background:var(--blue-900);color:var(--white);padding:3rem 0 2.5rem}.page-hero h1{color:var(--white);font-size:2rem;margin-bottom:.5rem}.page-hero p{color:var(--blue-100);font-size:1.05rem;margin:0}@media (max-width: 768px){h1{font-size:1.9rem}.hero h1{font-size:2.1rem}section{padding:2.75rem 0}.nav-links{display:none;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:var(--blue-900);padding:1rem 1.5rem;gap:.1rem;border-top:1px solid rgba(255,255,255,.1)}.nav-links.open{display:flex}.nav-toggle{display:block}.nav-inner{position:relative}.candidates-grid{grid-template-columns:1fr}.candidate-card-body{flex-direction:column-reverse;align-items:center;text-align:center}.candidate-card-text{flex:1 1 auto}}
