@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700;800&display=swap");:root{--primary:#eab308;--primary-dark:#ca8a04;--accent-olive:#5a5e3a;--accent-olive-dark:#3e422a;--black:#000;--white:#fff;--background:#e8e8e8;--surface:#fff;--surface-hover:#f8f8f8;--text-primary:#000;--text-secondary:#666;--border:#e0e0e0;--error:#ef4444;--secondary:#10b981;--polish-red:#dc143c;--shadow-sm:0 1px 3px 0 rgba(0,0,0,.08);--shadow-md:0 4px 12px 0 rgba(0,0,0,.12);--shadow-lg:0 8px 24px 0 rgba(0,0,0,.15);--shadow-xl:0 12px 32px 0 rgba(0,0,0,.18)}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{color:var(--text-primary);background:#f7f7f7;line-height:1.6;font-family:Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.container{max-width:1400px;margin:0 auto;padding:0 1.5rem}.header{background:var(--surface);border-bottom:2px solid var(--polish-red);box-shadow:none;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0}.header-title{font-size:1.75rem;font-weight:700;font-family:Montserrat,sans-serif;color:var(--text-primary);letter-spacing:2px;text-transform:uppercase}.nav{display:flex;gap:2rem;align-items:center}.nav-link{font-size:.95rem;font-weight:600;color:var(--text-secondary);transition:color .3s;text-transform:uppercase;letter-spacing:.5px}.nav-link:hover{color:var(--text-primary)}.main-layout{display:grid;grid-template-columns:300px 1fr;grid-gap:2rem;gap:2rem;padding:2rem 0;min-height:calc(100vh - 80px)}@media (max-width:1024px){.main-layout{grid-template-columns:1fr}}.filter-sidebar{background:var(--surface);border-radius:16px;padding:2rem;box-shadow:var(--shadow-md);height:-moz-fit-content;height:fit-content;position:-webkit-sticky;position:sticky;top:100px;border:1px solid var(--border)}.filter-section{margin-bottom:2rem}.filter-section:last-child{margin-bottom:0}.filter-label{display:block;font-size:.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:1px}.filter-input,.filter-select{width:100%;padding:.875rem 1rem;border:2px solid var(--border);border-radius:10px;font-size:.9rem;transition:all .3s;background:var(--surface);color:var(--text-primary);font-weight:500}.filter-input:focus,.filter-select:focus{outline:none;border-color:var(--black);box-shadow:0 0 0 4px rgba(0,0,0,.05)}.filter-input::placeholder{color:var(--text-secondary)}.clear-filters-btn{width:100%;padding:.65rem;background:var(--white);border:2px solid var(--accent-olive);border-radius:8px;font-size:.8rem;font-weight:600;color:var(--black);transition:all .3s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:.5px;cursor:pointer}.clear-filters-btn:hover{background:var(--white);color:var(--black);transform:translateY(-2px);box-shadow:var(--shadow-md)}.clear-filters-btn:active{transform:translateY(0)}.politician-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:1.5rem;gap:1.5rem}@media (max-width:768px){.politician-grid{grid-template-columns:1fr}}.politician-card{background:var(--surface);border-radius:16px;padding:0;box-shadow:var(--shadow-md);transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;border:2px solid transparent;overflow:hidden}.politician-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--polish-red)}.card-header{display:flex;flex-direction:column;align-items:center;gap:0;margin-bottom:0;position:relative}.card-photo{width:120px;height:120px;border-radius:50%;object-fit:cover;background:var(--surface-hover);flex-shrink:0;margin:1.5rem auto 0;border:3px solid #f7f7f7}.card-info{flex:1 1;min-width:0;width:100%;padding:1.5rem;background:var(--surface);text-align:center}.card-name{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;line-height:1.2}.card-party{font-size:.9rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.party-badge{display:inline-block;padding:.35rem .75rem;background:var(--black);color:var(--primary);border-radius:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.card-stats{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;gap:.75rem;margin-top:0;padding:0 1rem 1rem}.stat-item{display:flex;flex-direction:column;gap:.15rem;padding:.65rem .75rem;background:#f5f5f5;border-radius:6px;position:relative;overflow:hidden}.stat-item:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:#678e8e}.stat-label{font-size:.65rem;color:#999;text-transform:uppercase;letter-spacing:.8px;font-weight:600;padding-left:.4rem}.stat-value{font-size:1.4rem;font-weight:700;color:var(--text-primary);padding-left:.4rem;min-height:2rem;display:flex;align-items:center}.stat-value-empty{font-size:.75rem;font-weight:400;color:var(--text-secondary);opacity:.7}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--surface);border-radius:16px;max-width:900px;width:100%;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-xl);animation:slideUp .3s}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{justify-content:space-between;padding:2rem;border-bottom:1px solid var(--border)}.modal-header,.modal-title-section{display:flex;align-items:flex-start}.modal-title-section{gap:1.5rem}.modal-photo{width:80px;height:80px;border-radius:50%;object-fit:cover;background:var(--surface-hover);border:3px solid #f7f7f7}.modal-title{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);padding:.5rem;border-radius:8px;transition:all .2s}.close-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.modal-tabs{display:flex;gap:.5rem;padding:1rem 2rem;border-bottom:1px solid var(--border);overflow-x:auto}.tab-btn{padding:.5rem 1rem;background:none;border:none;font-size:.875rem;font-weight:500;color:var(--text-secondary);border-radius:8px;transition:all .2s;white-space:nowrap}.tab-btn.active{background:#678e8e;color:#fff}.tab-btn:not(.active):hover{background:var(--surface-hover)}.modal-body{padding:2rem 2rem 4rem;overflow-y:auto;max-height:calc(90vh - 240px)}.modal-body p{color:var(--text-primary);font-size:1rem;line-height:1.8}.modal-body .stat-label{color:#666}.modal-body .stat-value{color:var(--text-primary)}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1.5rem;background:var(--surface);border-radius:12px;box-shadow:var(--shadow-md)}.pagination-btn{padding:.5rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:.875rem;font-weight:500;transition:all .2s}.pagination-btn:not(:disabled):hover{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:.875rem;color:var(--text-secondary)}.loading-container{display:flex;justify-content:center;align-items:center;padding:4rem}.spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.error-container{text-align:center;padding:4rem 2rem;background:var(--surface);border-radius:12px;box-shadow:var(--shadow-md)}.error-icon{font-size:3rem;margin-bottom:1rem}.error-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--error)}.error-message{color:var(--text-secondary);margin-bottom:1.5rem}.retry-btn{padding:.75rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:500;transition:all .2s}.retry-btn:hover{background:var(--primary-dark)}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem 2rem;background:var(--surface);border-radius:16px;box-shadow:var(--shadow-md);border:1px solid var(--border)}.results-count{font-size:1rem;color:var(--text-primary);font-weight:600}.sort-controls{display:flex;gap:1rem;align-items:center}.sort-label{font-size:.75rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:1px}.page-content{padding:3rem 0;max-width:1200px;margin:0 auto}.page-title{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:2rem;text-align:center}.content-section{background:var(--surface);padding:3rem;border-radius:16px;box-shadow:var(--shadow-md);margin-bottom:2rem}.section-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:1.5rem}.content-text{font-size:1.05rem;line-height:1.8;color:var(--text-secondary);margin-bottom:1.5rem}.content-text:last-child{margin-bottom:0}.markdown-content h2{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;margin-top:2rem}.markdown-content h2:first-child{margin-top:0}.markdown-content h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;margin-top:1.5rem}.markdown-content h4{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;margin-top:1rem}.markdown-content ol,.markdown-content p,.markdown-content ul{font-size:1.05rem;line-height:1.8;color:var(--text-secondary);margin-bottom:1rem}.markdown-content ol,.markdown-content ul{padding-left:2rem}.markdown-content li{margin-bottom:.5rem}.markdown-content strong{font-weight:700;color:var(--text-primary)}.markdown-content em{font-style:italic}.markdown-content a{color:var(--polish-red);text-decoration:none;transition:opacity .2s}.markdown-content a:hover{opacity:.8;text-decoration:underline}.markdown-content blockquote{border-left:4px solid var(--polish-red);padding-left:1rem;margin:1.5rem 0;font-style:italic;color:var(--text-secondary)}.markdown-content code{background:var(--surface-hover);padding:.125rem .375rem;border-radius:4px;font-family:Courier New,monospace;font-size:.9em}.markdown-content pre{background:var(--surface-hover);padding:1rem;border-radius:8px;overflow-x:auto;margin:1rem 0}.markdown-content pre code{background:none;padding:0}.contact-layout{display:grid;grid-template-columns:1fr 1.5fr;grid-gap:3rem;gap:3rem}@media (max-width:968px){.contact-layout{grid-template-columns:1fr}}.contact-info{background:var(--surface);padding:2.5rem;border-radius:16px;box-shadow:var(--shadow-md);height:-moz-fit-content;height:fit-content}.contact-details{margin-top:2rem}.contact-item{margin-bottom:1.5rem}.contact-item:last-child{margin-bottom:0}.contact-label{font-size:.75rem;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem}.contact-value{font-size:1.05rem;color:var(--text-secondary);line-height:1.6}.contact-form{background:var(--surface);padding:2.5rem;border-radius:16px;box-shadow:var(--shadow-md)}.form-group{margin-bottom:1.5rem}.form-label{display:block;font-size:.875rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.form-input,.form-textarea{width:100%;padding:.875rem 1rem;border:2px solid var(--border);border-radius:10px;font-size:1rem;font-family:inherit;transition:all .3s;background:var(--surface);color:var(--text-primary)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--black);box-shadow:0 0 0 4px rgba(0,0,0,.05)}.form-textarea{resize:vertical;min-height:150px}.form-submit{width:100%;padding:1rem;background:var(--white);border:2px solid var(--polish-red);border-radius:10px;font-size:.95rem;font-weight:700;color:var(--black);transition:all .3s cubic-bezier(.4,0,.2,1);text-transform:uppercase;letter-spacing:.5px;cursor:pointer}.form-submit:hover:not(:disabled){background:var(--polish-red);border-color:var(--polish-red);color:var(--white);transform:translateY(-2px);box-shadow:var(--shadow-md)}.form-submit:active:not(:disabled){transform:translateY(0)}.form-submit:disabled{opacity:.6;cursor:not-allowed}.form-message{margin-top:1rem;padding:1rem;border-radius:10px;font-size:.95rem;font-weight:600;text-align:center}.form-success{background:rgba(16,185,129,.1);color:#059669;border:2px solid #059669}.form-error{background:rgba(239,68,68,.1);color:var(--error);border:2px solid var(--error)}