@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/atkinson-regular.woff2') format('woff2')}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/atkinson-bold.woff2') format('woff2')}
@font-face{font-family:"Spectral";font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/spectral-regular.woff2') format('woff2')}
@font-face{font-family:"Spectral";font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/spectral-semibold.woff2') format('woff2')}
@font-face{font-family:"Spectral";font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/spectral-bold.woff2') format('woff2')}
:root{
 --paper:#faf8f4;--surface:#fff;--surface-2:#f3f0e9;--ink:#232a31;--muted:#4a525a;
 --accent:#0e5f59;--accent-strong:#0a4843;--accent-soft:#e4edeb;--line:#e3e0d8;--line-strong:#c9c4b8;
 --for:#1f7a5c;--against:#8c3226;--abstention:#7a7264;--absent:#6f695f;--warning:#8a6d1c;
 --font-title:"Spectral",Georgia,"Times New Roman",serif;--font-text:"Atkinson Hyperlegible",system-ui,sans-serif;
 --shadow:0 1px 2px rgba(35,42,49,.05);--radius:6px;--measure:68ch;
}
*,*::before,*::after{box-sizing:border-box}
html{font-size:17px;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-text);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent-strong)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}
h1,h2,h3,h4{font-family:var(--font-title);line-height:1.14;margin:0 0 1rem}h1{font-size:clamp(2.3rem,6vw,3.1rem);letter-spacing:-.01em}h2{font-size:clamp(1.75rem,4vw,2.45rem);margin-top:3.5rem}h3{font-size:1.45rem;font-weight:600}p{max-width:var(--measure);margin:0 0 1rem}sup{line-height:0}
.container{width:min(100% - 2rem,1152px);margin-inline:auto}.main-content{min-height:70vh;padding-block:2rem 6rem}
.skip-link{position:absolute;top:-5rem;left:1rem;background:var(--ink);color:white;padding:.6rem 1rem;z-index:100}.skip-link:focus{top:1rem;color:white}
.site-header{background:var(--surface);border-bottom:1px solid var(--line);position:relative;z-index:5}.header-inner{min-height:80px;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"brand nav support";align-items:center;gap:2rem}.brand,.footer-brand{display:inline-flex;color:var(--ink);text-decoration:none;width:max-content}.brand{grid-area:brand}.brand:hover,.footer-brand:hover{color:var(--ink)}.brand-lockup{display:inline-flex;align-items:center;gap:.65rem;white-space:nowrap}.brand-mark{width:40px;height:40px;flex:0 0 auto}.brand-wordmark{font-family:var(--font-title);font-size:1.38rem;line-height:1;letter-spacing:-.02em}.brand-programmes{font-weight:600}.brand-candidats{font-weight:400}.brand-fr{font-weight:600;color:var(--accent)}.brand-lockup-compact .brand-mark{width:32px;height:32px}.brand-lockup-compact .brand-wordmark{font-size:1.12rem}.primary-nav{grid-area:nav;display:flex;align-items:stretch;justify-self:center;gap:1.25rem}.primary-nav a{color:var(--ink);text-decoration:none;font-weight:700;padding:1rem .1rem .85rem;border-bottom:2px solid transparent}.primary-nav a:hover,.primary-nav a.active{color:var(--accent-strong);border-bottom-color:var(--accent)}.header-support{grid-area:support;justify-self:end;color:var(--ink);text-decoration:none;font-weight:700;padding:.5rem .8rem;border:1px solid var(--line-strong);border-radius:var(--radius)}.header-support:hover{color:var(--accent-strong);border-color:var(--accent)}
.breadcrumbs{font-size:.87rem;color:var(--muted);margin-bottom:2rem}.breadcrumbs ol{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;gap:.4rem}.breadcrumbs li:not(:last-child)::after{content:"/";margin-left:.4rem;color:var(--line-strong)}
.section-label{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:.65rem;display:flex;align-items:center;gap:.75rem}.section-label::after{content:"";flex:1;height:1px;background:var(--line)}
.lead{font-family:var(--font-title);font-size:1.24rem;line-height:1.5;color:var(--muted)}.small{font-size:.88rem;color:var(--muted)}.figures{font-variant-numeric:tabular-nums}.result-count{margin:1.5rem 0;color:var(--muted)}
.hero{padding:3rem 0 1rem}.hero h1{max-width:18ch}.page-header{padding:1.5rem 0 1rem}.page-header .lead{max-width:64ch}.title-status{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}.title-status h1{flex:1 1 720px;margin-bottom:0;overflow-wrap:anywhere}
.search-form{max-width:760px;margin:2rem 0 0}.search-form label,.filters label{font-weight:700;font-size:.88rem;display:block;margin-bottom:.35rem}.search-row{display:flex;gap:.6rem}.search-row input{flex:1}
input,select{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:.66rem .75rem;min-height:46px}.button{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:700;padding:.65rem 1.15rem;border:1.5px solid transparent;border-radius:var(--radius);cursor:pointer;text-decoration:none}.button-primary{background:var(--accent);color:white}.button-primary:hover{background:var(--accent-strong);color:white}.button-secondary{background:transparent;color:var(--ink);border-color:var(--line-strong)}.button-secondary:hover{background:var(--surface);border-color:var(--accent);color:var(--accent-strong)}.arrow-link{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;text-decoration:none}.arrow-link span{font-size:1.2em}
.filters{display:grid;grid-template-columns:minmax(210px,2fr) minmax(210px,2fr) minmax(150px,1fr) auto;gap:1rem;align-items:end;background:var(--surface);border:1px solid var(--line);padding:1rem;border-radius:var(--radius)}.filters-compact{grid-template-columns:minmax(230px,2fr) minmax(170px,1fr) auto;max-width:850px}
.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.35rem;box-shadow:var(--shadow)}.card h2,.card h3{font-size:1.34rem;margin-top:0}.card-meta{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:var(--muted);font-size:.88rem;margin-bottom:.7rem}.card-list{display:grid;gap:1rem}.roll-card h2,.roll-card h3{margin-bottom:.45rem}.roll-card p:last-child{margin-bottom:0}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.metric{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;text-decoration:none;color:var(--ink)}a.metric:hover{border-color:var(--accent);color:var(--ink)}.metric strong{font-family:var(--font-title);font-size:2.35rem;line-height:1.1;color:var(--accent)}.metric span{color:var(--muted);font-size:.88rem}.metric-grid-compact .metric strong{font-size:1.9rem}
.person-grid,.group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.person-card{display:flex;align-items:flex-start;gap:1rem}.person-card h2,.person-card h3{margin:0 0 .35rem}.person-card p{margin:0 0 .3rem}.avatar{width:64px;height:64px;border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--line-strong);display:grid;place-items:center;font-family:var(--font-title);font-size:1.3rem;color:var(--accent-strong);flex:0 0 auto}.avatar-large{width:112px;height:112px;font-size:2.2rem}.profile-header{display:flex;align-items:center;gap:1.5rem;padding:1.5rem 0}.profile-header h1{margin-bottom:.35rem}.profile-facts .card h2{font-size:1.35rem;margin:0 0 1rem}.profile-facts dl{margin:0}dt{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700}dd{margin:0 0 .75rem}
.status-pill{display:inline-flex;align-items:center;gap:.35rem;width:max-content;padding:.17rem .58rem;border:1px solid var(--line-strong);border-radius:999px;font-size:.82rem;font-weight:700;white-space:nowrap;background:var(--surface)}.status-for{color:var(--for);border-color:color-mix(in srgb,var(--for) 38%,white)}.status-against{color:var(--against);border-color:color-mix(in srgb,var(--against) 38%,white)}.status-abstention,.status-absent{color:var(--abstention)}
.note,.source-note{border-left:3px solid var(--accent);background:var(--surface-2);padding:1rem 1.4rem;border-radius:0 var(--radius) var(--radius) 0;margin:1.5rem 0;max-width:var(--measure)}.note.alert{border-left-color:var(--warning)}.source-note{margin-top:4rem}.source-note p{font-size:.88rem;margin:.35rem 0}.source-note a{font-size:.88rem}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}table{border-collapse:collapse;width:100%;font-size:.88rem;min-width:680px}th{text-align:left;font-size:.74rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);background:var(--surface-2)}th,td{padding:.72rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:color-mix(in srgb,var(--accent-soft) 45%,white)}
.official-summary blockquote{font-family:var(--font-title);font-size:1.3rem;border-left:3px solid var(--accent);margin:1rem 0;padding:.5rem 1rem;background:var(--surface-2);max-width:var(--measure)}.fact-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:var(--measure);margin:1.5rem 0}.fact-list>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem}.fact-list dd{margin:0}.vote-bar{display:flex;height:34px;border:1px solid var(--line-strong);border-radius:3px;overflow:hidden;margin:1rem 0}.vote-bar .for{background:var(--for)}.vote-bar .against{background:var(--against)}.vote-bar .abstention{background:var(--abstention)}.vote-legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.88rem;color:var(--muted)}
.distribution{display:flex;flex-wrap:wrap;gap:.75rem}.distribution span{padding:.5rem .75rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.distribution .for{color:var(--for)}.distribution .against{color:var(--against)}.distribution .abstention{color:var(--abstention)}
.link-list{list-style:none;padding:0;margin:0}.link-list li{border-bottom:1px solid var(--line);padding:.6rem 0}.link-list li:last-child{border-bottom:0}.link-list small{display:block;color:var(--muted)}
.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin:2rem 0;flex-wrap:wrap}.pagination a,.pagination span{padding:.45rem .7rem}.pagination span[aria-disabled]{color:var(--muted)}
.home-main{padding-top:0;padding-bottom:0}.home-band{width:100vw;margin-left:calc(50% - 50vw)}.home-band-inner{width:min(100% - 2rem,1152px);margin-inline:auto}.home-hero{background:var(--surface);border-bottom:1px solid var(--line);padding:4.5rem 0}.home-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(360px,5fr);gap:4rem;align-items:center}.home-hero h1{font-size:clamp(2.8rem,4.6vw,4.25rem);max-width:15ch;margin-bottom:1.25rem}.home-hero .lead{max-width:35ch;font-size:1.32rem}.home-search{max-width:680px;margin-top:2.25rem}.featured-roll-call{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius);padding:1.75rem;box-shadow:var(--shadow)}.featured-roll-call-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.featured-roll-call-head>div{display:flex;flex-direction:column;gap:.25rem}.eyebrow{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:700}.featured-roll-call time{font-size:.88rem;color:var(--muted)}.featured-roll-call h2{font-size:1.7rem;margin:1.35rem 0 .65rem}.featured-roll-call p{font-family:var(--font-title);font-size:1.03rem;line-height:1.45}.data-vote-bar,.mini-vote-bar{display:flex;overflow:hidden;background:var(--surface);border:1px solid var(--line-strong)}.data-vote-bar{height:26px;border-radius:3px;margin:1.4rem 0 .75rem}.data-vote-bar .for,.mini-vote-bar .for{background:var(--for)}.data-vote-bar .against,.mini-vote-bar .against{background:var(--against)}.data-vote-bar .abstention,.mini-vote-bar .abstention{background:var(--abstention)}.featured-vote-figures{display:flex;flex-wrap:wrap;gap:.45rem 1rem;color:var(--muted);font-size:.82rem;margin-bottom:1.25rem}.featured-vote-figures span{display:inline-flex;align-items:center;gap:.35rem}.featured-vote-figures strong{color:var(--ink)}.vote-key{display:inline-block;width:.55rem;height:.55rem;border-radius:50%}.vote-key.for{background:var(--for)}.vote-key.against{background:var(--against)}.vote-key.abstention{background:var(--abstention)}.home-section{padding:5rem 0}.search-results{padding-bottom:1rem}.section-heading{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:2rem;align-items:end;margin-bottom:2rem}.section-heading h2,.figures-band h2,.reading-band h2,.project-section h2{margin:0}.section-heading>p{color:var(--muted);margin:0}.section-heading-inline{grid-template-columns:1fr auto}.entry-grid{border-top:1px solid var(--line-strong)}.entry-link{display:grid;grid-template-columns:3rem 1fr auto;gap:1rem;align-items:center;padding:1.4rem .75rem;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.entry-link:hover{background:var(--accent-soft);color:var(--ink)}.entry-number{font-size:.75rem;letter-spacing:.12em;color:var(--accent);font-weight:700}.entry-link strong{display:block;font-family:var(--font-title);font-size:1.45rem;line-height:1.2}.entry-link small{display:block;color:var(--muted);margin-top:.15rem}.entry-count{font-family:var(--font-title);font-size:1.85rem;color:var(--accent);font-weight:600}.figures-band{background:var(--ink);color:var(--paper);padding:4.5rem 0}.figures-band .section-label{color:#8bc0ba}.figures-band .section-label::after{background:#4b545c}.figures-band h2{color:var(--paper)}.home-figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:2rem;border-top:1px solid #4b545c}.home-figures a{display:flex;flex-direction:column;gap:.3rem;color:var(--paper);text-decoration:none;padding:1.8rem 1.25rem 0;border-right:1px solid #4b545c}.home-figures a:first-child{padding-left:0}.home-figures a:last-child{border-right:0}.home-figures a:hover strong{color:#8bc0ba}.home-figures strong{font-family:var(--font-title);font-size:clamp(2rem,3vw,3rem);font-weight:600;line-height:1.1}.home-figures span{font-size:.85rem;color:#cbd0d3}.recent-section{padding-bottom:5.5rem}.recent-roll-list{border-top:1px solid var(--line-strong)}.recent-roll-row{display:grid;grid-template-columns:120px minmax(0,1fr) 250px;gap:1.5rem;align-items:center;padding:1.35rem .25rem;border-bottom:1px solid var(--line)}.recent-roll-row>time{font-size:.84rem;color:var(--muted)}.recent-roll-title>span{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:.25rem}.recent-roll-title h3{font-size:1.12rem;line-height:1.4;margin:0}.recent-roll-title a{color:var(--ink);text-decoration:none}.recent-roll-title a:hover{color:var(--accent)}.recent-roll-result{display:grid;grid-template-columns:auto 1fr;gap:.55rem .75rem;align-items:center}.recent-roll-result .status-pill{grid-row:1/3}.mini-vote-bar{height:8px;border-radius:2px}.recent-roll-result small{font-size:.72rem;color:var(--muted)}.reading-band{background:var(--surface-2);border-block:1px solid var(--line);padding:5rem 0}.reading-heading{display:grid;grid-template-columns:1fr 1fr;gap:1rem 3rem;align-items:end}.reading-heading .section-label{grid-column:1/-1}.reading-heading p{color:var(--muted);margin:0}.reading-steps{list-style:none;padding:0;margin:2.5rem 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.reading-steps li{border-top:2px solid var(--line-strong);padding-top:1.1rem;display:grid;grid-template-columns:2rem 1fr;gap:.75rem}.reading-steps>li>span{font-size:.75rem;letter-spacing:.1em;color:var(--accent);font-weight:700}.reading-steps h3{font-size:1.25rem;margin:0 0 .45rem}.reading-steps p{font-size:.9rem;color:var(--muted);margin:0}.project-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:4rem;align-items:start}.project-copy{border-top:1px solid var(--line-strong);padding-top:1.25rem}.project-links{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:1.5rem}.home-source{margin-bottom:5rem}.site-footer{border-top:1px solid var(--line);background:var(--surface);padding:3.5rem 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem}.footer-intro p{font-size:.9rem;color:var(--muted);margin-top:1.25rem}.footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.footer-grid nav h2{font-family:var(--font-text);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .45rem}.footer-grid nav a{color:var(--ink);text-decoration:none;font-size:.9rem}.footer-grid nav a:hover{color:var(--accent);text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:2rem;margin-top:2.75rem;padding-block:1.1rem;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}.footer-bottom p{margin:0}.footer-bottom a{color:var(--muted)}
.error-page{text-align:center;padding:5rem 0}.error-code{font-family:var(--font-title);font-size:5rem;color:var(--accent);line-height:1}.prose{max-width:var(--measure)}.prose h2{font-size:1.75rem;margin-top:2.5rem}.prose li{margin-bottom:.5rem}
@media(max-width:900px){.header-inner{grid-template-columns:1fr auto;grid-template-areas:"brand support" "nav nav";padding-block:.8rem;gap:.5rem 1.25rem}.primary-nav{justify-self:start}.home-hero-grid{grid-template-columns:1fr;gap:2.5rem}.featured-roll-call{max-width:680px}.section-heading,.reading-heading,.project-section{grid-template-columns:1fr;gap:1rem}.reading-heading .section-label{grid-column:auto}.home-figures{grid-template-columns:repeat(2,1fr)}.home-figures a:nth-child(2){border-right:0}.home-figures a:nth-child(n+3){border-top:1px solid #4b545c}.recent-roll-row{grid-template-columns:100px minmax(0,1fr) 220px}.filters,.filters-compact{grid-template-columns:1fr 1fr}.filters .button{grid-column:1/-1}.grid-3{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.6fr 1fr 1fr;gap:2rem}}
@media(max-width:650px){html{font-size:16px}.container,.home-band-inner{width:min(100% - 1.25rem,1152px)}.main-content{padding-top:1.25rem}.home-main{padding-top:0}.header-inner{grid-template-columns:minmax(0,1fr) auto}.brand-mark{width:32px;height:32px}.brand-wordmark{font-size:1.08rem}.brand-lockup{gap:.45rem}.header-support{font-size:.82rem;padding:.42rem .55rem}.primary-nav{width:100%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;gap:1rem;padding-bottom:.15rem}.primary-nav a{white-space:nowrap;padding:.55rem .05rem .45rem}.home-hero{padding:3rem 0}.home-hero h1{font-size:2.65rem}.home-search{margin-top:1.75rem}.featured-roll-call{padding:1.25rem}.search-row{flex-direction:column}.home-section,.reading-band{padding:3.5rem 0}.section-heading-inline{grid-template-columns:1fr}.entry-link{grid-template-columns:2rem 1fr;align-items:start;padding-inline:.25rem}.entry-count{grid-column:2;font-size:1.45rem}.figures-band{padding:3.5rem 0}.home-figures{grid-template-columns:1fr}.home-figures a,.home-figures a:first-child{padding:1.2rem 0;border-right:0;border-top:1px solid #4b545c}.home-figures a:first-child{border-top:0}.recent-roll-row{grid-template-columns:1fr;gap:.65rem;padding-block:1.2rem}.recent-roll-result{grid-template-columns:auto 1fr}.recent-roll-result .status-pill{grid-row:auto}.recent-roll-result small{grid-column:1/-1}.reading-steps{grid-template-columns:1fr;gap:1.5rem}.project-section{gap:1.5rem}.footer-grid{grid-template-columns:1fr;gap:2rem}.footer-bottom{flex-direction:column;gap:.4rem}.grid-2,.person-grid,.group-grid,.metric-grid,.filters,.filters-compact,.fact-list{grid-template-columns:1fr}.filters .button{grid-column:auto}.profile-header{align-items:flex-start}.avatar-large{width:82px;height:82px}.card{padding:1rem}.table-wrap{margin-inline:-.25rem}.section-label::after{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.filters,.pagination,.skip-link{display:none}.main-content{padding:0}.card{box-shadow:none}body{background:white;color:black}}
