:root{--font-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif;--color-brand:#1f2428;--color-brand-accent:#0284c7;--color-silver:#cbd5e1;--color-bg:#f8f9fa;--color-surface:#ffffff;--color-text:#111827;--color-text-muted:#4b5563;--color-border:#e5e7eb}*,:before,:after{box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-text-size-adjust:100%}a{color:var(--color-brand-accent)}img,svg{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 1rem}.status-banner{display:flex;align-items:center;justify-content:center;text-align:center;padding:0.75rem 1rem;background-color:#ffffff;color:#000000;font-size:0.875rem;font-weight:600;min-height:44px;border-bottom:1px solid var(--color-border)}.status-banner-text{margin:0;line-height:1.4}.site-header{background-color:#0f172a;border-bottom:1px solid #1e293b;padding:0.75rem 0}.header-wrap{display:flex;align-items:center;justify-content:space-between}.brand-link{display:flex;align-items:center;gap:0.5rem;text-decoration:none;color:#ffffff;font-weight:700;font-size:1.25rem}.brand-symbol{width:30px;height:30px;object-fit:contain;flex-shrink:0}.brand-text{display:inline-block;letter-spacing:-0.02em}.brand-accent{color:var(--color-silver);font-weight:800}.primary-nav ul{display:flex;align-items:center;gap:1.5rem;list-style:none;margin:0;padding:0}.primary-nav a{text-decoration:none;color:var(--color-silver);font-weight:500;font-size:0.9375rem;padding:0.5rem 0;transition:color 0.15s}.primary-nav a:hover,.primary-nav a.active{color:#ffffff}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:0.5rem}.nav-bar{display:block;width:22px;height:2px;background-color:#ffffff;margin:4px 0;transition:transform 0.15s,opacity 0.15s}.hero-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:2rem;margin:1.5rem 0;box-shadow:0 1px 3px rgba(0,0,0,0.04)}.hero-heading{font-size:1.75rem;line-height:1.25;color:var(--color-brand);margin:0 0 1rem 0;font-weight:800}.hero-lead{font-size:1.125rem;line-height:1.6;color:#1f2937;margin:0 0 0.75rem 0;font-weight:500}.hero-subtext{font-size:0.9375rem;line-height:1.5;color:var(--color-text-muted);margin:0}.view-switch-nav{margin:1.5rem 0 1rem 0}.tab-pill-list{display:inline-flex;background-color:var(--color-border);padding:4px;border-radius:8px;gap:4px}.tab-pill{border:none;background:none;padding:0.5rem 1.25rem;border-radius:6px;font-size:0.875rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:background-color 0.15s,color 0.15s}.tab-pill.active{background-color:var(--color-surface);color:var(--color-brand);box-shadow:0 1px 2px rgba(0,0,0,0.06)}.view-panel[hidden]{display:none}.view-panel.active{display:block}.filter-bar{display:flex;flex-wrap:wrap;gap:0.75rem;margin:1rem 0 1.5rem 0}.search-box{flex:1 1 240px;min-width:200px}.select-box{flex:0 1 180px;position:relative}.select-box.full-width{flex:1 1 100%}.search-box input,.styled-select{width:100%;height:44px;padding:0 1rem;border:1px solid #d1d5db;border-radius:8px;background-color:var(--color-surface);color:var(--color-text);font-size:0.9375rem;font-family:inherit}.styled-select{-webkit-appearance:none;appearance:none;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2216%22 height=%2216%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23111827%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m6 9 6 6 6-6%22/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;cursor:pointer}.search-box input:focus,.styled-select:focus,.field-input:focus,.field-select:focus,.field-textarea:focus{outline:none;border-color:var(--color-brand-accent);box-shadow:0 0 0 3px rgba(2,132,199,0.15)}.civic-row{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;margin-bottom:0.75rem;overflow:hidden}.row-summary-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:none;border:none;cursor:pointer;text-align:left;font-family:inherit}.row-summary-left{display:flex;align-items:center;gap:1rem}.row-cat-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:#f3f4f6;border-radius:8px;flex-shrink:0}.row-heading{font-size:1.0625rem;font-weight:700;color:var(--color-text);margin:0 0 0.25rem 0;line-height:1.3}.row-meta-sub{display:flex;gap:1rem;font-size:0.8125rem;color:var(--color-text-muted)}.row-summary-right{display:flex;align-items:center;gap:0.75rem;flex-shrink:0}.status-badge{display:inline-block;padding:0.25rem 0.625rem;border-radius:9999px;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.025em}.status-pass{background-color:#dcfce7;color:#15803d}.status-fail{background-color:#fee2e2;color:#b91c1c}.toggle-indicator{width:8px;height:8px;border-right:2px solid #6b7280;border-bottom:2px solid #6b7280;transform:rotate(45deg);transition:transform 0.2s}.row-summary-btn[aria-expanded="true"] .toggle-indicator{transform:rotate(-135deg)}.row-drilldown{display:none;padding:1.25rem;border-top:1px solid #f3f4f6;background-color:#f9fafb}.row-drilldown.open{display:block}.drilldown-meta{display:flex;flex-wrap:wrap;gap:1.25rem;font-size:0.875rem;color:var(--color-text-muted);margin-bottom:1rem;padding-bottom:0.75rem;border-bottom:1px solid var(--color-border)}.drilldown-meta a{color:var(--color-brand-accent);text-decoration:none;font-weight:600}.vote-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.split-col-heading{font-size:0.875rem;font-weight:700;text-transform:uppercase;color:#374151;margin:0 0 0.75rem 0;letter-spacing:0.025em}.councillor-item-grid{display:flex;flex-direction:column;gap:0.5rem}.councillor-token{display:flex;align-items:center;gap:0.625rem;padding:0.375rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:6px}.councillor-thumb{border-radius:50%;object-fit:cover;background-color:var(--color-border);flex-shrink:0}.token-name{display:block;font-size:0.875rem;font-weight:600;color:var(--color-text);line-height:1.2}.token-ward{display:block;font-size:0.75rem;color:#6b7280}.split-absent-row{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.profile-card{display:flex;gap:1.5rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:1.5rem;margin-bottom:1.5rem}.profile-photo{border-radius:12px;object-fit:cover;background-color:var(--color-border);flex-shrink:0}.profile-meta{display:flex;flex-direction:column;justify-content:center}.profile-name{font-size:1.375rem;font-weight:800;color:var(--color-brand);margin:0 0 0.25rem 0}.profile-ward{font-size:0.875rem;font-weight:600;color:var(--color-brand-accent);margin-bottom:0.5rem}.profile-desc{font-size:0.9375rem;line-height:1.5;color:var(--color-text-muted);margin:0}.councillor-history-list{display:flex;flex-direction:column;gap:0.5rem}.history-card{display:flex;align-items:center;justify-content:space-between;padding:0.875rem 1rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;gap:1rem}.history-motion{font-size:0.9375rem;font-weight:600;color:var(--color-text);margin:0 0 0.25rem 0}.history-date{font-size:0.8125rem;color:#6b7280;margin:0}.vote-tag{padding:0.25rem 0.625rem;border-radius:6px;font-size:0.75rem;font-weight:700;text-transform:uppercase}.tag-aye{background-color:#dcfce7;color:#15803d}.tag-no{background-color:#fee2e2;color:#b91c1c}.tag-absent{background-color:#f3f4f6;color:#6b7280}.empty-state,.loading-notice{padding:2rem;text-align:center;color:#6b7280;font-size:0.9375rem;background-color:var(--color-surface);border:1px dashed #d1d5db;border-radius:8px;margin:0}.modern-form{margin-top:1.5rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:0.375rem}.form-group.full-width{grid-column:1 / -1;margin-bottom:1rem}.field-label{font-size:0.875rem;font-weight:600;color:#374151}.req{color:#dc2626}.field-input,.field-select,.field-textarea{width:100%;padding:0.625rem 0.875rem;border:1px solid #d1d5db;border-radius:8px;background-color:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:0.9375rem;transition:border-color 0.15s,box-shadow 0.15s}.field-textarea{resize:vertical;min-height:120px;line-height:1.5}.form-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}.btn-submit{display:inline-flex;align-items:center;gap:0.5rem;background-color:var(--color-brand);color:#ffffff;border:none;padding:0.75rem 1.5rem;font-size:0.9375rem;font-weight:600;border-radius:8px;cursor:pointer;transition:background-color 0.15s;font-family:inherit}.btn-submit:hover{background-color:#333a42}.form-note{font-size:0.8125rem;color:#6b7280;margin:0}article.hero-card section{margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid #f3f4f6}article.hero-card section:first-of-type{margin-top:0;padding-top:0;border-top:none}article.hero-card h2{font-size:1.25rem;font-weight:700;color:var(--color-brand);margin:0 0 0.75rem 0;line-height:1.3}article.hero-card p{font-size:0.9375rem;line-height:1.65;color:#374151;margin:0 0 1rem 0}article.hero-card p:last-child{margin-bottom:0}article.hero-card ul{margin:0 0 1rem 1.25rem;padding:0;color:#374151}article.hero-card li{margin-bottom:0.5rem;line-height:1.6;font-size:0.9375rem}article.hero-card strong{color:var(--color-text)}.site-footer{background-color:#0f172a;color:var(--color-silver);padding:3rem 0 0 0;margin-top:3rem;border-top:1px solid #1e293b}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;padding-bottom:2.5rem;border-bottom:none}.site-footer .brand-link{color:#ffffff}.footer-summary{font-size:0.875rem;line-height:1.6;color:var(--color-silver);margin:0.75rem 0 0 0;max-width:320px}.elfn-heading{font-size:0.875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:#ffffff;margin:0 0 1rem 0}.footer-links-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0.5rem}.footer-links-list a{color:var(--color-silver);text-decoration:none;font-size:0.875rem;transition:color 0.15s}.footer-links-list a:hover,.footer-links-list a.active{color:#ffffff}.footer-copy-text{font-size:0.875rem;line-height:1.5;color:var(--color-silver);margin:0 0 0.5rem 0}.footer-bottom-bar{padding:1.5rem 0;background-color:#090d16}.footer-bottom-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}.agency-credit-lockup{display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1}.agency-badge-link{display:inline-flex;align-items:center;line-height:1}.agency-badge-img{display:block;width:32px;height:auto}.credit-text{font-size:0.875rem;color:#ffffff;display:inline-flex;align-items:center;line-height:1;position:relative;top:-2px}.author-name-link{color:var(--color-silver);font-weight:600;text-decoration:none;margin:0 4px;transition:color 0.15s}.author-name-link:hover{text-decoration:underline;color:#ffffff}.credit-divider{color:#64748b}.agency-text-link{color:var(--color-silver);font-weight:600;text-decoration:none;margin-left:4px}.agency-text-link:hover{text-decoration:underline;color:#ffffff}.copyright-notice{font-size:0.875rem;color:#ffffff;margin:0}@media (max-width:768px){.nav-toggle{display:block}.primary-nav{display:none;width:100%;margin-top:0.75rem;background-color:#0f172a}.primary-nav.active{display:block}.primary-nav ul{flex-direction:column;align-items:flex-start;gap:0.5rem;padding:0.5rem 0}.primary-nav li{width:100%}.primary-nav a{display:block;padding:0.5rem 0}.header-wrap{flex-wrap:wrap}.filter-bar{flex-direction:column}.search-box,.select-box{flex:1 1 100%;width:100%}.form-grid{grid-template-columns:1fr}.vote-split-grid{grid-template-columns:1fr}.profile-card{flex-direction:column;align-items:center;text-align:center}.footer-grid{grid-template-columns:1fr;gap:1.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none;animation:none}}