.announcement-bar{background:#111110;color:var(--text-muted);text-align:center;padding:.5rem 1rem;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-family:var(--font-body)}.navigation{background:var(--bg);color:var(--text-primary);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:1000}.nav-container{max-width:1400px;margin:0 auto;padding:1.25rem 2rem;display:flex;align-items:center;gap:2rem}.nav-brand{display:flex;align-items:center;gap:1rem;cursor:pointer;flex:0 0 160px}.nav-spacer{flex:0 0 160px}.brand-logo{height:28px;width:auto;filter:brightness(0)}.brand-name{font-family:var(--font-display);font-size:1.75rem;font-weight:400;letter-spacing:-.01em;margin:0;color:var(--text-primary)}.nav-tabs{display:flex;flex:1;justify-content:center;gap:.25rem}.nav-tab{padding:.75rem 1.25rem;text-decoration:none;color:var(--text-secondary);font-family:var(--font-body);font-weight:500;font-size:.8rem;border-radius:var(--radius-sm);transition:all .15s ease;display:flex;align-items:center;gap:.5rem;position:relative;border:none;text-transform:uppercase;letter-spacing:.15em}.nav-tab:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--accent);transition:all .15s ease;transform:translate(-50%)}.nav-tab:hover:after{width:100%}.nav-tab:hover{color:var(--text-primary)}.nav-tab.active{color:var(--text-primary);background:transparent;border-bottom:2px solid var(--accent)}.nav-tab.active:after{display:none}.nav-auth{flex-shrink:0}.nav-signout{padding:.5rem 1rem;background:none;border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-body);font-size:.75rem;font-weight:500;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;transition:all .15s ease;border-radius:var(--radius-sm)}.nav-signout:hover{border-color:var(--text-primary);color:var(--text-primary)}.nav-hamburger{display:none}@media (max-width: 768px){.announcement-bar{display:none}.nav-container{padding:.75rem 1rem;flex-wrap:wrap;gap:0;justify-content:space-between}.brand-name{font-size:1.25rem}.brand-logo{height:22px}.nav-spacer{display:none}.nav-brand{flex:0 0 auto;gap:.6rem}.nav-hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;align-items:center;background:none;border:none;cursor:pointer;padding:0;z-index:10}.nav-hamburger span{display:block;width:22px;height:2px;background:var(--text-primary);transition:all .15s ease}.nav-hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-hamburger.open span:nth-child(2){opacity:0}.nav-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.nav-tabs{display:none;width:100%;flex-direction:column;gap:0;padding-top:.5rem}.nav-tabs.nav-tabs-open{display:flex}.nav-tab{width:100%;justify-content:flex-start;padding:.85rem .5rem;font-size:.8rem;letter-spacing:.1em;border-bottom:1px solid var(--border-light)}.nav-tab:after{display:none}.nav-tab.active{border-bottom:1px solid var(--border-light);border-left:3px solid var(--accent);padding-left:calc(.5rem - 3px)}}@media (min-width: 769px) and (max-width: 1024px){.nav-container{padding:1rem 1.5rem}.brand-name{font-size:1.5rem}.nav-tab{padding:.65rem 1rem;font-size:.75rem}}.landing{min-height:100vh;background:var(--surface)}.intro-screen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;background:#111110;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:var(--font-display);font-size:2.5rem;font-weight:400;color:#fff;line-height:1.4;margin:0 0 1.5rem;font-style:italic}.intro-quote cite{font-family:var(--font-body);font-size:.85rem;color:var(--accent);font-style:normal;letter-spacing:2px;text-transform:uppercase}@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:1.25rem 3rem;background:#111110eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);opacity:0;transform:translateY(-20px);pointer-events:none;transition:background .15s 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:var(--font-display);font-size:1.5rem;font-weight:400;color:#fff;letter-spacing:-.01em;display:flex;align-items:center;gap:.5rem}.landing-nav-logo-img{height:24px;width:auto}.nav-links{display:flex;gap:2.5rem}.nav-links a{color:#ffffffb3;text-decoration:none;font-family:var(--font-body);font-size:.8rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;transition:color .15s ease}.nav-links a:hover{color:#fff}.nav-cta{display:flex;gap:.75rem}.nav-btn-primary{padding:.7rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:.15em}.nav-btn-primary:hover{background:var(--accent-hover);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,#00000080,#0009 40%,#000000bf)}.hero-content{position:relative;z-index:1;text-align:center;max-width:900px;padding:3rem;animation:fadeInUp 1s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.hero-title{font-family:var(--font-display);font-size:6rem;font-weight:400;color:#fff;line-height:1.05;margin:0 0 2rem;letter-spacing:-.02em;text-transform:none}.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-family:var(--font-body);font-size:1.25rem;color:#ffffffbf;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-family:var(--font-body);font-size:.8rem;color:#fff6;margin:0;letter-spacing:.05em}.btn-primary{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2.5rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:.15em}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 10px 30px #0000004d}.btn-primary svg{transition:transform .15s ease}.btn-primary:hover svg{transform:translate(4px)}.btn-gold{background:var(--accent);color:#fff}.btn-gold:hover{background:var(--accent-hover)}.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:var(--radius-sm);font-family:var(--font-body);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:.15em}.btn-secondary:hover{background:#ffffff1a;border-color:#ffffff80}.btn-tertiary{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:transparent;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:.15em}.btn-tertiary:hover{border-color:var(--text-primary);background:var(--accent-subtle)}.btn-large{padding:1.25rem 3rem;font-size:.9rem}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#fff6;font-family:var(--font-body);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;animation:bounce 2s ease-in-out infinite;background:none;border:none;cursor:pointer;padding:.5rem 1rem;transition:color .15s ease}.scroll-indicator:hover{color:#fffc}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(10px)}}.trust-bar{background:#111110;border-bottom:none}.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:.5rem}.trust-number{font-family:var(--font-display);font-size:2.5rem;font-weight:400;color:var(--accent)}.trust-label{font-family:var(--font-body);font-size:.7rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.15em}.trust-divider{width:1px;height:40px;background:#ffffff1a}.section-container{max-width:1120px;margin:0 auto;padding:6rem 2rem}.section-header{max-width:680px;margin:0 0 4rem}.section-header-center{text-align:center;margin-left:auto;margin-right:auto}.section-label{display:inline-block;font-family:var(--font-body);font-size:.7rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.2em;margin-bottom:1rem}.section-title{font-family:var(--font-display);font-size:2.75rem;font-weight:400;color:var(--text-primary);margin:0 0 1rem;line-height:1.2}.section-description{font-family:var(--font-body);font-size:1.05rem;color:var(--text-secondary);line-height:1.7;margin:0}.value-prop{background:#111110}.value-prop .section-title{color:#fff}.value-prop .section-description{color:#fff9}.value-prop .section-label{color:var(--accent)}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;justify-items:center}.value-card:last-child{grid-column:1 / -1;max-width:calc((100% - 1.5rem * 2) / 3)}.value-card{width:100%;background:#1a1a18;padding:2.5rem 2rem;cursor:pointer;transition:all .15s ease;position:relative;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-md)}.value-card:hover{background:#222220;border-color:var(--accent)}.value-card-number{font-family:var(--font-display);font-size:3rem;font-weight:400;color:#ffffff14;margin-bottom:1.5rem;line-height:1}.value-card:hover .value-card-number{color:#1d4ed833}.value-card h3{font-family:var(--font-display);font-size:1.25rem;font-weight:500;color:#fff;margin:0 0 .75rem}.value-card p{font-family:var(--font-body);font-size:.9rem;color:#ffffff80;line-height:1.7;margin:0 0 1.5rem}.value-card-link{font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.15em;transition:all .15s ease}.value-card:hover .value-card-link{letter-spacing:.2em}.how-it-works{background:var(--surface)}.steps-grid{display:flex;align-items:flex-start;justify-content:center;gap:3rem}.step-card{flex:1;max-width:340px;text-align:center;padding:2.5rem}.step-number{font-family:var(--font-display);font-size:3.5rem;font-weight:400;color:var(--accent);margin-bottom:1.25rem;line-height:1}.step-card h3{font-family:var(--font-display);font-size:1.15rem;font-weight:500;color:var(--text-primary);margin:0 0 .75rem}.step-card p{font-family:var(--font-body);font-size:.9rem;color:var(--text-secondary);line-height:1.7;margin:0}.premium-db{background:#111110}.premium-db-layout{max-width:800px;margin:0 auto;text-align:center}.premium-db-content .section-title{color:#fff}.premium-db-content .section-description{color:#fff9;margin-bottom:3rem}.premium-db-list{list-style:none;padding:0;margin:0 0 3rem;display:flex;flex-direction:column;gap:1.5rem}.premium-db-list li{display:flex;align-items:flex-start;gap:1rem}.premium-db-icon{display:none}.premium-db-list li div{display:flex;flex-direction:column;gap:.25rem}.premium-db-list li strong{font-family:var(--font-body);font-size:1rem;font-weight:600;color:#fff}.premium-db-list li span{font-family:var(--font-body);font-size:.9rem;color:#ffffff80;line-height:1.6}@media (max-width: 768px){.premium-db-list li{gap:.75rem}.premium-db-icon{width:36px;height:36px}.premium-db-list li strong{font-size:.9rem}.premium-db-list li span{font-size:.85rem}}.features{background:var(--bg)}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;justify-items:center}.features-grid .feature-card:last-child:nth-child(odd){grid-column:1 / -1;max-width:calc((100% - 1.5rem)/2)}.feature-card{width:100%;padding:2.25rem;background:var(--surface);border:1px solid var(--border);transition:all .15s ease;border-radius:var(--radius-md)}.feature-card:hover{border-color:var(--text-primary)}.feature-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.feature-icon-wrap{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--accent)}.feature-card h3{font-family:var(--font-display);font-size:1.15rem;font-weight:500;color:var(--text-primary);margin:0}.feature-card>p{font-family:var(--font-body);font-size:.9rem;color:var(--text-secondary);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-family:var(--font-body);font-size:.75rem;color:var(--text-primary);padding:.35rem .75rem;background:var(--bg);border:1px solid var(--border-light);letter-spacing:.05em;border-radius:var(--radius-sm)}.social-proof{background:#111110}.social-proof .section-container{padding:6rem 2rem}.proof-content{max-width:800px;margin:0 auto;text-align:center}.proof-quote{position:relative}.proof-gold-line{width:60px;height:2px;background:var(--accent);margin:0 auto 2.5rem}.proof-quote blockquote{font-family:var(--font-display);font-size:2rem;font-weight:400;color:#fff;line-height:1.5;margin:0 0 1.5rem;font-style:italic}.proof-quote cite{font-family:var(--font-body);font-size:.8rem;color:var(--accent);font-style:normal;letter-spacing:.15em;text-transform:uppercase}.final-cta{background:#111110;position:relative;overflow:hidden}.final-cta:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url(/congress.jpg) center/cover no-repeat;opacity:.08}.final-cta .section-container{position:relative;z-index:1}.cta-content{text-align:center;max-width:600px;margin:0 auto}.cta-content h2{font-family:var(--font-display);font-size:3rem;font-weight:400;color:#fff;margin:0 0 1rem}.cta-content>p{font-family:var(--font-body);font-size:1.1rem;color:#fff9;line-height:1.7;margin:0 0 2.5rem}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.cta-buttons .btn-tertiary{color:#ffffffb3;border-color:#fff3}.cta-buttons .btn-tertiary:hover{color:#fff;border-color:#ffffff80;background:#ffffff0d}.landing-articles{background:var(--bg)}.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.article-preview-card{background:var(--surface);padding:2rem 1.75rem;cursor:pointer;transition:all .15s ease;border:1px solid var(--border-light);display:flex;flex-direction:column;border-radius:var(--radius-md)}.article-preview-card:hover{border-color:var(--text-primary)}.article-preview-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.article-preview-tag{font-family:var(--font-body);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);background:var(--bg);padding:.2rem .5rem;border:1px solid var(--border-light);border-radius:var(--radius-sm)}.article-preview-card h3{font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:var(--text-primary);margin:0 0 .75rem;line-height:1.35}.article-preview-card p{font-family:var(--font-body);font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:0 0 1.25rem;flex:1}.article-preview-link{font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.15em;transition:all .15s ease}.article-preview-card:hover .article-preview-link{letter-spacing:.2em}.articles-cta{text-align:center;margin-top:2.5rem}.landing-footer{background:#111110;color:#fff;border-top:1px solid var(--accent)}.footer-container{max-width:1200px;margin:0 auto;padding:4rem 2rem 2rem}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:3rem}.footer-brand{flex-shrink:0;max-width:280px}.footer-logo{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:#fff;display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.footer-logo-img{height:22px;width:auto}.footer-brand p{font-family:var(--font-body);color:#fff6;font-size:.85rem;margin:0}.footer-links{display:flex;gap:3rem}.footer-column{display:flex;flex-direction:column;min-width:0}.footer-column:nth-child(3){max-width:240px}.footer-column h4{font-family:var(--font-body);font-size:.7rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.15em;margin:0 0 1rem}.footer-column button{display:block;background:none;border:none;color:#fff9;font-family:var(--font-body);font-size:.85rem;padding:.35rem 0;cursor:pointer;transition:color .15s ease;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.footer-column button:hover{color:#fff}.footer-text{display:block;font-family:var(--font-body);color:#fff9;font-size:.85rem;padding:.35rem 0}.footer-bottom{padding-top:2rem;border-top:1px solid rgba(255,255,255,.08)}.footer-bottom p{font-family:var(--font-body);font-size:.75rem;color:#ffffff4d;margin:0;letter-spacing:.05em}@media (max-width: 1024px){.intro-quote blockquote{font-size:2rem}.landing-nav{padding:1rem 2rem}.nav-links{gap:1.5rem}.hero-title{font-size:4.5rem}.section-container{padding:5rem 2rem}.section-header{margin-bottom:3rem}.section-title{font-size:2.25rem}.trust-number{font-size:2rem}.value-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}.value-card:last-child{max-width:calc((100% - 1.25rem)/2)}.step-number{font-size:3rem}.steps-grid{flex-wrap:wrap}.features-grid{grid-template-columns:1fr}.features-grid .feature-card:last-child:nth-child(odd){grid-column:auto;max-width:100%}.cta-content h2{font-size:2.5rem}.articles-grid{grid-template-columns:repeat(2,1fr)}}@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.15rem}.landing-nav-logo-img{height:20px}.nav-cta{display:flex}.nav-btn-primary{padding:.45rem .75rem;font-size:.6rem;letter-spacing:.1em;white-space:nowrap}.hero{min-height:85vh}.hero-content{padding:1.5rem}.hero-title{font-size:2.75rem;margin-bottom:1.25rem}.hero-subtitle{font-size:1rem;margin-bottom:2rem;line-height:1.6}.hero-cta{flex-direction:column;align-items:center}.btn-primary,.btn-secondary,.btn-tertiary{width:100%;max-width:320px;justify-content:center;padding:.9rem 1.5rem;font-size:.8rem}.btn-large{padding:1rem 2rem;font-size:.85rem}.hero-note{font-size:.7rem}.scroll-indicator{display:none}.trust-container{gap:1rem;padding:2.5rem 1rem;justify-content:space-around}.trust-divider{display:none}.trust-item{flex:0 0 auto;min-width:70px}.trust-number{font-size:1.5rem}.trust-label{font-size:.6rem;text-align:center}.section-container{padding:3.5rem 1.25rem}.section-header{margin-bottom:2.5rem}.section-title{font-size:1.85rem}.section-description{font-size:.95rem}.section-label{font-size:.65rem}.value-grid{grid-template-columns:1fr;gap:.75rem}.value-card:last-child{grid-column:auto;max-width:100%}.value-card{padding:1.5rem}.value-card-number{font-size:2.25rem;margin-bottom:.75rem}.value-card h3{font-size:1.1rem}.value-card p{font-size:.85rem;margin-bottom:1rem}.step-number{font-size:2.25rem}.step-card{padding:1.5rem}.step-card h3{font-size:1.05rem}.step-card p{font-size:.85rem}.steps-grid{flex-direction:column;align-items:center;gap:1rem}.step-card{max-width:100%}.feature-card{padding:1.5rem}.feature-icon-wrap{width:40px;height:40px}.feature-card h3{font-size:1.05rem}.feature-card>p{font-size:.85rem}.proof-quote blockquote{font-size:1.35rem}.social-proof .section-container{padding:4rem 1.25rem}.cta-content h2{font-size:1.85rem}.cta-content>p{font-size:.95rem}.cta-buttons{flex-direction:column;align-items:center}.articles-grid{grid-template-columns:1fr;gap:.75rem}.article-preview-card{padding:1.25rem}.article-preview-card h3{font-size:1.05rem}.article-preview-card p{font-size:.8rem}.footer-container{padding:3rem 1.25rem 1.5rem}.footer-top{flex-direction:column;gap:2rem}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.footer-column:nth-child(3){max-width:100%}.footer-column button{font-size:.8rem;white-space:normal}.footer-brand p{font-size:.8rem}.premium-db-list{gap:1.25rem;margin-bottom:2rem}}@media (max-width: 480px){.intro-quote blockquote{font-size:1.15rem}.intro-quote cite{font-size:.7rem}.hero-content{padding:1.25rem}.hero-title{font-size:2.25rem}.hero-subtitle{font-size:.9rem}.trust-container{padding:2rem .75rem;gap:.75rem}.trust-number{font-size:1.35rem}.trust-label{font-size:.55rem}.section-container{padding:3rem 1rem}.section-header{margin-bottom:2rem}.section-title{font-size:1.6rem}.section-description{font-size:.88rem}.value-card{padding:1.25rem}.value-card-number{font-size:2rem;margin-bottom:.5rem}.step-number{font-size:1.75rem}.step-card,.feature-card{padding:1.25rem}.proof-quote blockquote{font-size:1.15rem}.cta-content h2{font-size:1.6rem}.btn-large{padding:.9rem 1.75rem;font-size:.8rem}.footer-links{grid-template-columns:1fr;gap:1.25rem}}.politician-card{background:var(--surface);border-radius:var(--radius-md);padding:1rem;cursor:pointer;transition:all .15s ease;border:1px solid var(--border)}.politician-card:hover{border-color:var(--text-primary);box-shadow:var(--shadow-md)}.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 var(--border-light)}.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:var(--text-primary)}.card-info{flex:1;min-width:0}.card-name{font-size:1rem;font-weight:500;color:var(--text-primary);margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-body)}.card-role{font-size:.75rem;color:var(--text-secondary);margin:0 0 .15rem;text-transform:uppercase;letter-spacing:.5px}.card-location{font-size:.85rem;color:var(--text-primary);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:var(--text-muted);transition:all .15s ease;display:flex;align-items:center;justify-content:center}.favorite-btn svg{width:20px;height:20px}.favorite-btn:hover{color:var(--accent);transform:scale(1.15)}.favorite-btn.active{color:var(--accent)}.favorite-btn.active svg{filter:drop-shadow(0 2px 4px rgba(29,78,216,.3))}@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:var(--text-primary);margin:0 0 .5rem;font-family:var(--font-display)}.page-header p{color:var(--text-secondary);font-size:1.1rem;margin:0}.address-card{background:var(--surface);border-radius:var(--radius-md);padding:2rem;border:1px solid var(--border);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:var(--text-primary);font-size:.85rem;letter-spacing:.5px;text-transform:uppercase}.form-input{padding:.875rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;transition:border-color .15s ease;font-family:inherit;background:var(--surface);color:var(--text-primary)}.form-input:focus{outline:none;border-color:var(--accent)}.form-input::placeholder{color:var(--text-muted)}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231A1A18' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}.form-hint{font-size:.8rem;color:var(--text-secondary)}.form-hint a{color:var(--accent)}.loading-text{padding:.875rem 1rem;color:var(--text-primary);font-size:.9rem}.at-large-notice{background:var(--accent-subtle);color:var(--accent);padding:.875rem 1rem;border-radius:var(--radius-sm);font-size:.9rem;border:1px solid var(--accent)}.error-message{background:var(--error-subtle);color:var(--error);padding:.875rem 1rem;border-radius:var(--radius-sm);font-size:.95rem;border:1px solid rgba(220,38,38,.3)}.form-actions{display:flex;gap:1rem;margin-top:.5rem}.btn-primary{flex:1;padding:1rem 2rem;background:var(--accent);color:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:1px;text-align:center;justify-content:center}.btn-primary:hover:not(:disabled){background:var(--accent-hover);color:var(--surface);border-color:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:1rem 1.5rem;background:transparent;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:1px}.btn-secondary:hover{border-color:var(--text-primary);background:var(--accent-subtle)}.loading-container{display:flex;flex-direction:column;align-items:center;padding:3rem;gap:1rem}.loading-container p{color:var(--text-secondary);font-size:1rem}.representatives-results{animation:fadeIn .4s ease-out}.representatives-results h2{font-size:1.75rem;color:var(--text-primary);margin:0 0 .5rem;font-family:var(--font-display)}.results-subtitle{color:var(--text-secondary);margin:0 0 1.5rem;font-size:.95rem}.rep-section{margin-bottom:2rem}.rep-section h3{font-size:.85rem;color:var(--text-primary);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:1px;font-family:var(--font-body);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:var(--text-primary);margin:0 0 .5rem;font-family:var(--font-display);font-weight:400}.favorites-subtitle{color:var(--text-secondary);margin:0 0 1.5rem;font-size:.95rem}.senators-loading,.senators-loading-standalone{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--bg);border:1px solid var(--border-light)}.senators-loading p,.senators-loading-standalone p{color:var(--text-secondary);font-size:.95rem;margin:0}.loading-spinner.small{width:24px;height:24px;min-width:24px;border-width:2px}.no-senators-message{color:var(--text-secondary);font-size:.95rem;padding:1rem 0}@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:var(--text-primary);margin-bottom:2rem;font-family:var(--font-display);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:var(--text-secondary);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:var(--text-secondary);font-size:.95rem;max-width:500px;margin-top:.5rem}.loading-spinner{width:50px;height:50px;border:2px solid var(--border-light);border-top:2px solid var(--text-primary);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 var(--border);border-radius:var(--radius-sm);font-size:1rem;transition:all .15s ease;background:var(--surface);font-family:var(--font-body);color:var(--text-primary)}.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='%231A1A18' 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:var(--text-muted)}.search-input:focus,.filter-select:focus{outline:none;border-color:var(--accent)}.search-input:hover,.filter-select:hover{border-color:var(--text-primary)}.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='%231A1A18' 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:var(--text-secondary);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:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border)}.no-results:before{content:"";display:block;width:60px;height:60px;margin:0 auto 1rem;background:var(--bg);border-radius:50%;border:1px solid var(--border)}.no-results p{color:var(--text-secondary);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)}}.bill-card{background:var(--surface);border-radius:var(--radius-md);padding:1.75rem;box-shadow:none;transition:all .15s ease;border:1px solid var(--border);cursor:pointer;display:flex;flex-direction:column;height:100%}.bill-card:hover{box-shadow:0 12px 40px #0000001f;transform:translateY(-4px);border-color:var(--text-primary)}.bill-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.bill-type-badge{padding:.35rem .75rem;border-radius:var(--radius-sm);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;background:var(--accent)}.bill-number{color:var(--accent);font-size:.95rem;font-weight:600;font-family:var(--font-mono)}.bill-status-badge{margin-left:auto;padding:.2rem .6rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border:1px solid;border-radius:var(--radius-sm)}.bill-status-badge.status-enacted{background:var(--success-subtle);color:var(--success);border-color:var(--success)}.bill-status-badge.status-passed-both,.bill-status-badge.status-passed{background:var(--accent-subtle);color:var(--accent);border-color:var(--accent)}.bill-status-badge.status-committee{background:var(--warning-subtle);color:var(--warning);border-color:var(--warning)}.bill-status-badge.status-introduced{background:var(--bg);color:var(--text-muted);border-color:var(--border)}.bill-status-badge.status-progress{background:var(--bg);color:var(--text-secondary);border-color:var(--border)}.bill-type-desc{display:none}.bill-introduced{font-size:.75rem;color:var(--text-muted, #9C9789);margin-bottom:.75rem}.bill-title{font-size:1.25rem;font-weight:400;color:var(--text-primary);line-height:1.4;margin-bottom:1rem;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--font-display)}.bill-meta{margin-bottom:1rem}.bill-action{background:var(--bg);border-radius:var(--radius-sm);padding:.875rem;font-size:.9rem}.action-label{color:var(--text-secondary);font-weight:600;display:block;margin-bottom:.25rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.action-text{color:var(--text-primary);display:block;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.action-date{color:var(--text-secondary);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 var(--border);margin-top:auto}.bill-sponsor{display:flex;flex-direction:column;gap:.25rem}.sponsor-label{color:var(--text-secondary);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.sponsor-link{background:none;border:none;padding:0;color:var(--text-primary);font-size:.9rem;font-weight:600;cursor:pointer;text-align:left;transition:color .15s ease;font-family:inherit}.sponsor-link:hover{color:var(--accent);text-decoration:underline}.bill-congress{color:var(--text-secondary);font-size:.8rem;font-weight:500;background:var(--bg);padding:.35rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border)}@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}}.trending-bills-section{margin-bottom:2.5rem;animation:fadeIn .6s ease-out}.trending-bills-title{font-size:1.75rem;color:var(--text-primary);font-family:var(--font-display);font-weight:400;margin-bottom:.25rem}.trending-bills-subtitle{color:var(--text-secondary);font-size:.95rem;margin-bottom:1.25rem}.trending-bills-loading{display:flex;align-items:center;gap:1rem;padding:2rem 0}.trending-bills-loading p{color:var(--text-secondary);font-size:.95rem}.trending-bills-scroll{display:flex;gap:1.25rem;overflow-x:auto;padding-bottom:.75rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.trending-bills-scroll::-webkit-scrollbar{height:4px}.trending-bills-scroll::-webkit-scrollbar-track{background:transparent}.trending-bills-scroll::-webkit-scrollbar-thumb{background:var(--border)}.trending-bills-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.trending-bill-card{flex:0 0 340px;background:var(--surface);padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);cursor:pointer;display:flex;flex-direction:column;scroll-snap-align:start;transition:all .15s ease}.trending-bill-card:hover{box-shadow:0 12px 40px #0000001f;transform:translateY(-4px);border-color:var(--text-primary)}.trending-bill-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.trending-badge{padding:.3rem .65rem;background:var(--accent);color:#fff;font-size:.6rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-radius:var(--radius-sm)}.trending-bill-headline{font-size:1.15rem;font-weight:600;color:var(--text-primary);line-height:1.4;margin-bottom:.75rem;font-family:var(--font-display)}.trending-bill-blurb{font-size:.88rem;color:var(--text-secondary);line-height:1.55;margin-bottom:1rem;flex:1}.trending-bill-meta{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;padding:.75rem;background:var(--bg);border-radius:var(--radius-sm)}.trending-bill-number{font-size:.8rem;font-weight:600;color:var(--accent);font-family:var(--font-mono)}.trending-bill-action{font-size:.78rem;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.trending-bill-footer{padding-top:.75rem;border-top:1px solid var(--border);margin-top:auto}.trending-bill-footer .sponsor-link{background:none;border:none;padding:0;color:var(--text-primary);font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;transition:color .15s ease}.trending-bill-footer .sponsor-link:hover{text-decoration:underline;color:var(--accent)}.trending-bill-card .bill-status-badge{margin-left:0}@media (max-width: 768px){.trending-bills-scroll{flex-direction:column;overflow-x:visible}.trending-bill-card{flex:none;width:100%}.trending-bills-title{font-size:1.5rem}}.bills-page{width:100%;animation:fadeIn .6s ease-out}.bills-header{margin-bottom:2rem}.bills-header h1{font-size:2.25rem;color:var(--text-primary);margin-bottom:.5rem;font-family:var(--font-display);font-weight:400}.bills-subtitle{color:var(--text-secondary);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-secondary);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:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:var(--radius-sm);font-size:1rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:1px}.retry-button:hover{background:var(--accent-hover);color:#fff;border-color:var(--accent-hover)}.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 var(--border);border-radius:var(--radius-md);font-size:1rem;transition:all .15s ease;background:var(--surface);font-family:inherit;color:var(--text-primary)}.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='%236B6861' 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:var(--text-muted)}.bills-search-input:focus,.bills-filter-select:focus{outline:none;border-color:var(--accent)}.bills-search-input:hover,.bills-filter-select:hover{border-color:var(--text-primary)}.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='%236B6861' 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:var(--text-secondary);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:var(--accent)}.bills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.75rem;margin-bottom:2rem}.load-more-container{display:flex;justify-content:center;margin:2rem 0}.load-more-button{padding:1rem 2.5rem;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:var(--radius-sm);font-size:1rem;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;gap:.75rem;text-transform:uppercase;letter-spacing:1px}.load-more-button:hover:not(:disabled){background:var(--accent-hover);color:#fff;border-color:var(--accent-hover)}.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:var(--surface);border-radius:var(--radius-md);border:1px solid var(--border)}.no-bills p{color:var(--text-secondary);font-size:1.1rem;margin-bottom:1.5rem}.reset-filters-button{padding:.75rem 1.5rem;background:transparent;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:1px}.reset-filters-button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}@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}}.tooltip-wrapper{position:relative;cursor:help;display:inline-flex;align-items:center;gap:.3rem}.tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:var(--border);color:var(--text-secondary);font-size:.6rem;font-weight:700;flex-shrink:0;line-height:1}.tooltip-popup{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#2d2a28;color:#f5f5f4;font-size:.78rem;font-weight:400;line-height:1.45;padding:.65rem .85rem;border-radius:var(--radius-md);white-space:normal;width:max-content;max-width:280px;z-index:1000;pointer-events:none;box-shadow:0 4px 16px #0003;text-transform:none;letter-spacing:0;font-style:normal;font-family:var(--font-body)}.tooltip-popup:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#2d2a28}.infotip-wrapper{position:relative;cursor:help;border-bottom:1px dotted var(--border);display:inline}@media (max-width: 768px){.tooltip-popup{max-width:220px;font-size:.75rem;left:0;transform:none}.tooltip-popup:after{left:16px;transform:none}}.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:var(--text-secondary);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:var(--text-primary);font-weight:500;margin-bottom:2rem;cursor:pointer;background:none;border:none;font-size:.9rem;padding:0;transition:color .15s ease;font-family:inherit;text-transform:uppercase;letter-spacing:.5px}.back-button{padding:.75rem 1.5rem;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;text-transform:uppercase;letter-spacing:1px;transition:all .15s ease}.back-button:hover{background:var(--accent-hover);color:#fff;border-color:var(--accent-hover)}.bill-detail-header{margin-bottom:2.5rem}.bill-type-congress{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.bill-type-label{background:var(--accent);color:#fff;padding:.5rem 1rem;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.congress-label{color:var(--text-secondary);font-size:.95rem;font-weight:500}.bill-detail-title{font-size:2rem;font-weight:400;color:var(--text-primary);line-height:1.3;margin-bottom:1.5rem;font-family:var(--font-display)}.bill-status-row{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.status-badge{padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-badge.enacted{background:var(--success-subtle);color:var(--success);border:1px solid var(--success)}.status-badge.passed-both,.status-badge.passed{background:var(--accent-subtle);color:var(--accent);border:1px solid var(--accent)}.status-badge.introduced{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.status-badge.in-progress{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border-light)}.introduced-date{color:var(--text-secondary);font-size:.95rem}.bill-key-facts{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem 2rem;margin-bottom:1.5rem}.key-facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.25rem}.key-fact{display:flex;flex-direction:column;gap:.25rem}.key-fact-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.key-fact-value{font-size:.95rem;font-weight:500;color:var(--text-primary)}.key-fact-link{text-decoration:none;transition:color .15s ease}.key-fact-link:hover{text-decoration:underline}.key-fact-clickable{cursor:pointer;border-radius:var(--radius-md);padding:.5rem;margin:-.5rem;transition:background .15s ease}.key-fact-clickable:hover{background:var(--accent-subtle)}.key-fact-desc{font-size:.72rem;color:var(--text-muted);line-height:1.3;margin-top:.2rem}.bill-section{background:var(--surface);border-radius:var(--radius-md);padding:2rem;margin-bottom:1.5rem;border:1px solid var(--border)}.bill-section h2{font-size:1.25rem;color:var(--text-primary);margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);font-family:var(--font-body);font-weight:400}.bill-summary{color:var(--text-primary);line-height:1.8;font-size:1rem}.bill-summary p{margin-bottom:1rem}.ai-section{background:var(--accent-subtle);border:none;border-left:3px solid var(--accent);padding:1.5rem;border-radius:var(--radius-md)}.ai-section-desc{color:var(--text-secondary);font-size:.85rem;margin-bottom:.75rem}.ai-links{display:flex;gap:.5rem;flex-wrap:wrap}.ai-link-button{padding:.5rem 1rem;font-size:.8rem;font-weight:500;text-decoration:none;letter-spacing:.3px;transition:all .15s ease;display:inline-flex;align-items:center;gap:.4rem;background:var(--surface);color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm)}.ai-link-button:hover{border-color:var(--accent-hover);background:var(--accent);color:#fff}.ai-link-claude,.ai-link-chatgpt,.ai-link-gemini{background:var(--surface);color:var(--accent);border:1px solid var(--accent)}.ai-link-claude:hover,.ai-link-chatgpt:hover,.ai-link-gemini:hover{border-color:var(--accent-hover);background:var(--accent);color:#fff}.explanation-text h3,.key-points h3,.affected-groups h3{font-size:1rem;color:var(--text-primary);margin-bottom:.75rem}.explanation-text p{color:var(--text-primary);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:var(--text-primary);line-height:1.6;border-bottom:1px solid var(--border-light)}.key-points li:before{content:"";position:absolute;left:0;top:1rem;width:8px;height:8px;background:var(--accent);border-radius:50%}.affected-groups p{color:var(--text-primary);line-height:1.8}.vote-tallies-list{display:flex;flex-direction:column;gap:1.25rem}.vote-tally-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem}.tally-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.tally-chamber-badge{background:var(--accent);color:#fff;padding:.3rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.tally-date{color:var(--text-secondary);font-size:.85rem}.tally-result-badge{margin-left:auto;padding:.3rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.tally-result-badge.passed{background:var(--success-subtle);color:var(--success);border:1px solid var(--success)}.tally-result-badge.failed{background:var(--error-subtle);color:var(--error);border:1px solid var(--error)}.tally-question{color:var(--text-primary);font-size:.9rem;margin:0 0 1rem;line-height:1.5}.tally-bar-container{display:flex;flex-direction:column;gap:.5rem}.tally-bar{display:flex;height:28px;width:100%;overflow:hidden;background:var(--border-light);border-radius:var(--radius-sm)}.tally-bar-yea{background:var(--success);height:100%;transition:width .5s ease}.tally-bar-nay{background:var(--error);height:100%;transition:width .5s ease}.tally-counts{display:flex;gap:1.5rem;font-size:.85rem;font-weight:500}.tally-yea-count{color:var(--success)}.tally-nay-count{color:var(--error)}.tally-notvoting-count,.tally-present-count{color:var(--text-secondary)}.section-loading-inline{display:flex;align-items:center;gap:1rem;padding:1rem 0}.section-loading-inline p{color:var(--text-secondary);margin:0;font-size:.95rem}@media (max-width: 768px){.tally-header{flex-direction:column;align-items:flex-start}.tally-result-badge{margin-left:0}.tally-counts{flex-wrap:wrap;gap:.75rem}}.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:var(--text-primary);letter-spacing:.5px}.sponsor-name-link{font-size:1.25rem;font-weight:500;color:var(--text-primary);text-decoration:none;transition:color .15s ease;font-family:var(--font-body)}.sponsor-name-link:hover{color:var(--accent)}.sponsor-party{color:var(--text-secondary);font-size:.95rem}.cosponsors-section h3{font-size:1rem;color:var(--text-secondary);margin-bottom:1rem}.cosponsors-grid{display:flex;flex-wrap:wrap;gap:.75rem}.cosponsor-chip{padding:.5rem 1rem;background:var(--bg);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-primary);text-decoration:none;transition:all .15s ease;border:1px solid var(--border)}.cosponsor-chip:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.cosponsor-party{color:inherit;opacity:.7;margin-left:.25rem}.more-cosponsors{padding:.5rem 1rem;background:var(--bg);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;transition:background .15s ease}.more-cosponsors:hover{background:var(--border-light)}.committees-list{display:flex;flex-direction:column;gap:.75rem}.committee-item{padding:1rem 1.25rem;background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-md)}.committee-name{font-weight:600;color:var(--text-primary);font-size:.95rem}.committee-chamber{display:inline-block;margin-left:.75rem;font-size:.75rem;font-weight:500;color:var(--text-secondary);background:var(--border-light);padding:.15rem .5rem;border-radius:var(--radius-sm)}.subcommittees{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.subcommittee-chip{font-size:.8rem;color:var(--text-secondary);background:var(--border-light);padding:.25rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--border)}.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:var(--bg);border-radius:var(--radius-md);text-decoration:none;transition:all .15s ease;border:1px solid var(--border-light)}.text-version-item:hover{background:var(--border-light);transform:translate(4px);border-color:var(--border)}.version-type{font-weight:500;color:var(--text-primary)}.version-date{color:var(--text-secondary);font-size:.9rem}.view-link{color:var(--accent);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:var(--text-primary);border-radius:50%;flex-shrink:0}.marker-dot--enacted{background:var(--success);width:14px;height:14px}.marker-dot--passed{background:var(--accent)}.marker-dot--committee{background:var(--warning)}.marker-dot--introduced{background:var(--text-muted)}.marker-dot--referred{background:#7c3aed}.marker-line{width:2px;flex:1;background:var(--border);min-height:30px}.action-content{padding-bottom:1.5rem;flex:1}.action-content .action-date{display:block;font-size:.85rem;color:var(--text-primary);font-weight:500;margin-bottom:.5rem}.action-content .action-text{color:var(--text-primary);line-height:1.6;margin:0}.action-code{display:inline-block;margin-top:.5rem;font-size:.8rem;color:var(--text-secondary);background:var(--bg);padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--border-light);font-family:var(--font-mono)}.more-actions{padding:1rem 0;text-align:center}.more-actions a{color:var(--accent);font-weight:500;text-decoration:none}.more-actions a:hover{text-decoration:underline;color:var(--accent-hover)}.bill-source-link{text-align:left;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border-light)}.bill-source-link a{font-size:.8rem;color:var(--text-secondary);text-decoration:none}.bill-source-link a:hover{text-decoration:underline;color:var(--accent)}@media (max-width: 768px){.bill-detail{padding:0}.bill-detail-title{font-size:1.5rem}.bill-section{padding:1.5rem}.ai-links{flex-direction:row;flex-wrap:wrap}.ai-link-button{flex:1;min-width:0;justify-content:center;text-align: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}}.vote-dashboard{margin-top:var(--space-8)}.dash-section-title{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--text-primary);margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.dash-stale-banner{background:#fff8e1;color:#795500;font-family:var(--font-body);font-size:.8125rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-4);border:1px solid #FFE082}.dash-stats-bar{display:flex;align-items:flex-start;gap:var(--space-6);padding:var(--space-4) 0 var(--space-5);margin-bottom:var(--space-4);border-bottom:1px solid var(--border)}.dash-stat-primary{display:flex;flex-direction:column;min-width:160px}.dash-stat-number{font-family:var(--font-mono);font-size:2.25rem;font-weight:600;color:var(--text-primary);line-height:1;transition:opacity .4s ease-out;opacity:0}.dash-stat-number.animated{opacity:1}.dash-stat-label{font-family:var(--font-body);font-size:.8125rem;color:var(--text-secondary);margin-top:var(--space-1);text-transform:uppercase;letter-spacing:.05em}.dash-loyalty-bar{width:100%;height:4px;background:var(--border);border-radius:2px;margin-top:var(--space-2);overflow:hidden}.dash-loyalty-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .6s ease-out}.dash-stat-secondary{display:flex;flex-direction:column}.dash-stat-number-sm{font-family:var(--font-mono);font-size:1.25rem;font-weight:600;color:var(--text-primary);line-height:1}.dash-stat-detail{font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);margin-top:2px}.dash-stat-breakdown{display:flex;gap:var(--space-3);align-items:flex-start;flex-wrap:wrap}.dash-count{font-family:var(--font-mono);font-size:.875rem;font-weight:500}.dash-count-yea{color:var(--success)}.dash-count-nay{color:var(--error)}.dash-count-other{color:var(--text-secondary)}.dash-vote-list{display:flex;flex-direction:column}.dash-vote-card{padding:var(--space-4) 0;border-bottom:1px solid var(--border)}.dash-vote-card:last-child{border-bottom:none}.dash-card-content{transition:background .15s ease;padding:var(--space-1);border-radius:var(--radius-sm);margin:calc(var(--space-1) * -1)}.dash-card-content:hover{background:#00000005}.dash-card-meta{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.dash-bill-number{font-family:var(--font-mono);font-size:.75rem;font-weight:500;color:var(--accent);text-transform:uppercase}.dash-vote-badge{font-family:var(--font-mono);font-size:.6875rem;font-weight:600;padding:1px 6px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em}.dash-vote-yea{background:#dcfce7;color:#166534}.dash-vote-nay{background:#fee2e2;color:#991b1b}.dash-vote-sponsor{background:#dbeafe;color:#1e40af}.dash-vote-other{background:var(--surface-alt, #F5F5F0);color:var(--text-secondary)}.dash-card-date{font-family:var(--font-mono);font-size:.6875rem;color:var(--text-secondary);margin-left:auto}.dash-bill-title{font-family:var(--font-display);font-size:1.0625rem;font-weight:400;color:var(--text-primary);margin:0;line-height:1.35}.dash-bill-desc{font-family:var(--font-body);font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin:var(--space-2) 0 0}.dash-explain-btn{font-family:var(--font-body);font-size:.75rem;color:var(--accent);background:none;border:none;padding:var(--space-1) 0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.dash-explain-btn:hover{color:var(--text-primary)}.dash-explanation{padding:var(--space-3);background:var(--surface-alt, #F9F8F5);border-radius:var(--radius-sm);margin-top:var(--space-2);animation:fadeIn .3s ease}.dash-explanation-content p{font-family:var(--font-body);font-size:.875rem;color:var(--text-primary);line-height:1.6;margin:0 0 var(--space-2)}.dash-explanation-content p:last-child{margin-bottom:0}.dash-explanation-loading{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:.8125rem;color:var(--text-secondary)}.dash-empty{padding:var(--space-6) 0;text-align:center}.dash-empty p{font-family:var(--font-body);font-size:.9375rem;color:var(--text-secondary);margin:0}.dash-empty-sub{font-size:.8125rem!important;margin-top:var(--space-1)!important;color:var(--text-muted, #999)!important}.dash-load-more{display:block;width:100%;padding:var(--space-2) var(--space-4);margin-top:var(--space-3);font-family:var(--font-body);font-size:.875rem;color:var(--accent);background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,border-color .15s ease;text-align:center}.dash-load-more:hover{background:#00000005;border-color:var(--accent)}.dash-loading{animation:fadeIn .3s ease}.dash-skeleton-stats{height:80px;background:linear-gradient(90deg,var(--border) 25%,transparent 50%,var(--border) 75%);background-size:200% 100%;border-radius:var(--radius-sm);margin-bottom:var(--space-4);animation:shimmer 1.5s infinite}.dash-skeleton-card{height:64px;background:linear-gradient(90deg,var(--border) 25%,transparent 50%,var(--border) 75%);background-size:200% 100%;border-radius:var(--radius-sm);margin-bottom:var(--space-2);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 1023px){.dash-stats-bar{gap:var(--space-4)}.dash-stat-primary{min-width:140px}.dash-stat-number{font-size:1.875rem}}@media (max-width: 767px){.dash-stats-bar{flex-direction:column;gap:var(--space-4);padding:var(--space-3) 0}.dash-stat-primary{min-width:auto;width:100%}.dash-stat-number{font-size:2rem}.dash-stat-secondary{padding-top:var(--space-1);border-top:1px solid var(--border-light, #F0EEEA)}.dash-stat-breakdown{flex-direction:row;gap:var(--space-3);flex-wrap:wrap;padding-top:var(--space-1);border-top:1px solid var(--border-light, #F0EEEA)}.dash-count{font-size:.8125rem}.dash-bill-title{font-size:.9375rem}.dash-bill-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dash-card-meta{flex-wrap:wrap;gap:4px 8px}.dash-card-date{display:none}.dash-vote-card{padding:var(--space-4) 0}}.politician-detail{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem;animation:fadeIn .4s ease-out}.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:var(--text-secondary);font-size:1.1rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-primary);font-weight:500;margin-bottom:1.5rem;cursor:pointer;background:none;border:none;font-size:.9rem;padding:0;transition:color .15s ease;font-family:inherit;text-transform:uppercase;letter-spacing:.5px}.back-link:hover{color:var(--accent)}.back-button{padding:.75rem 1.5rem;background:var(--text-primary);color:var(--surface);border:1px solid var(--text-primary);border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;text-transform:uppercase;letter-spacing:1px}.back-button:hover{background:transparent;color:var(--text-primary);border-color:var(--text-primary)}.politician-header-section{display:flex;gap:2.5rem;background:var(--surface);border-radius:var(--radius-md);padding:2rem;margin-bottom:2rem;border:1px solid var(--border)}.politician-photo-side{flex-shrink:0}.politician-photo{width:220px;height:280px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border)}.politician-photo-placeholder{width:220px;height:280px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:#fff;font-size:3.5rem;font-weight:400;background:var(--text-primary);font-family:var(--font-body)}.politician-info-side{flex:1;display:flex;flex-direction:column}.politician-name{font-size:2.25rem;font-weight:400;color:var(--text-primary);margin:0 0 .75rem;font-family:var(--font-display)}.party-badge-large{display:inline-block;padding:.4rem 1rem;border-radius:var(--radius-sm);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 var(--border-light)}.info-table th{width:140px;color:var(--text-muted, #9C9789);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.info-table td{color:var(--text-primary);font-weight:400}.info-table td a{color:var(--text-primary);text-decoration:none}.info-table td a:hover{text-decoration:underline}.profile-links{display:flex;gap:1rem;margin-top:auto}.profile-link{padding:.5rem 1rem;border-radius:var(--radius-sm);font-weight:600;font-size:.75rem;text-decoration:none;transition:all .15s ease;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);background:transparent;border:1px solid var(--border)}.profile-link:hover{border-color:var(--accent);background:var(--accent-subtle, rgba(29, 78, 216, .08))}.profile-link.website{color:var(--accent);border:1px solid var(--border);background:transparent}.profile-link.website:hover{border-color:var(--accent);background:var(--accent-subtle, rgba(29, 78, 216, .08))}.profile-link.congress{background:transparent;color:var(--accent);border:1px solid var(--border)}.profile-link.congress:hover{border-color:var(--accent);background:var(--accent-subtle, rgba(29, 78, 216, .08))}.detail-section{background:var(--surface);border-radius:var(--radius-md);padding:2rem;margin-bottom:1.5rem;border:1px solid var(--border)}.detail-section.votes-section{background:transparent;border:none;padding:0;margin-bottom:2rem}.detail-section h2{font-size:1.5rem;color:var(--text-primary);margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);font-family:var(--font-display);font-weight:400}.detail-section h3{font-size:.85rem;color:var(--text-primary);margin:1.5rem 0 1rem;text-transform:uppercase;letter-spacing:1px;font-family:var(--font-body);font-weight:500}.section-loading{display:flex;flex-direction:column;align-items:center;padding:2rem;gap:1rem}.section-loading p{color:var(--text-secondary)}.no-data-message{color:var(--text-secondary);text-align:center;padding:2rem}.no-data-message small{display:block;margin-top:.5rem;color:var(--text-muted)}.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 var(--border-light)}.votes-table th{background:var(--bg);color:var(--text-secondary);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.votes-table tbody tr:hover{background:var(--bg)}.votes-table tbody tr.clickable-row{cursor:pointer}.votes-table tbody tr.clickable-row:hover{background:var(--accent-subtle)}.vote-date{white-space:nowrap;color:var(--text-secondary);font-size:.9rem}.vote-bill{font-weight:500;color:var(--text-primary)}.vote-description{max-width:400px;font-size:.95rem;color:var(--text-primary)}.vote-result{font-size:.9rem;color:var(--text-secondary)}.vote-badge{display:inline-block;padding:.25rem .65rem;border-radius:var(--radius-sm);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.vote-badge.vote-yea{background:var(--success-subtle);color:var(--success);border:1px solid rgba(22,163,74,.2)}.vote-badge.vote-nay{background:var(--error-subtle);color:var(--error);border:1px solid rgba(220,38,38,.2)}.vote-badge.vote-other{background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.vote-badge.vote-sponsor{background:var(--accent-subtle);color:var(--accent);border:1px solid var(--accent)}.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:var(--text-primary);color:#fff;padding:.5rem .75rem;border-radius:var(--radius-sm);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:var(--text-primary);margin-bottom:-7px;z-index:101}.bill-link{color:var(--text-primary);text-decoration:none;font-weight:500;transition:all .15s ease}.bill-link:hover{color:var(--accent);text-decoration:underline}.sponsored-row{background:var(--bg)!important}.sponsored-row:hover{background:var(--border-light)!important}.description-text{cursor:default}.description-text:hover{color:var(--text-primary)}.funding-summary{display:flex;gap:2rem;margin-bottom:2rem;padding:1.5rem;background:var(--bg);border-radius:var(--radius-md);border:1px solid var(--border-light)}.funding-stat{display:flex;flex-direction:column;gap:.25rem}.funding-stat.corporate-stat{background:var(--bg);padding:1rem 1.5rem;border-radius:var(--radius-sm);margin:-.5rem 0;border:1px solid var(--accent)}.funding-stat.corporate-stat .stat-value{color:var(--accent)}.stat-value{font-size:1.75rem;font-weight:400;color:var(--text-primary);font-family:var(--font-body)}.stat-value.small{font-size:1rem;font-family:var(--font-mono)}.stat-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.committees-section{margin-bottom:1.5rem}.committees-grid{display:flex;flex-direction:column;gap:.75rem}.committee-card{background:var(--bg);border:1px solid var(--border-light);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem}.committee-name{font-size:.85rem;font-weight:500;color:var(--text-primary)}.committee-financials{display:flex;gap:2rem}.committee-stat{display:flex;flex-direction:column;gap:.15rem}.committee-stat-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.committee-stat-value{font-size:.95rem;font-weight:500;color:var(--text-primary)}.top-donors-section{margin-top:1.5rem}.corporate-donors-section{margin-bottom:2rem;padding:1.5rem;background:var(--bg);border-radius:var(--radius-md);border:1px solid var(--accent)}.corporate-donors-section h3{margin:0 0 .25rem;color:var(--text-primary)}.section-subtitle{color:var(--text-secondary);font-size:.85rem;margin:0 0 1rem}.corporate-tags{display:flex;flex-wrap:wrap;gap:.75rem}.corporate-tag{display:flex;flex-direction:column;background:var(--surface);padding:.75rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--border)}.corp-name{font-weight:500;font-size:.8rem;color:var(--text-primary)}.corp-amount{font-size:.75rem;color:var(--text-primary);font-weight:600}.corporate-row{background:var(--bg)!important}.corporate-row:hover{background:var(--border-light)!important}.corp-badge{display:inline-block;padding:.1rem .4rem;background:var(--accent);color:var(--surface);font-size:.6rem;font-weight:600;border-radius:2px;margin-left:.5rem;text-transform:uppercase;letter-spacing:.5px}.no-corporate-message{color:var(--text-secondary);text-align:center;padding:1.5rem;background:var(--bg);border-radius:var(--radius-sm);margin:1rem 0;border:1px solid var(--border-light)}.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 var(--border-light)}.donors-table th{background:var(--bg);color:var(--text-secondary);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.donors-table tbody tr:hover{background:var(--bg)}.donor-rank{width:40px;font-weight:500;color:var(--text-primary)}.donor-name{font-weight:500;color:var(--text-primary)}.donor-occupation,.donor-location{color:var(--text-secondary);font-size:.9rem}.donor-amount{font-weight:600;color:var(--text-primary);white-space:nowrap}.funding-source{margin-top:1.5rem;text-align:center}.fec-link{color:var(--accent);font-weight:500;text-decoration:none;font-size:.9rem}.fec-link:hover{text-decoration:underline;color:var(--accent-hover)}.photo-attribution{text-align:center;color:var(--text-secondary);font-size:.8rem;margin-top:1rem;font-style:italic}.loading-spinner{width:40px;height:40px;border:2px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@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}}.shutdown-banner{width:100%;z-index:1001;font-size:.85rem;border-bottom:1px solid var(--border)}.shutdown-banner__content{max-width:1400px;margin:0 auto;padding:.5rem 2rem;display:flex;align-items:center;gap:.75rem}.shutdown-banner__icon{font-size:1rem;flex-shrink:0}.shutdown-banner__text{flex:1;color:inherit;font-family:var(--font-body)}.shutdown-banner__countdown{opacity:.85;font-family:var(--font-mono)}.shutdown-banner__link{color:inherit;font-weight:600;text-decoration:underline;white-space:nowrap;opacity:.9;transition:opacity .15s ease}.shutdown-banner__link:hover{opacity:1}.shutdown-banner__dismiss{background:none;border:none;color:inherit;font-size:1.2rem;cursor:pointer;padding:0 .25rem;opacity:.6;transition:opacity .15s ease;line-height:1}.shutdown-banner__dismiss:hover{opacity:1}.shutdown-banner--funded{background:var(--success-subtle);color:#166534}.shutdown-banner--low{background:var(--bg);color:var(--text-primary)}.shutdown-banner--moderate{background:var(--warning-subtle);color:#7c5e20}.shutdown-banner--high{background:#fdf2ec;color:#8c3a1e}.shutdown-banner--critical{background:var(--error-subtle);color:#991b1b}.shutdown-banner--shutdown{background:var(--error);color:#fff}.shutdown-banner--shutdown .shutdown-banner__link{color:#fff}@media (max-width: 768px){.shutdown-banner__content{padding:.5rem 1rem;font-size:.78rem;gap:.5rem}.shutdown-banner__countdown{display:none}}.shutdown-tracker{min-height:100vh;background:var(--bg);padding:2rem}.shutdown-tracker__container{max-width:1100px;margin:0 auto}.shutdown-tracker__header{margin-bottom:2rem}.shutdown-tracker__header h1{font-size:2.25rem;font-weight:400;color:var(--text-primary);margin:0 0 .5rem;font-family:var(--font-display)}.shutdown-tracker__header p{color:var(--text-secondary);font-size:1rem;margin:0;font-family:var(--font-body)}.last-updated{display:inline-block;margin-top:.5rem;padding:.25rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.78rem;color:var(--text-secondary);font-weight:500;font-family:var(--font-mono)}.shutdown-loading,.shutdown-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem;color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.retry-btn{padding:.5rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;font-family:var(--font-body);transition:background .15s ease}.retry-btn:hover{background:var(--accent-hover)}.shutdown-status-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;margin-bottom:1.5rem}.status-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.status-card__header h2{font-size:1.25rem;font-weight:400;color:var(--text-primary);margin:0;font-family:var(--font-display)}.status-badge{padding:.3rem .85rem;border-radius:999px;font-size:.85rem;font-weight:700;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.status-badge--funded{background:var(--success-subtle);color:#166534}.status-badge--low{background:var(--bg);color:var(--text-primary)}.status-badge--moderate{background:var(--warning-subtle);color:#92400e}.status-badge--high{background:#fed7aa;color:#9a3412}.status-badge--critical{background:var(--error-subtle);color:#991b1b}.status-badge--shutdown{background:var(--error);color:#fff}.status-card__summary{color:var(--text-primary);font-size:1.05rem;margin:0 0 1.25rem;line-height:1.6;font-weight:500;font-family:var(--font-body)}.risk-meter__track{height:12px;background:var(--border);border-radius:var(--radius-md);overflow:hidden}.risk-meter__fill{height:100%;border-radius:var(--radius-md);transition:width .6s ease}.risk-meter__fill--funded{background:var(--success)}.risk-meter__fill--low{background:var(--text-secondary)}.risk-meter__fill--moderate{background:var(--warning)}.risk-meter__fill--high{background:#ea580c}.risk-meter__fill--critical{background:var(--error)}.risk-meter__fill--shutdown{background:#991b1b}.risk-meter__labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted);margin-top:.25rem;font-family:var(--font-mono)}.risk-explainer{margin-top:1.25rem;padding:1rem 1.25rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.88rem;color:var(--text-secondary);line-height:1.6;font-family:var(--font-body)}.risk-explainer strong{color:var(--text-primary);margin-right:.25rem}.shutdown-countdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;margin-bottom:1.5rem;text-align:center}.shutdown-countdown h2{font-size:1.1rem;font-weight:400;color:var(--text-primary);margin:0 0 1.25rem;font-family:var(--font-display)}.countdown__units{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:1.25rem}.countdown__unit{display:flex;flex-direction:column;align-items:center;min-width:80px}.countdown__number{font-size:3.5rem;font-weight:600;color:var(--text-primary);line-height:1;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.countdown__separator{font-size:2.5rem;font-weight:300;color:var(--border);padding-bottom:1.25rem}.countdown__label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-top:.35rem;font-weight:600;font-family:var(--font-mono)}.countdown__expired{font-size:1.5rem;font-weight:700;color:var(--error);padding:1rem 0;font-family:var(--font-mono)}.countdown__description{color:var(--text-secondary);font-size:.9rem;margin:0;line-height:1.6;font-family:var(--font-body)}.countdown__explainer{margin-top:1.25rem;padding:1rem 1.25rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.85rem;color:var(--text-secondary);line-height:1.65;text-align:left;font-family:var(--font-body)}.shutdown-progress{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;margin-bottom:1.5rem}.shutdown-progress h2{font-size:1.1rem;font-weight:400;color:var(--text-primary);margin:0 0 1rem;font-family:var(--font-display)}.progress-stats{display:flex;gap:2.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.progress-stat{display:flex;flex-direction:column}.progress-stat__number{font-size:2.25rem;font-weight:600;color:var(--text-primary);line-height:1;font-family:var(--font-mono)}.progress-stat__label{font-size:.78rem;color:var(--text-secondary);margin-top:.25rem;font-family:var(--font-body)}.progress-bar__track{height:10px;background:var(--border);border-radius:5px;overflow:hidden}.progress-bar__fill{height:100%;background:var(--success);border-radius:5px;transition:width .6s ease}.progress-bar__label{font-size:.8rem;color:var(--text-secondary);margin-top:.35rem;display:block;font-family:var(--font-mono)}.shutdown-bills{margin-bottom:1.5rem}.shutdown-bills h2{font-size:1.1rem;font-weight:400;color:var(--text-primary);margin:0 0 1rem;font-family:var(--font-display)}.approp-bills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.approp-bill-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;transition:box-shadow .15s ease,border-color .15s ease;cursor:pointer;position:relative}.approp-bill-card:hover{border-color:var(--text-primary)}.approp-bill-card--expanded{border-color:var(--accent);box-shadow:var(--shadow-md)}.approp-bill-card--signed{border-color:var(--success)}.approp-bill-card--passed_both{border-color:var(--accent)}.approp-bill-card--passed_one{border-color:#7c3aed}.approp-bill-card--committee{border-color:var(--warning)}.approp-bill-card--cr{border-color:#0891b2}.approp-bill-card--introduced{border-color:var(--text-secondary)}.approp-bill-card--not_introduced{border-color:var(--border)}.approp-bill-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.approp-bill-card__short{font-size:.95rem;font-weight:600;color:var(--text-primary);margin:0;font-family:var(--font-mono)}.approp-bill-card__status{padding:.2rem .6rem;border-radius:999px;font-size:.68rem;font-weight:600;color:#fff;white-space:nowrap;flex-shrink:0;font-family:var(--font-mono)}.approp-bill-card__name{font-size:.8rem;color:var(--text-secondary);margin:0;line-height:1.4;font-family:var(--font-body)}.approp-bill-card__toggle{position:absolute;bottom:.6rem;right:.75rem;font-size:.7rem;color:var(--text-muted);transition:transform .15s ease}.approp-bill-card__toggle--open{transform:rotate(180deg)}.approp-bill-card__details{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border);animation:fadeIn .2s ease-out}.approp-bill-card__funding{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.6rem}.approp-bill-card__funding-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600;font-family:var(--font-mono)}.approp-bill-card__funding-amount{font-size:1.15rem;font-weight:700;color:var(--text-primary);font-family:var(--font-mono)}.approp-bill-card__desc{font-size:.82rem;color:var(--text-secondary);margin:0;line-height:1.6;font-family:var(--font-body)}.shutdown-deadlines{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;margin-bottom:1.5rem}.shutdown-deadlines h2{font-size:1.1rem;font-weight:400;color:var(--text-primary);margin:0 0 1rem;font-family:var(--font-display)}.deadlines-timeline{display:flex;flex-direction:column}.deadline-item{display:flex;gap:1rem}.deadline-connector{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:20px}.deadline-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;margin-top:.2rem;border:2px solid var(--border);background:var(--surface)}.deadline-dot--passed{background:var(--success);border-color:var(--success)}.deadline-dot--active{background:var(--error);border-color:var(--error);box-shadow:0 0 0 3px #dc262633}.deadline-dot--upcoming{background:var(--surface);border-color:var(--border)}.deadline-line{width:2px;flex:1;background:var(--border);margin-top:.25rem;min-height:20px}.deadline-content{flex:1;padding-bottom:1.25rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.deadline-date{font-size:.9rem;font-weight:600;color:var(--text-primary);font-family:var(--font-mono)}.deadline-status-tag{padding:.1rem .5rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-family:var(--font-mono)}.deadline-status-tag--passed{background:var(--success-subtle);color:#166534}.deadline-status-tag--active{background:var(--error-subtle);color:#991b1b}.deadline-status-tag--upcoming{background:var(--bg);color:var(--text-secondary)}.deadline-desc{width:100%;margin:.15rem 0 0;font-size:.85rem;color:var(--text-secondary);line-height:1.4;font-family:var(--font-body)}.shutdown-api-bills{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.shutdown-api-bills h2{font-size:1.1rem;font-weight:400;color:var(--text-primary);margin:0 0 .25rem;font-family:var(--font-display)}.section-note{color:var(--text-muted);font-size:.85rem;margin:0 0 1rem;font-family:var(--font-body)}.api-bills-list{display:flex;flex-direction:column;gap:.5rem}.api-bill-item{display:flex;align-items:baseline;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border-light);font-size:.85rem}.api-bill-item:last-child{border-bottom:none}.api-bill-item__type{font-weight:600;color:var(--text-primary);white-space:nowrap;flex-shrink:0;font-family:var(--font-mono)}.api-bill-item__title{flex:1;color:var(--text-secondary);font-family:var(--font-body)}.api-bill-item__action{color:var(--text-muted);font-size:.8rem;white-space:nowrap;flex-shrink:0;font-family:var(--font-mono)}.shutdown-history{margin-bottom:2rem}.shutdown-history h2{font-size:1.1rem;font-weight:400;color:var(--text-primary);margin:0 0 .25rem;font-family:var(--font-display)}.history-timeline{margin-top:1rem}.timeline-item{display:flex;gap:1rem}.timeline-connector{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:20px}.timeline-dot{width:12px;height:12px;background:var(--text-muted);border-radius:50%;flex-shrink:0;margin-top:.3rem}.timeline-dot--major{width:16px;height:16px;background:var(--error);margin-left:-2px;margin-right:-2px}.timeline-line{width:2px;flex:1;background:var(--border);margin-top:.25rem}.timeline-content{flex:1;padding-bottom:1.5rem}.timeline-dates{font-size:.85rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem;font-family:var(--font-mono)}.timeline-duration{display:inline-block;margin-left:.5rem;padding:.1rem .5rem;background:var(--bg);border-radius:999px;font-size:.75rem;font-weight:500;color:var(--text-secondary);font-family:var(--font-mono)}.timeline-duration--major{background:var(--error-subtle);color:#991b1b;font-weight:600}.timeline-details strong{display:block;font-size:.9rem;color:var(--text-primary);margin-bottom:.25rem;font-family:var(--font-body)}.timeline-details p{font-size:.85rem;color:var(--text-secondary);margin:0 0 .5rem;line-height:1.5;font-family:var(--font-body)}.timeline-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.78rem;color:var(--text-muted);font-family:var(--font-mono)}.fadeInUp{animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.shutdown-tracker{padding:1rem}.shutdown-tracker__header h1{font-size:1.5rem}.shutdown-status-card,.shutdown-countdown,.shutdown-progress,.shutdown-deadlines{padding:1.25rem}.approp-bills-grid{grid-template-columns:1fr}.countdown__units{gap:.75rem}.countdown__number{font-size:2.5rem}.countdown__separator{font-size:1.75rem}.progress-stats{gap:1.5rem}.progress-stat__number{font-size:1.75rem}.timeline-meta,.api-bill-item{flex-direction:column;gap:.25rem}.api-bill-item__action{white-space:normal}.deadline-content{flex-direction:column;gap:.25rem}}.cr-label{position:relative;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem}.cr-info-icon{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:var(--border);color:var(--text-primary);font-size:.6rem;font-weight:700;flex-shrink:0;line-height:1}.cr-label:hover .cr-info-icon{background:var(--text-muted);color:#fff}.cr-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1f2937;color:#f9fafb;font-size:.78rem;font-weight:400;line-height:1.5;padding:.75rem 1rem;border-radius:var(--radius-md);width:280px;box-shadow:0 4px 12px #00000026;z-index:100;pointer-events:none;font-family:var(--font-body)}.cr-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1f2937}@media (max-width: 768px){.cr-tooltip{left:0;transform:none;width:250px}.cr-tooltip:after{left:20px;transform:none}}.district-map-page{width:100%;max-width:1120px;margin:0 auto;padding:0 1rem;animation:fadeIn .4s ease-out}.map-header{margin-bottom:1.5rem}.map-title{font-family:var(--font-display);font-size:2.25rem;font-weight:400;color:var(--text-primary);margin:0 0 .5rem}.map-subtitle{font-family:var(--font-body);font-size:1rem;color:var(--text-secondary);margin:0}.map-legend{display:flex;gap:1.5rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.legend-item{display:flex;align-items:center;gap:.5rem;font-family:var(--font-body);font-size:.8125rem;color:var(--text-secondary)}.legend-dot{width:12px;height:12px;border-radius:2px}.legend-dem{background:#2563eb}.legend-rep{background:#dc2626}.legend-ind{background:#7c3aed}.map-and-panel{display:flex;gap:1.5rem}.map-container{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;aspect-ratio:16 / 10;flex:1;min-width:0}.map-svg{width:100%;height:100%}.map-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--surface);z-index:10}.map-loading p{font-family:var(--font-body);font-size:.9rem;color:var(--text-secondary)}.map-controls{position:absolute;top:1rem;right:1rem;display:flex;flex-direction:column;gap:4px;z-index:5}.map-control-btn{width:36px;height:36px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:1.125rem;font-weight:500;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease}.map-control-btn:hover{background:var(--bg);border-color:var(--text-primary)}.map-control-reset{font-size:.6rem;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.05em;width:auto;padding:0 8px}.map-tooltip{position:fixed;z-index:100;background:#1a1a18;color:#fff;padding:.625rem .875rem;border-radius:var(--radius-sm);pointer-events:none;display:flex;flex-direction:column;gap:2px;box-shadow:0 4px 12px #00000026;max-width:250px}.tooltip-district{font-family:var(--font-mono);font-size:.6875rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em}.tooltip-name{font-family:var(--font-display);font-size:.9375rem;font-weight:400;color:#fff}.tooltip-counts{font-family:var(--font-mono);font-size:.75rem;display:flex;gap:4px}.tooltip-dem{color:#60a5fa}.tooltip-rep{color:#f87171}.tooltip-ind{color:#a78bfa}.map-panel{width:320px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem;max-height:600px;overflow-y:auto;animation:fadeIn .2s ease}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.panel-title{font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:var(--text-primary);margin:0}.panel-close{font-family:var(--font-body);font-size:.75rem;color:var(--text-secondary);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.panel-counts{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.panel-count{font-family:var(--font-mono);font-size:.75rem;font-weight:500}.panel-count-dem{color:#2563eb}.panel-count-rep{color:#dc2626}.panel-count-ind{color:#7c3aed}.panel-members{display:flex;flex-direction:column;gap:4px}.panel-member{display:flex;justify-content:space-between;align-items:center;padding:.625rem .75rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,border-color .15s ease;text-align:left;width:100%}.panel-member:hover{background:#00000005;border-color:var(--text-primary)}.member-dem{border-left:3px solid #2563EB}.member-rep{border-left:3px solid #DC2626}.member-ind{border-left:3px solid #7C3AED}.member-info{display:flex;flex-direction:column;gap:1px}.member-name{font-family:var(--font-body);font-size:.8125rem;font-weight:500;color:var(--text-primary)}.member-role{font-family:var(--font-mono);font-size:.6875rem;color:var(--text-secondary)}.member-arrow{font-family:var(--font-body);font-size:.7rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.panel-section{margin-bottom:1rem}.panel-section-label{font-family:var(--font-mono);font-size:.65rem;color:var(--text-muted, #9C9789);text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:.5rem}.panel-empty{font-family:var(--font-body);font-size:.875rem;color:var(--text-secondary);text-align:center;padding:2rem 0}@media (max-width: 900px){.map-and-panel{flex-direction:column}.map-panel{width:100%;max-height:400px}}@media (max-width: 768px){.map-title{font-size:1.75rem}.map-container{aspect-ratio:4 / 3}.map-legend{gap:1rem}.legend-item{font-size:.75rem}.map-controls{top:.5rem;right:.5rem}.map-control-btn{width:32px;height:32px;font-size:1rem}}.blog-page{width:100%;animation:fadeIn .6s ease-out}.blog-header{margin-bottom:2rem}.blog-header h1{font-size:2.25rem;color:var(--text-primary);margin-bottom:.5rem;font-family:var(--font-display);font-weight:400}.blog-subtitle{color:var(--text-secondary);font-size:1.1rem}.blog-filters{margin-bottom:2rem}.blog-search-input{width:100%;padding:1rem 1.25rem 1rem 3rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;transition:all .15s ease;background:var(--surface);font-family:var(--font-body);color:var(--text-primary);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='%231A1A18' 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;box-sizing:border-box}.blog-search-input::placeholder{color:var(--text-muted)}.blog-search-input:focus{outline:none;border-color:var(--accent)}.blog-search-input:hover{border-color:var(--text-primary)}.blog-results-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.blog-results-info .results-count{color:var(--text-secondary);font-size:.85rem;font-weight:500;display:flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.5px}.blog-results-info .results-count:before{content:"";width:3px;height:16px;background:var(--accent)}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;margin-bottom:2rem}.blog-card{background:var(--surface);border:1px solid var(--border);padding:1.75rem;text-decoration:none;transition:all .15s ease;display:flex;flex-direction:column;gap:.75rem;border-radius:var(--radius-md)}.blog-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.blog-card-tags{display:flex;gap:.5rem;flex-wrap:wrap}.blog-card-tag{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);background:var(--bg);padding:.25rem .6rem;border:1px solid var(--border-light);border-radius:var(--radius-sm)}.blog-card-title{font-size:1.25rem;font-weight:500;color:var(--text-primary);line-height:1.35;font-family:var(--font-display);margin:0}.blog-card-excerpt{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin:0;flex:1}.blog-card-meta{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid var(--border-light);margin-top:auto}.blog-card-date{font-size:.8rem;color:var(--text-muted)}.blog-card-author{font-size:.8rem;color:var(--text-muted);font-weight:500}.no-articles{text-align:center;padding:4rem 2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.no-articles p{color:var(--text-secondary);font-size:1.1rem;margin-bottom:1.5rem}.reset-search-button{padding:.75rem 1.5rem;background:transparent;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-transform:uppercase;letter-spacing:1px;font-family:var(--font-body)}.reset-search-button:hover{border-color:var(--accent);background:var(--accent-subtle)}@media (max-width: 1024px){.blog-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width: 768px){.blog-header h1{font-size:1.75rem}.blog-subtitle{font-size:1rem}.blog-grid{grid-template-columns:1fr;gap:1rem}.no-articles{padding:3rem 1.5rem}}.article-page{width:100%;max-width:900px;margin:0 auto;animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.article-page .back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-primary);font-weight:500;margin-bottom:2rem;cursor:pointer;background:none;border:none;font-size:.9rem;padding:0;transition:color .15s ease;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.5px}.article-page .back-link:hover{color:var(--accent)}.article-header{margin-bottom:2.5rem}.article-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.article-tag{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--surface);background:var(--accent);padding:.4rem .8rem;border-radius:var(--radius-sm)}.article-title{font-size:2.25rem;font-weight:400;color:var(--text-primary);line-height:1.25;margin-bottom:1.25rem;font-family:var(--font-display)}.article-meta{display:flex;align-items:center;gap:.75rem;color:var(--text-secondary);font-size:.95rem}.article-meta-divider{color:var(--text-muted)}.article-author{font-weight:500}.article-body{border-top:1px solid var(--border);padding-top:2rem}.article-body p{color:var(--text-primary);font-size:1.05rem;line-height:1.85;margin-bottom:1.5rem}.article-body p:last-child{margin-bottom:0}.article-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem;text-align:center}.article-not-found h1{font-size:1.75rem;color:var(--text-primary);font-weight:400;font-family:var(--font-display)}.article-not-found p{color:var(--text-secondary);font-size:1.05rem}.article-not-found .back-button{padding:.75rem 1.5rem;background:var(--accent);color:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;text-transform:uppercase;letter-spacing:1px;margin-top:.5rem;transition:all .15s ease;font-family:var(--font-body)}.article-not-found .back-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}@media (max-width: 768px){.article-page{padding:0}.article-title{font-size:1.65rem}.article-meta{flex-direction:column;align-items:flex-start;gap:.25rem}.article-meta-divider{display:none}.article-body p{font-size:1rem;line-height:1.75}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #FAFAF7;--surface: #FFFFFF;--surface-raised: #FFFFFF;--text-primary: #1A1A18;--text-secondary: #6B6861;--text-muted: #9C9789;--accent: #1D4ED8;--accent-hover: #1E40AF;--accent-subtle: rgba(29, 78, 216, .08);--error: #DC2626;--error-subtle: rgba(220, 38, 38, .08);--success: #16A34A;--success-subtle: rgba(22, 163, 74, .08);--warning: #D97706;--warning-subtle: rgba(217, 119, 6, .08);--info: #0284C7;--info-subtle: rgba(2, 132, 199, .08);--border: #E8E6E1;--border-light: #F0EEEA;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .08);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 48px;--party-dem: #2563EB;--party-rep: #DC2626;--party-ind: #7C3AED;--font-display: "Instrument Serif", Georgia, serif;--font-body: "General Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "Geist Mono", ui-monospace, monospace}html{scroll-behavior:smooth}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--text-primary);line-height:1.6;font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:1.2;color:var(--text-primary)}h1,h2,h3,h4,h5,h6,p{font-weight:400}label{font-weight:500}small{font-weight:300}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);position:relative}.main-content{flex:1;max-width:1120px;width:100%;margin:0 auto;padding:3rem 2rem;animation:fadeInUp .4s ease-out}.main-content:has(.landing){max-width:100%;padding:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}button,a,input,select{transition:all .15s ease}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@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,var(--border-light) 25%,var(--border) 50%,var(--border-light) 75%);background-size:1000px 100%;animation:shimmer 2s infinite}.gradient-text{color:var(--text-primary)}.card{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:all .15s ease}.card:hover{box-shadow:var(--shadow-md);border-color:var(--accent)}.error-message{max-width:600px;margin:2rem auto;padding:1.25rem;background:var(--error-subtle);color:var(--error);border:1px solid var(--error);border-radius:var(--radius-sm);text-align:center;font-weight:500;animation:slideIn .3s ease-out}.success-message{max-width:600px;margin:2rem auto;padding:1.25rem;background:var(--success-subtle);color:var(--success);border:1px solid var(--success);border-radius:var(--radius-sm);text-align:center;font-weight:500;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-12px)}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(--accent);outline-offset:2px}button:focus,a:focus,input:focus,select:focus{outline:2px solid var(--accent);outline-offset:2px}
