.navigation{background:#fff;color:#514e4c;box-shadow:0 1px #514e4c1a;position:sticky;top:0;z-index:1000}.nav-container{max-width:1400px;margin:0 auto;padding:1.25rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.nav-brand{display:flex;align-items:center;gap:1rem;animation:slideInLeft .6s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.brand-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#514e4c;border-radius:50%;transition:all .3s ease}.brand-icon:hover{transform:scale(1.05);background:#3a3836}.brand-icon svg{color:#fff}.brand-text{display:flex;flex-direction:column;gap:.1rem}.brand-name{font-size:1.75rem;font-weight:400;letter-spacing:.02em;margin:0;color:#514e4c;font-family:Roboto Flex,sans-serif}.brand-tagline{font-size:.7rem;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:#7a7775;margin:0}.nav-tabs{display:flex;gap:.5rem;animation:slideInRight .6s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.nav-tab{padding:.75rem 1.5rem;text-decoration:none;color:#514e4c;font-weight:500;font-size:.9rem;border-radius:0;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;position:relative;border:1px solid transparent}.nav-tab:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--accent-emphasis);transition:all .3s ease;transform:translate(-50%)}.nav-tab:hover:after{width:100%}.nav-tab:hover{color:var(--accent-emphasis)}.nav-tab.active{color:var(--accent-emphasis);background:transparent;border-bottom:2px solid var(--accent-emphasis)}.nav-tab.active:after{display:none}.nav-tab svg{flex-shrink:0;color:#514e4c}@media (max-width: 768px){.nav-container{padding:1rem;flex-direction:column;gap:1rem}.brand-name{font-size:1.5rem}.brand-tagline{font-size:.6rem}.brand-icon{width:40px;height:40px}.brand-icon svg{width:20px;height:20px}.nav-tabs{width:100%;justify-content:center}.nav-tab{flex:1;justify-content:center;padding:.65rem 1rem;font-size:.85rem}.nav-tab span{display:none}.nav-tab svg{margin:0}}@media (min-width: 769px) and (max-width: 1024px){.nav-container{padding:1rem 1.5rem}.brand-name{font-size:1.5rem}}.landing{min-height:100vh;background:#fff}.intro-screen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;background:#1a1918;display:flex;align-items:center;justify-content:center;animation:quoteReveal .5s ease-out forwards;pointer-events:none}.intro-screen.intro-exiting{animation:quoteFadeScaleOut 1s ease-in-out forwards}.intro-quote{text-align:center;max-width:800px;padding:2rem}.intro-quote blockquote{font-family:Roboto Flex,sans-serif;font-size:2.5rem;font-weight:300;color:#fff;line-height:1.4;margin:0 0 1.5rem;font-style:italic}.intro-quote cite{font-size:1rem;color:#fff9;font-style:normal;letter-spacing:1px}@keyframes quoteReveal{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes quoteFadeScaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}.landing-nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:transparent;opacity:0;transform:translateY(-20px);pointer-events:none;transition:background .3s ease}.landing-nav.nav-visible{animation:navFadeIn .6s ease-out forwards;pointer-events:auto}@keyframes navFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.nav-logo{font-family:Roboto Flex,sans-serif;font-size:1.5rem;font-weight:400;color:#fff}.nav-links{display:flex;gap:2rem}.nav-links a{color:#fffc;text-decoration:none;font-size:.9rem;font-weight:500;letter-spacing:.5px;transition:color .2s ease}.nav-links a:hover{color:#fff}.nav-cta{display:flex;gap:.75rem}.nav-btn-secondary{padding:.6rem 1.25rem;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:0;font-family:Roboto Flex,sans-serif;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.nav-btn-secondary:hover{background:#ffffff1a;border-color:#ffffff80}.nav-btn-primary{padding:.6rem 1.25rem;background:#fff;color:#2d2a28;border:none;border-radius:0;font-family:Roboto Flex,sans-serif;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.nav-btn-primary:hover{background:#f5f5f5;transform:translateY(-1px)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;opacity:0}.hero.hero-visible{animation:heroReveal .6s ease-out forwards}@keyframes heroReveal{0%{opacity:0}to{opacity:1}}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0}.hero-background img{width:100%;height:100%;object-fit:cover;object-position:center top}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#2d2a28b3,#2d2a28cc,#2d2a28e6)}.hero-content{position:relative;z-index:1;text-align:center;max-width:800px;padding:3rem;animation:fadeInUp 1s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:100px;color:#ffffffe6;font-size:.8rem;font-weight:500;letter-spacing:.5px;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.badge-dot{width:8px;height:8px;background:#4ade80;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.hero-title{font-family:Roboto Flex,sans-serif;font-size:5.5rem;font-weight:600;color:#fff;line-height:1.1;margin:0 0 1.5rem;letter-spacing:.04em;text-transform:uppercase}.hero-line-1,.hero-line-2{display:block;opacity:0}.hero-visible .hero-line-1{animation:textSlideUp .6s ease-out .1s forwards}.hero-visible .hero-line-2{animation:textSlideUp .6s ease-out .3s forwards}@keyframes textSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-subtitle{font-size:1.35rem;color:#fffc;line-height:1.7;margin:0 0 3rem;font-weight:400;max-width:650px;margin-left:auto;margin-right:auto}.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}.hero-note{font-size:.85rem;color:#ffffff80;margin:0}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:#fff;color:#2d2a28;border:none;border-radius:0;font-family:Roboto Flex,sans-serif;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.btn-primary:hover{background:#f5f5f5;transform:translateY(-2px);box-shadow:0 10px 30px #0003}.btn-primary svg{transition:transform .3s ease}.btn-primary:hover svg{transform:translate(4px)}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:0;font-family:Roboto Flex,sans-serif;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.btn-secondary:hover{background:#ffffff1a;border-color:#ffffff80}.btn-tertiary{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:transparent;color:#514e4c;border:1px solid rgba(81,78,76,.3);border-radius:0;font-family:Roboto Flex,sans-serif;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.btn-tertiary:hover{border-color:#514e4c;background:#514e4c0d}.btn-large{padding:1.5rem 3rem;font-size:1.1rem}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#ffffff80;font-size:.75rem;letter-spacing:1px;text-transform:uppercase;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(10px)}}.trust-bar{background:#fdfcfa;border-bottom:1px solid rgba(152,118,84,.1)}.trust-container{max-width:1200px;margin:0 auto;padding:4rem 2rem;display:flex;justify-content:center;align-items:center;gap:4rem;flex-wrap:wrap}.trust-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.trust-number{font-family:Roboto Flex,sans-serif;font-size:2.5rem;font-weight:300;color:#514e4c}.trust-label{font-size:.75rem;color:#a8917a;text-transform:uppercase;letter-spacing:1px}.trust-divider{width:1px;height:40px;background:#98765433}.section-container{max-width:1200px;margin:0 auto;padding:8rem 2rem}.section-header{text-align:center;max-width:700px;margin:0 auto 5rem}.section-label{display:inline-block;font-size:.75rem;font-weight:600;color:#514e4c;text-transform:uppercase;letter-spacing:2px;margin-bottom:1rem}.section-title{font-family:Roboto Flex,sans-serif;font-size:3rem;font-weight:300;color:#2d2a28;margin:0 0 1rem;line-height:1.2}.section-description{font-size:1.15rem;color:#7a7775;line-height:1.7;margin:0}.value-prop{background:#fff}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.value-card{text-align:center;padding:2.5rem}.value-icon{width:72px;height:72px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;background:#fdfcfa;border:1px solid rgba(152,118,84,.15);border-radius:50%;color:#514e4c}.value-card h3{font-family:Roboto Flex,sans-serif;font-size:1.25rem;font-weight:500;color:#2d2a28;margin:0 0 .75rem}.value-card p{font-size:.95rem;color:#7a7775;line-height:1.7;margin:0}.how-it-works{background:#fdfcfa}.steps-grid{display:flex;align-items:flex-start;justify-content:center;gap:1rem}.step-card{flex:1;max-width:300px;text-align:center;padding:2.5rem}.step-number{font-family:Roboto Flex,sans-serif;font-size:4rem;font-weight:200;color:#514e4c;margin-bottom:1rem}.step-card h3{font-family:Roboto Flex,sans-serif;font-size:1.15rem;font-weight:500;color:#2d2a28;margin:0 0 .75rem}.step-card p{font-size:.9rem;color:#7a7775;line-height:1.7;margin:0}.step-connector{display:flex;align-items:center;justify-content:center;padding-top:3rem;color:#9876544d}.features{background:#fff}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.feature-card{padding:2.5rem;background:#fdfcfa;border:1px solid rgba(152,118,84,.1);transition:all .3s ease}.feature-card:hover{border-color:#514e4c;box-shadow:0 10px 40px #0000000f}.feature-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.feature-icon-wrap{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(152,118,84,.15);color:#514e4c}.feature-card h3{font-family:Roboto Flex,sans-serif;font-size:1.15rem;font-weight:500;color:#2d2a28;margin:0}.feature-card>p{font-size:.95rem;color:#7a7775;line-height:1.7;margin:0 0 1.25rem}.feature-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}.feature-list li{font-size:.8rem;color:#514e4c;padding:.35rem .75rem;background:#fff;border:1px solid rgba(152,118,84,.15)}.social-proof{background:#2d2a28}.social-proof .section-container{padding:5rem 2rem}.proof-content{max-width:800px;margin:0 auto;text-align:center}.proof-quote{position:relative}.quote-icon{color:#ffffff1a;margin-bottom:1rem}.proof-quote blockquote{font-family:Roboto Flex,sans-serif;font-size:2rem;font-weight:300;color:#fff;line-height:1.4;margin:0 0 1.5rem;font-style:italic}.proof-quote cite{font-size:.9rem;color:#fff9;font-style:normal;letter-spacing:1px}.final-cta{background:#fdfcfa}.cta-content{text-align:center;max-width:600px;margin:0 auto}.cta-content h2{font-family:Roboto Flex,sans-serif;font-size:3rem;font-weight:300;color:#2d2a28;margin:0 0 1rem}.cta-content>p{font-size:1.1rem;color:#7a7775;line-height:1.7;margin:0 0 2.5rem}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.cta-buttons .btn-primary{background:var(--accent-emphasis);color:#fff}.cta-buttons .btn-primary:hover{background:var(--accent-emphasis-dark)}.landing-footer{background:#2d2a28;color:#fff}.footer-container{max-width:1200px;margin:0 auto;padding:4rem 2rem 2rem}.footer-brand{margin-bottom:3rem}.footer-logo{font-family:Roboto Flex,sans-serif;font-size:1.5rem;font-weight:400;color:#fff;display:block;margin-bottom:.5rem}.footer-brand p{color:#ffffff80;font-size:.9rem;margin:0}.footer-links{display:flex;gap:4rem;margin-bottom:3rem}.footer-column h4{font-size:.75rem;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:1px;margin:0 0 1rem}.footer-column button{display:block;background:none;border:none;color:#fffc;font-size:.9rem;padding:.35rem 0;cursor:pointer;font-family:inherit;transition:color .2s ease}.footer-column button:hover{color:#fff}.footer-bottom{padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.footer-bottom p{font-size:.8rem;color:#fff6;margin:0}@media (max-width: 1024px){.intro-quote blockquote{font-size:2rem}.nav-links{gap:1.5rem}.hero-title{font-size:4rem}.section-container{padding:6rem 2rem}.section-header{margin-bottom:4rem}.section-title{font-size:2.5rem}.trust-number{font-size:2rem}.value-grid{grid-template-columns:repeat(3,1fr);gap:2rem}.step-number{font-size:3.5rem}.steps-grid{flex-wrap:wrap}.step-connector{display:none}.features-grid{grid-template-columns:1fr}.cta-content h2{font-size:2.5rem}}@media (max-width: 768px){.intro-quote blockquote{font-size:1.5rem}.landing-nav{padding:.75rem 1rem}.nav-links{display:none}.nav-logo{font-size:1.25rem}.nav-btn-secondary,.nav-btn-primary{padding:.5rem 1rem;font-size:.75rem}.hero-content{padding:2rem}.hero-title{font-size:3rem}.hero-subtitle{font-size:1.15rem;margin-bottom:2.5rem}.hero-cta{flex-direction:column;align-items:center}.btn-primary,.btn-secondary,.btn-tertiary{width:100%;max-width:280px;justify-content:center}.btn-large{padding:1.25rem 2.5rem;font-size:1rem}.scroll-indicator{display:none}.trust-container{gap:2rem;padding:3rem 1.5rem}.trust-divider{display:none}.trust-item{flex:1 1 40%}.trust-number{font-size:1.75rem}.section-container{padding:5rem 1.5rem}.section-header{margin-bottom:3rem}.section-title{font-size:2rem}.value-grid{grid-template-columns:1fr;gap:1.5rem}.value-card{padding:2rem}.value-icon{width:64px;height:64px}.step-number{font-size:3rem}.step-card{padding:2rem}.steps-grid{flex-direction:column;align-items:center}.step-card{max-width:100%}.feature-card{padding:2rem}.proof-quote blockquote{font-size:1.5rem}.cta-content h2{font-size:2rem}.cta-buttons{flex-direction:column;align-items:center}.footer-links{flex-direction:column;gap:2rem}}@media (max-width: 480px){.intro-quote blockquote{font-size:1.25rem}.intro-quote cite{font-size:.85rem}.hero-content{padding:1.5rem}.hero-title{font-size:2.5rem;letter-spacing:.02em}.hero-subtitle{font-size:1.05rem}.trust-container{padding:2.5rem 1rem}.trust-number{font-size:1.5rem}.section-container{padding:4rem 1rem}.section-header{margin-bottom:2.5rem}.section-title{font-size:1.75rem}.value-card{padding:1.5rem}.value-icon{width:56px;height:56px}.step-number{font-size:2.5rem}.step-card,.feature-card{padding:1.5rem}.proof-quote blockquote{font-size:1.25rem}.cta-content h2{font-size:1.75rem}.btn-large{padding:1rem 2rem;font-size:.95rem}}.auth-container{min-height:calc(100vh - 100px);display:flex;align-items:center;justify-content:center;padding:2rem;background:#fff}.auth-card{background:#fff;padding:3rem;border-radius:4px;border:1px solid rgba(81,78,76,.15);max-width:450px;width:100%;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-card h2{font-size:2rem;color:#514e4c;margin-bottom:.5rem;text-align:center;font-family:Roboto Flex,sans-serif;font-weight:400}.auth-subtitle{text-align:center;color:#7a7775;margin-bottom:2rem;font-size:1rem}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#514e4c;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.form-group input{padding:.875rem 1rem;border:1px solid rgba(81,78,76,.25);border-radius:0;font-size:1rem;transition:all .3s ease;font-family:inherit;color:#514e4c;background:#fff}.form-group input::placeholder{color:#a8a6a4}.form-group input:focus{outline:none;border-color:#514e4c}.auth-error{padding:1rem;background:#fef8f8;color:#8b4513;border-radius:0;font-size:.9rem;text-align:center;border:1px solid rgba(81,78,76,.2)}.auth-submit-button{padding:1rem;background:var(--accent-emphasis);color:#fff;border:1px solid var(--accent-emphasis);border-radius:0;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;font-family:inherit;margin-top:.5rem;text-transform:uppercase;letter-spacing:1px}.auth-submit-button:hover{background:var(--accent-emphasis-dark);color:#fff;border-color:var(--accent-emphasis-dark)}.auth-submit-button:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;margin-top:1.5rem;color:#7a7775;font-size:.95rem}.link-button{background:none;border:none;color:#514e4c;font-weight:500;cursor:pointer;text-decoration:none;font-size:inherit;padding:0;transition:color .2s ease}.link-button:hover{color:#514e4c;text-decoration:underline}@media (max-width: 768px){.auth-card{padding:2rem 1.5rem}.auth-card h2{font-size:1.75rem}}.politician-card{background:#fff;border-radius:4px;padding:1rem;cursor:pointer;transition:all .2s ease;border:1px solid rgba(81,78,76,.15)}.politician-card:hover{border-color:#514e4c;box-shadow:0 4px 15px #514e4c1a}.card-content{display:flex;align-items:center;gap:1rem}.card-photo{flex-shrink:0;width:60px;height:60px;border-radius:50%;overflow:hidden;border:2px solid rgba(81,78,76,.1)}.card-photo img{width:100%;height:100%;object-fit:cover}.photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1.1rem;background:#514e4c}.card-info{flex:1;min-width:0}.card-name{font-size:1rem;font-weight:500;color:#514e4c;margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Roboto Flex,sans-serif}.card-role{font-size:.75rem;color:#7a7775;margin:0 0 .15rem;text-transform:uppercase;letter-spacing:.5px}.card-location{font-size:.85rem;color:#514e4c;margin:0;font-weight:500}.card-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.card-party{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.9rem}.favorite-btn{width:32px;height:32px;padding:0;border:none;background:transparent;cursor:pointer;color:#a8a6a4;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.favorite-btn svg{width:20px;height:20px}.favorite-btn:hover{color:var(--accent-emphasis);transform:scale(1.15)}.favorite-btn.active{color:var(--accent-emphasis)}.favorite-btn.active svg{filter:drop-shadow(0 2px 4px rgba(236,208,111,.4))}@media (max-width: 480px){.card-photo{width:50px;height:50px}.card-name{font-size:.95rem}.card-party{width:32px;height:32px;font-size:.85rem}}.my-politician{max-width:900px;margin:0 auto;padding:0 1rem}.page-header{text-align:center;margin-bottom:2rem}.page-header h1{font-size:2.5rem;font-weight:400;color:#514e4c;margin:0 0 .5rem;font-family:Roboto Flex,sans-serif}.page-header p{color:#7a7775;font-size:1.1rem;margin:0}.address-card{background:#fff;border-radius:4px;padding:2rem;border:1px solid rgba(81,78,76,.15);margin-bottom:2rem}.address-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:flex;gap:1rem}.form-group{flex:1;display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{flex:1 1 100%}.form-group.small{flex:0 0 140px}.form-group label{font-weight:500;color:#514e4c;font-size:.85rem;letter-spacing:.5px;text-transform:uppercase}.form-input{padding:.875rem 1rem;border:1px solid rgba(81,78,76,.25);border-radius:0;font-size:1rem;transition:border-color .2s ease;font-family:inherit;background:#fff;color:#514e4c}.form-input:focus{outline:none;border-color:#514e4c}.form-input::placeholder{color:#a8a6a4}.form-hint{font-size:.8rem;color:#7a7775}.form-hint a{color:#514e4c}.loading-text{padding:.875rem 1rem;color:#514e4c;font-size:.9rem}.at-large-notice{background:#f5f5f5;color:#514e4c;padding:.875rem 1rem;border-radius:0;font-size:.9rem;border:1px solid #514e4c}.error-message{background:#fef8f8;color:#8b4513;padding:.875rem 1rem;border-radius:0;font-size:.95rem;border:1px solid rgba(81,78,76,.3)}.btn-primary{flex:1;padding:1rem 2rem;background:var(--accent-emphasis);color:#fff;border:1px solid var(--accent-emphasis);border-radius:0;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;text-align:center;justify-content:center}.btn-primary:hover:not(:disabled){background:var(--accent-emphasis-dark);color:#fff;border-color:var(--accent-emphasis-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:1rem 1.5rem;background:transparent;color:#514e4c;border:1px solid rgba(81,78,76,.3);border-radius:0;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:1px}.btn-secondary:hover{border-color:#514e4c;background:#514e4c0d}.loading-container{display:flex;flex-direction:column;align-items:center;padding:3rem;gap:1rem}.loading-container p{color:#7a7775;font-size:1rem}.representatives-results{animation:fadeIn .4s ease-out}.representatives-results h2{font-size:1.75rem;color:#514e4c;margin:0 0 .5rem;font-family:Roboto Flex,sans-serif}.results-subtitle{color:#7a7775;margin:0 0 1.5rem;font-size:.95rem}.rep-section{margin-bottom:2rem}.rep-section h3{font-size:.85rem;color:#514e4c;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(81,78,76,.15);text-transform:uppercase;letter-spacing:1px;font-family:Roboto Flex,sans-serif;font-weight:500}.rep-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.favorites-section{margin-bottom:2rem;animation:fadeIn .4s ease-out}.favorites-section h2{font-size:1.75rem;color:#514e4c;margin:0 0 .5rem;font-family:Roboto Flex,sans-serif;font-weight:400}.favorites-subtitle{color:#7a7775;margin:0 0 1.5rem;font-size:.95rem}@media (max-width: 768px){.page-header h1{font-size:1.75rem}.address-card{padding:1.5rem}.form-row{flex-direction:column}.form-group.small{flex:1}.form-actions{flex-direction:column}.btn-secondary{order:2}}.all-politicians{width:100%;animation:fadeIn .6s ease-out}.all-politicians h2{font-size:2.5rem;color:#514e4c;margin-bottom:2rem;font-family:Roboto Flex,sans-serif;font-weight:400}.all-politicians-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1.5rem}.all-politicians-loading p{color:#7a7775;font-size:1.1rem;font-weight:400}.all-politicians-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;text-align:center;padding:2rem}.error-help{color:#7a7775;font-size:.95rem;max-width:500px;margin-top:.5rem}.loading-spinner{width:50px;height:50px;border:2px solid rgba(81,78,76,.1);border-top:2px solid #514e4c;border-radius:50%;animation:spin 1s linear infinite}.filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem;margin-bottom:2rem;animation:slideInDown .5s ease-out}.search-input,.filter-select{padding:.875rem 1rem;border:1px solid rgba(81,78,76,.25);border-radius:0;font-size:1rem;transition:all .3s ease;background:#fff;font-family:inherit;color:#514e4c}.search-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23514e4c' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:1rem center;padding-left:2.75rem}.search-input::placeholder{color:#a8a6a4}.search-input:focus,.filter-select:focus{outline:none;border-color:#514e4c}.search-input:hover,.filter-select:hover{border-color:#514e4c}.filter-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23514e4c' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.75rem}.results-count{color:#7a7775;font-size:.85rem;font-weight:500;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.5px}.politicians-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;margin-bottom:2rem;animation:fadeInGrid .6s ease-out .1s both}@keyframes fadeInGrid{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.no-results{text-align:center;padding:4rem 2rem;background:#fff;border-radius:4px;border:1px solid rgba(81,78,76,.15)}.no-results:before{content:"";display:block;width:60px;height:60px;margin:0 auto 1rem;background:#f5f5f5;border-radius:50%;border:1px solid rgba(81,78,76,.15)}.no-results p{color:#7a7775;font-size:1rem;font-weight:400}@media (max-width: 1024px){.filters{grid-template-columns:1fr 1fr}.search-input{grid-column:1 / -1}.politicians-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width: 768px){.all-politicians h2{font-size:1.75rem;margin-bottom:1.5rem}.filters{grid-template-columns:1fr}.search-input{grid-column:1}.politicians-grid{grid-template-columns:1fr;gap:.75rem}.no-results{padding:3rem 1.5rem}}.politician-card{animation:cardFadeIn .4s ease-out backwards}.politician-card:nth-child(1){animation-delay:.03s}.politician-card:nth-child(2){animation-delay:.06s}.politician-card:nth-child(3){animation-delay:.09s}.politician-card:nth-child(4){animation-delay:.12s}.politician-card:nth-child(5){animation-delay:.15s}.politician-card:nth-child(6){animation-delay:.18s}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.profile-container{max-width:800px;margin:0 auto;animation:fadeIn .5s ease-out}.profile-header{margin-bottom:2rem}.profile-header h2{font-size:2.25rem;color:#514e4c;font-family:Roboto Flex,sans-serif;font-weight:400}.profile-content{display:flex;flex-direction:column;gap:2rem}.profile-section{background:#fff;padding:2rem;border-radius:4px;border:1px solid rgba(81,78,76,.15)}.profile-section h3{font-size:1.5rem;color:#514e4c;margin-bottom:1.5rem;font-family:Roboto Flex,sans-serif;font-weight:400}.profile-info{display:flex;flex-direction:column;gap:1.25rem}.info-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid rgba(81,78,76,.15)}.info-item:last-child{border-bottom:none}.info-label{font-weight:500;color:#7a7775;text-transform:uppercase;font-size:.8rem;letter-spacing:.5px}.info-value{font-weight:500;color:#514e4c}.edit-button,.save-button,.cancel-button{padding:.875rem 2rem;border-radius:0;font-weight:500;cursor:pointer;transition:all .3s ease;border:1px solid;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.edit-button{background:var(--accent-emphasis);color:#fff;border-color:var(--accent-emphasis);margin-top:1rem}.edit-button:hover{background:var(--accent-emphasis-dark);color:#fff;border-color:var(--accent-emphasis-dark)}.profile-form{display:flex;flex-direction:column;gap:1.5rem}.profile-form .form-group{display:flex;flex-direction:column;gap:.5rem}.profile-form label{font-weight:500;color:#514e4c;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.profile-form input{padding:1rem;border:1px solid rgba(81,78,76,.25);border-radius:0;font-size:1rem;transition:all .3s ease;color:#514e4c}.profile-form input:focus{outline:none;border-color:#514e4c}.form-actions{display:flex;gap:1rem;margin-top:.5rem}.save-button{flex:1;background:var(--accent-emphasis);color:#fff;border-color:var(--accent-emphasis)}.save-button:hover{background:var(--accent-emphasis-dark);color:#fff;border-color:var(--accent-emphasis-dark)}.cancel-button{flex:1;background:transparent;color:#514e4c;border-color:#514e4c4d}.cancel-button:hover{border-color:#514e4c;background:#514e4c0d}.danger-zone{border:1px solid rgba(139,69,19,.2)}.logout-button{padding:.875rem 2rem;background:#8b4513;color:#fff;border:1px solid #8b4513;border-radius:0;font-weight:500;cursor:pointer;transition:all .3s ease;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.logout-button:hover{background:transparent;color:#8b4513}@media (max-width: 768px){.profile-header h2{font-size:1.75rem}.profile-section{padding:1.5rem}.info-item{flex-direction:column;align-items:flex-start;gap:.5rem}.form-actions{flex-direction:column}}.bill-card{background:#fff;border-radius:4px;padding:1.5rem;box-shadow:0 4px 20px #0000000f;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(81,78,76,.15);cursor:pointer;display:flex;flex-direction:column;height:100%}.bill-card:hover{box-shadow:0 12px 40px #0000001f;transform:translateY(-4px);border-color:#514e4c}.bill-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.bill-type-badge{padding:.35rem .75rem;border-radius:0;color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;background:#514e4c}.bill-number{color:#7a7775;font-size:.9rem;font-weight:600}.bill-title{font-size:1.1rem;font-weight:600;color:#514e4c;line-height:1.4;margin-bottom:1rem;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.bill-meta{margin-bottom:1rem}.bill-action{background:#f5f5f5;border-radius:4px;padding:.75rem;font-size:.85rem}.action-label{color:#7a7775;font-weight:600;display:block;margin-bottom:.25rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.action-text{color:#514e4c;display:block;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.action-date{color:#7a7775;font-size:.8rem;display:block;margin-top:.5rem}.bill-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid rgba(81,78,76,.15);margin-top:auto}.bill-sponsor{display:flex;flex-direction:column;gap:.25rem}.sponsor-label{color:#7a7775;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.sponsor-link{background:none;border:none;padding:0;color:#514e4c;font-size:.9rem;font-weight:600;cursor:pointer;text-align:left;transition:color .2s ease;font-family:inherit}.sponsor-link:hover{color:#514e4c;text-decoration:underline}.bill-congress{color:#7a7775;font-size:.8rem;font-weight:500;background:#f5f5f5;padding:.35rem .75rem;border-radius:0;border:1px solid rgba(81,78,76,.15)}@media (max-width: 768px){.bill-card{padding:1.25rem}.bill-title{font-size:1rem}.bill-footer{flex-direction:column;align-items:flex-start;gap:.75rem}}.bills-page{width:100%;animation:fadeIn .6s ease-out}.bills-header{margin-bottom:2rem}.bills-header h1{font-size:2.25rem;color:#514e4c;margin-bottom:.5rem;font-family:Roboto Flex,sans-serif;font-weight:400}.bills-subtitle{color:#7a7775;font-size:1.1rem}.bills-page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1.5rem}.bills-page-loading p{color:var(--text-light);font-size:1.15rem;font-weight:500}.bills-page-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1.5rem;text-align:center;padding:2rem}.retry-button{padding:.75rem 1.5rem;background:#514e4c;color:#fff;border:1px solid #514e4c;border-radius:0;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.retry-button:hover{background:transparent;color:#514e4c;border-color:#514e4c}.bills-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;margin-bottom:2rem;animation:slideInDown .5s ease-out}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.bills-search-input,.bills-filter-select{padding:1rem 1.25rem;border:1px solid rgba(81,78,76,.25);border-radius:0;font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;font-family:inherit;color:#514e4c}.bills-search-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23514e4c' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:1rem center;padding-left:3rem}.bills-search-input::placeholder{color:#a8a6a4}.bills-search-input:focus,.bills-filter-select:focus{outline:none;border-color:#514e4c}.bills-search-input:hover,.bills-filter-select:hover{border-color:#514e4c}.bills-filter-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23514e4c' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:3rem}.bills-results-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.results-count{color:#7a7775;font-size:.85rem;font-weight:500;display:flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.5px}.results-count:before{content:"";width:3px;height:16px;background:#514e4c}.bills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;margin-bottom:2rem}.load-more-container{display:flex;justify-content:center;margin:2rem 0}.load-more-button{padding:1rem 2.5rem;background:var(--accent-emphasis);color:#fff;border:1px solid var(--accent-emphasis);border-radius:0;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.75rem;text-transform:uppercase;letter-spacing:1px}.load-more-button:hover:not(:disabled){background:var(--accent-emphasis-dark);color:#fff;border-color:var(--accent-emphasis-dark)}.load-more-button:disabled{opacity:.7;cursor:not-allowed}.loading-spinner-small{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.no-bills{text-align:center;padding:4rem 2rem;background:#fff;border-radius:4px;border:1px solid rgba(81,78,76,.15)}.no-bills p{color:#7a7775;font-size:1.1rem;margin-bottom:1.5rem}.reset-filters-button{padding:.75rem 1.5rem;background:transparent;color:#514e4c;border:1px solid rgba(81,78,76,.3);border-radius:0;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.reset-filters-button:hover{border-color:#514e4c;background:#514e4c0d}@media (max-width: 1024px){.bills-filters{grid-template-columns:1fr 1fr}.bills-search-input{grid-column:1 / -1}.bills-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width: 768px){.bills-header h1{font-size:1.75rem}.bills-subtitle{font-size:1rem}.bills-filters{grid-template-columns:1fr}.bills-search-input{grid-column:1}.bills-grid{grid-template-columns:1fr;gap:1rem}.no-bills{padding:3rem 1.5rem}}.bill-detail{width:100%;max-width:900px;margin:0 auto;animation:fadeIn .6s ease-out}.bill-detail-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1.5rem}.bill-detail-loading p{color:#7a7775;font-size:1.15rem;font-weight:500}.bill-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1.5rem;text-align:center}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:#514e4c;font-weight:500;margin-bottom:2rem;cursor:pointer;background:none;border:none;font-size:.9rem;padding:0;transition:color .2s ease;font-family:inherit;text-transform:uppercase;letter-spacing:.5px}.bill-detail-header{margin-bottom:2.5rem}.bill-type-congress{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.bill-type-label{background:#514e4c;color:#fff;padding:.5rem 1rem;border-radius:0;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.congress-label{color:#7a7775;font-size:.95rem;font-weight:500}.bill-detail-title{font-size:2rem;font-weight:400;color:#514e4c;line-height:1.3;margin-bottom:1.5rem;font-family:Roboto Flex,sans-serif}.bill-status-row{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.status-badge{padding:.5rem 1rem;border-radius:0;font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-badge.enacted{background:#f0f7ed;color:#4a6741;border:1px solid rgba(74,103,65,.2)}.status-badge.passed-both{background:#f5f5f5;color:#514e4c;border:1px solid #514e4c}.status-badge.passed{background:#f5f5f5;color:#514e4c;border:1px solid rgba(81,78,76,.3)}.status-badge.introduced{background:#f5f5f5;color:#7a7775;border:1px solid rgba(81,78,76,.2)}.status-badge.in-progress{background:#f5f5f5;color:#7a7775;border:1px solid rgba(81,78,76,.15)}.introduced-date{color:#7a7775;font-size:.95rem}.bill-section{background:#fff;border-radius:4px;padding:2rem;margin-bottom:1.5rem;border:1px solid rgba(81,78,76,.15)}.bill-section h2{font-size:1.25rem;color:#514e4c;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid rgba(81,78,76,.15);font-family:Roboto Flex,sans-serif;font-weight:400}.bill-summary{color:#514e4c;line-height:1.8;font-size:1rem}.bill-summary p{margin-bottom:1rem}.ai-section{background:#f5f5f5;border:1px solid rgba(81,78,76,.2)}.ai-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0}.ai-header h2{margin-bottom:0;border-bottom:none;padding-bottom:0}.ai-explain-button{padding:.75rem 1.5rem;background:var(--accent-emphasis);color:#fff;border:1px solid var(--accent-emphasis);border-radius:0;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.5px}.ai-explain-button:hover:not(:disabled){background:var(--accent-emphasis-dark);color:#fff;border-color:var(--accent-emphasis-dark)}.ai-explain-button:disabled{opacity:.7;cursor:not-allowed}.ai-explain-button.expanded{background:transparent;color:#514e4c;border-color:#514e4c4d}.loading-spinner-small{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.ai-explanation-content{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(81,78,76,.2)}.ai-placeholder-notice{background:#f5f5f5;color:#514e4c;padding:.75rem 1rem;border-radius:0;margin-bottom:1.5rem;font-size:.9rem;border:1px solid #514e4c}.explanation-text h3,.key-points h3,.affected-groups h3{font-size:1rem;color:#514e4c;margin-bottom:.75rem}.explanation-text p{color:#514e4c;line-height:1.8;margin-bottom:1.5rem}.key-points ul{list-style:none;padding:0;margin:0 0 1.5rem}.key-points li{padding:.75rem 0 .75rem 1.5rem;position:relative;color:#514e4c;line-height:1.6;border-bottom:1px solid rgba(81,78,76,.1)}.key-points li:before{content:"";position:absolute;left:0;top:1rem;width:8px;height:8px;background:#514e4c;border-radius:50%}.affected-groups p{color:#514e4c;line-height:1.8}.sponsors-list{display:flex;flex-direction:column;gap:1.5rem}.sponsor-item{display:flex;flex-direction:column;gap:.5rem}.sponsor-badge{font-size:.75rem;font-weight:500;text-transform:uppercase;color:#514e4c;letter-spacing:.5px}.sponsor-name-link{font-size:1.25rem;font-weight:500;color:#514e4c;text-decoration:none;transition:color .2s ease;font-family:Roboto Flex,sans-serif}.sponsor-name-link:hover{color:#514e4c}.sponsor-party{color:#7a7775;font-size:.95rem}.cosponsors-section h3{font-size:1rem;color:#7a7775;margin-bottom:1rem}.cosponsors-grid{display:flex;flex-wrap:wrap;gap:.75rem}.cosponsor-chip{padding:.5rem 1rem;background:#f5f5f5;border-radius:0;font-size:.85rem;color:#514e4c;text-decoration:none;transition:all .2s ease;border:1px solid rgba(81,78,76,.15)}.cosponsor-chip:hover{background:#514e4c;color:#fff;border-color:#514e4c}.cosponsor-party{color:inherit;opacity:.7;margin-left:.25rem}.more-cosponsors{padding:.5rem 1rem;background:#f5f5f5;border-radius:0;font-size:.85rem;color:#7a7775;border:1px solid rgba(81,78,76,.15)}.text-versions-list{display:flex;flex-direction:column;gap:.75rem}.text-version-item{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#f5f5f5;border-radius:0;text-decoration:none;transition:all .2s ease;border:1px solid rgba(81,78,76,.1)}.text-version-item:hover{background:#f0f0f0;transform:translate(4px);border-color:#514e4c33}.version-type{font-weight:500;color:#514e4c}.version-date{color:#7a7775;font-size:.9rem}.view-link{color:#514e4c;font-weight:500;font-size:.9rem}.actions-timeline{display:flex;flex-direction:column}.action-item{display:flex;gap:1.25rem}.action-marker{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.marker-dot{width:12px;height:12px;background:#514e4c;border-radius:50%;flex-shrink:0}.marker-line{width:2px;flex:1;background:#514e4c33;min-height:30px}.action-content{padding-bottom:1.5rem;flex:1}.action-content .action-date{display:block;font-size:.85rem;color:#514e4c;font-weight:500;margin-bottom:.5rem}.action-content .action-text{color:#514e4c;line-height:1.6;margin:0}.action-code{display:inline-block;margin-top:.5rem;font-size:.8rem;color:#7a7775;background:#f5f5f5;padding:.25rem .5rem;border-radius:0;border:1px solid rgba(81,78,76,.1)}.more-actions{padding:1rem 0;text-align:center}.more-actions a{color:#514e4c;font-weight:500;text-decoration:none}.more-actions a:hover{text-decoration:underline;color:#514e4c}.bill-external-link{text-align:center;margin-top:2rem}.congress-link{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:var(--accent-emphasis);color:#fff;text-decoration:none;border-radius:0;font-weight:500;transition:all .3s ease;border:1px solid var(--accent-emphasis);text-transform:uppercase;letter-spacing:.5px}.congress-link:hover{background:var(--accent-emphasis-dark);color:#fff;border-color:var(--accent-emphasis-dark)}@media (max-width: 768px){.bill-detail{padding:0}.bill-detail-title{font-size:1.5rem}.bill-section{padding:1.5rem}.ai-header{flex-direction:column;align-items:flex-start;gap:1rem}.ai-explain-button{width:100%;justify-content:center}.text-version-item{flex-direction:column;align-items:flex-start;gap:.5rem}.bill-status-row{flex-direction:column;align-items:flex-start;gap:.75rem}}.politician-detail{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem;animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.politician-detail-loading,.politician-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1.5rem;text-align:center}.politician-detail-loading p{color:#7a7775;font-size:1.1rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:#514e4c;font-weight:500;margin-bottom:1.5rem;cursor:pointer;background:none;border:none;font-size:.9rem;padding:0;transition:color .2s ease;font-family:inherit;text-transform:uppercase;letter-spacing:.5px}.back-link:hover{color:#514e4c}.back-button{padding:.75rem 1.5rem;background:#514e4c;color:#fff;border:1px solid #514e4c;border-radius:0;font-size:.9rem;font-weight:500;cursor:pointer;text-transform:uppercase;letter-spacing:1px}.back-button:hover{background:transparent;color:#514e4c;border-color:#514e4c}.politician-header-section{display:flex;gap:2.5rem;background:#fff;border-radius:4px;padding:2rem;margin-bottom:2rem;border:1px solid rgba(81,78,76,.15)}.politician-photo-side{flex-shrink:0}.politician-photo{width:220px;height:280px;object-fit:cover;border-radius:4px;border:1px solid rgba(81,78,76,.15)}.politician-photo-placeholder{width:220px;height:280px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:3.5rem;font-weight:400;background:#514e4c;font-family:Roboto Flex,sans-serif}.politician-info-side{flex:1;display:flex;flex-direction:column}.politician-name{font-size:2.25rem;font-weight:400;color:#514e4c;margin:0 0 .75rem;font-family:Roboto Flex,sans-serif}.party-badge-large{display:inline-block;padding:.4rem 1rem;border-radius:0;color:#fff;font-weight:500;font-size:.8rem;margin-bottom:1.5rem;width:fit-content;text-transform:uppercase;letter-spacing:1px}.info-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}.info-table th,.info-table td{padding:.65rem 0;text-align:left;border-bottom:1px solid rgba(81,78,76,.1)}.info-table th{width:140px;color:#7a7775;font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.info-table td{color:#514e4c;font-weight:400}.info-table td a{color:#514e4c;text-decoration:none}.info-table td a:hover{text-decoration:underline}.profile-links{display:flex;gap:1rem;margin-top:auto}.profile-link{padding:.6rem 1.25rem;border-radius:0;font-weight:500;font-size:.8rem;text-decoration:none;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.profile-link.website{background:#514e4c;color:#fff;border:1px solid #514e4c}.profile-link.website:hover{background:transparent;color:#514e4c;border-color:#514e4c}.profile-link.congress{background:transparent;color:#514e4c;border:1px solid rgba(81,78,76,.3)}.profile-link.congress:hover{border-color:#514e4c}.detail-section{background:#fff;border-radius:4px;padding:2rem;margin-bottom:1.5rem;border:1px solid rgba(81,78,76,.15)}.detail-section h2{font-size:1.5rem;color:#514e4c;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:1px solid rgba(81,78,76,.15);font-family:Roboto Flex,sans-serif;font-weight:400}.detail-section h3{font-size:.85rem;color:#514e4c;margin:1.5rem 0 1rem;text-transform:uppercase;letter-spacing:1px;font-family:Roboto Flex,sans-serif;font-weight:500}.section-loading{display:flex;flex-direction:column;align-items:center;padding:2rem;gap:1rem}.section-loading p{color:#7a7775}.no-data-message{color:#7a7775;text-align:center;padding:2rem}.no-data-message small{display:block;margin-top:.5rem;color:#a8a6a4}.votes-table-container{overflow-x:auto}.votes-table{width:100%;border-collapse:collapse}.votes-table th,.votes-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid rgba(81,78,76,.1)}.votes-table th{background:#f5f5f5;color:#7a7775;font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.votes-table tbody tr:hover{background:#f5f5f5}.vote-date{white-space:nowrap;color:#7a7775;font-size:.9rem}.vote-bill{font-weight:500;color:#514e4c}.vote-description{max-width:400px;font-size:.95rem;color:#514e4c}.vote-result{font-size:.9rem;color:#7a7775}.vote-badge{display:inline-block;padding:.25rem .65rem;border-radius:0;font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.vote-badge.vote-yea{background:#f0f7ed;color:#4a6741;border:1px solid rgba(74,103,65,.2)}.vote-badge.vote-nay{background:#fef5f5;color:#8b4513;border:1px solid rgba(139,69,19,.2)}.vote-badge.vote-other{background:#f5f5f5;color:#7a7775;border:1px solid rgba(81,78,76,.2)}.vote-badge.vote-sponsor{background:#f5f5f5;color:#514e4c;border:1px solid #514e4c}.has-tooltip{cursor:help;position:relative}.vote-badge.has-tooltip:hover:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#514e4c;color:#fff;padding:.5rem .75rem;border-radius:4px;font-size:.7rem;font-weight:400;text-transform:none;white-space:nowrap;z-index:100;margin-bottom:5px}.vote-badge.has-tooltip:hover:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#514e4c;margin-bottom:-7px;z-index:101}.bill-link{color:#514e4c;text-decoration:none;font-weight:500;transition:all .2s ease}.bill-link:hover{color:#514e4c;text-decoration:underline}.sponsored-row{background:#f5f5f5!important}.sponsored-row:hover{background:#f0f0f0!important}.description-text{cursor:default}.description-text:hover{color:#3a3836}.funding-summary{display:flex;gap:2rem;margin-bottom:2rem;padding:1.5rem;background:#f5f5f5;border-radius:4px;border:1px solid rgba(81,78,76,.1)}.funding-stat{display:flex;flex-direction:column;gap:.25rem}.funding-stat.corporate-stat{background:#f5f5f5;padding:1rem 1.5rem;border-radius:4px;margin:-.5rem 0;border:1px solid #514e4c}.funding-stat.corporate-stat .stat-value{color:#514e4c}.stat-value{font-size:1.75rem;font-weight:400;color:#514e4c;font-family:Roboto Flex,sans-serif}.stat-value.small{font-size:1rem;font-family:monospace}.stat-label{font-size:.7rem;color:#7a7775;text-transform:uppercase;letter-spacing:.5px}.corporate-donors-section{margin-bottom:2rem;padding:1.5rem;background:#f5f5f5;border-radius:4px;border:1px solid #514e4c}.corporate-donors-section h3{margin:0 0 .25rem;color:#514e4c}.section-subtitle{color:#7a7775;font-size:.85rem;margin:0 0 1rem}.corporate-tags{display:flex;flex-wrap:wrap;gap:.75rem}.corporate-tag{display:flex;flex-direction:column;background:#fff;padding:.75rem 1rem;border-radius:4px;border:1px solid rgba(81,78,76,.15)}.corp-name{font-weight:500;font-size:.8rem;color:#514e4c}.corp-amount{font-size:.75rem;color:#514e4c;font-weight:600}.corporate-row{background:#f5f5f5!important}.corporate-row:hover{background:#f0f0f0!important}.corp-badge{display:inline-block;padding:.1rem .4rem;background:#514e4c;color:#fff;font-size:.6rem;font-weight:600;border-radius:2px;margin-left:.5rem;text-transform:uppercase;letter-spacing:.5px}.no-corporate-message{color:#7a7775;text-align:center;padding:1.5rem;background:#f5f5f5;border-radius:4px;margin:1rem 0;border:1px solid rgba(81,78,76,.1)}.donors-table-container{overflow-x:auto}.donors-table{width:100%;border-collapse:collapse}.donors-table th,.donors-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid rgba(81,78,76,.1)}.donors-table th{background:#f5f5f5;color:#7a7775;font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.donors-table tbody tr:hover{background:#f5f5f5}.donor-rank{width:40px;font-weight:500;color:#514e4c}.donor-name{font-weight:500;color:#514e4c}.donor-occupation,.donor-location{color:#7a7775;font-size:.9rem}.donor-amount{font-weight:600;color:#514e4c;white-space:nowrap}.funding-source{margin-top:1.5rem;text-align:center}.fec-link{color:#514e4c;font-weight:500;text-decoration:none;font-size:.9rem}.fec-link:hover{text-decoration:underline;color:#514e4c}.photo-attribution{text-align:center;color:#7a7775;font-size:.8rem;margin-top:1rem;font-style:italic}.loading-spinner{width:40px;height:40px;border:2px solid rgba(81,78,76,.1);border-top-color:#514e4c;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.politician-header-section{flex-direction:column;align-items:center;text-align:center;padding:1.5rem}.politician-photo,.politician-photo-placeholder{width:180px;height:230px}.politician-name{font-size:1.75rem}.info-table th{width:100px}.profile-links{justify-content:center;flex-wrap:wrap}.detail-section{padding:1.25rem}.funding-summary{flex-direction:column;gap:1rem}.votes-table th,.votes-table td,.donors-table th,.donors-table td{padding:.6rem .5rem;font-size:.85rem}.vote-description{max-width:200px}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #ffffff;--secondary: #514e4c;--secondary-light: #7a7775;--accent: #514e4c;--accent-dark: #3a3836;--accent-light: #6a6866;--text-dark: #514e4c;--text-light: #7a7775;--background-light: #ffffff;--background-cream: #fafafa;--border-color: rgba(81, 78, 76, .15);--accent-emphasis: #3a6ea5;--accent-emphasis-dark: #2d5a87;--accent-emphasis-light: #e8f0f7;--primary-gradient: linear-gradient(135deg, #514e4c 0%, #3a3836 100%);--secondary-gradient: linear-gradient(135deg, #514e4c 0%, #3a3836 100%);--success-gradient: linear-gradient(135deg, #514e4c 0%, #3a3836 100%);--card-shadow: 0 4px 20px rgba(0, 0, 0, .06);--card-shadow-hover: 0 8px 30px rgba(0, 0, 0, .1)}html{scroll-behavior:smooth}body{font-family:Roboto Flex,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--primary);color:var(--text-dark);line-height:1.6;font-weight:400}h1,h2,h3,h4,h5,h6{font-family:Roboto Flex,sans-serif;line-height:1.2;color:var(--accent)}h1{font-weight:700}h2,h3{font-weight:600}h4,h5,h6{font-weight:500}p{font-weight:400}label{font-weight:500}small{font-weight:300}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--primary);position:relative}.main-content{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:3rem 2rem;animation:fadeInUp .6s ease-out}.main-content:has(.landing){max-width:100%;padding:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}button,a,input,select{transition:all .3s cubic-bezier(.4,0,.2,1)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--background-cream)}::-webkit-scrollbar-thumb{background:var(--secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:1000px 100%;animation:shimmer 2s infinite}.gradient-text{color:var(--secondary)}.card{background:var(--primary);border-radius:8px;box-shadow:var(--card-shadow);border:1px solid var(--border-color);transition:all .3s ease}.card:hover{box-shadow:var(--card-shadow-hover);border-color:var(--secondary)}.error-message{max-width:600px;margin:2rem auto;padding:1.25rem;background:#fef8f8;color:#8b4513;border:1px solid rgba(81,78,76,.3);border-radius:4px;text-align:center;font-weight:500;animation:slideIn .4s ease-out}.success-message{max-width:600px;margin:2rem auto;padding:1.25rem;background:#f5f5f5;color:var(--accent);border:1px solid var(--secondary);border-radius:4px;text-align:center;font-weight:500;animation:slideIn .4s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px){.main-content{padding:2rem 1.5rem}}@media (max-width: 768px){.main-content{padding:1.5rem 1rem}h1{font-size:2rem}h2{font-size:1.5rem}}*:focus{outline:2px solid var(--secondary);outline-offset:2px}button:focus,a:focus,input:focus,select:focus{outline:2px solid var(--secondary);outline-offset:2px}
