.legislators-hero{background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color: white;padding: 8rem 2rem 4rem;text-align: center}.legislators-hero h1{font-size: 2.5rem;margin-bottom: 1rem}.legislators-hero p{font-size: 1.2rem;opacity: 0.9;max-width: 700px;margin: 0 auto}.state-selector{background: white;padding: 2rem;text-align: center;border-bottom: 1px solid var(--border)}.state-selector h2{color: var(--primary);margin-bottom: 1rem;font-size: 1.3rem}.state-tabs{display: flex;flex-wrap: wrap;justify-content: center;gap: 0.5rem;max-width: 900px;margin: 0 auto}.state-tabs button{padding: 0.6rem 1.2rem;border: 2px solid var(--primary);background: white;color: var(--primary);font-weight: 600;border-radius: 6px;cursor: pointer;transition: all 0.2s;font-size: 0.9rem}.state-tabs button.active, .state-tabs button:hover{background: var(--primary);color: white}.state-tabs button .state-abbr{display: none}@media (max-width: 600px){.state-tabs button .state-name{display: none}.state-tabs button .state-abbr{display: inline}}.search-section{background: var(--bg-alt);padding: 1.5rem 2rem;text-align: center}.search-box{max-width: 500px;margin: 0 auto}.search-box input{width: 100%;padding: 0.75rem 1rem;font-size: 1rem;border: 2px solid var(--border);border-radius: 8px;outline: none}.search-box input:focus{border-color: var(--primary)}.search-box p{margin-top: 0.5rem;color: var(--text-light);font-size: 0.85rem}.legislators-section{padding: 2rem;max-width: 1200px;margin: 0 auto}.state-content{display: none}.state-content.active{display: block}.state-content h2{color: var(--primary);margin-bottom: 0.5rem}.state-content .state-intro{color: var(--text-light);margin-bottom: 1.5rem}.chamber-tabs{display: flex;gap: 0.5rem;margin-bottom: 1.5rem}.chamber-tabs button{padding: 0.5rem 1.5rem;border: 2px solid var(--primary);background: white;color: var(--primary);font-weight: 600;border-radius: 6px;cursor: pointer;transition: all 0.2s}.chamber-tabs button.active, .chamber-tabs button:hover{background: var(--primary);color: white}.legislator-grid{display: grid;grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));gap: 1rem}.legislator-grid.hidden{display: none}.legislator-card{background: white;border-radius: 8px;padding: 1.25rem;box-shadow: 0 2px 8px rgba(0,0,0,0.05);border-left: 4px solid var(--primary);transition: transform 0.2s}.legislator-card:hover{transform: translateY(-2px);box-shadow: 0 4px 12px rgba(0,0,0,0.1)}.legislator-card h3{color: var(--primary);margin-bottom: 0.25rem;font-size: 1rem}.legislator-card .party{display: inline-block;padding: 0.1rem 0.4rem;border-radius: 3px;font-size: 0.7rem;font-weight: 600;margin-bottom: 0.25rem}.legislator-card .party.republican{background: #ffebee;color: #c62828}.legislator-card .party.democrat{background: #e3f2fd;color: #1565c0}.legislator-card .district{font-size: 0.85rem;color: var(--text-light);margin-bottom: 0.5rem}.legislator-card .contact-links{display: flex;flex-wrap: wrap;gap: 0.4rem}.legislator-card .contact-links a{display: inline-block;padding: 0.3rem 0.6rem;background: var(--bg-alt);color: var(--primary);border-radius: 4px;font-size: 0.8rem;text-decoration: none;transition: background 0.2s}.legislator-card .contact-links a:hover{background: var(--primary);color: white}.cta-section{background: var(--primary);color: white;padding: 3rem 2rem;text-align: center}.cta-section h2{color: white;margin-bottom: 1rem}.cta-section p{opacity: 0.9;margin-bottom: 1.5rem;max-width: 600px;margin-left: auto;margin-right: auto}.script-box{background: white;color: var(--text);max-width: 700px;margin: 0 auto 1.5rem;padding: 1.5rem;border-radius: 8px;text-align: left}.script-box h3{color: var(--primary);margin-bottom: 0.75rem}.script-box p{color: var(--text);font-style: italic;line-height: 1.7;font-size: 0.95rem}.no-results{text-align: center;padding: 2rem;color: var(--text-light)}.session-countdown{background: linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);color: white;padding: 1rem 2rem;text-align: center;font-weight: 600}.session-countdown .countdown-text{display: flex;align-items: center;justify-content: center;gap: 0.5rem;flex-wrap: wrap}.session-countdown .days-count{font-size: 1.5rem;font-weight: 700;background: white;color: var(--accent-dark);padding: 0.25rem 0.75rem;border-radius: 6px;margin: 0 0.25rem}.session-countdown .session-active{background: #28a745}.session-countdown .no-session{background: #6c757d}.session-countdown a{color: white;text-decoration: underline}.legal-aid-section{background: var(--bg-alt);padding: 2rem;margin-top: 1.5rem;border-radius: 8px;border-left: 4px solid var(--accent)}.legal-aid-section h3{color: var(--primary);margin: 0 0 1rem;font-size: 1.1rem}.legal-aid-list{list-style: none;padding: 0;margin: 0;display: grid;grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));gap: 0.75rem}.legal-aid-list li{background: white;padding: 0.75rem 1rem;border-radius: 6px;box-shadow: 0 1px 3px rgba(0,0,0,0.05)}.legal-aid-list a{color: var(--primary);text-decoration: none;font-weight: 600}.legal-aid-list a:hover{color: var(--accent);text-decoration: underline}.legal-aid-list .aid-desc{font-size: 0.85rem;color: var(--text-light);margin-top: 0.25rem}