@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/jost-regular.ttf") format("truetype")}
@font-face{font-family:Jost;font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/jost-medium.ttf") format("truetype")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/source-sans-regular.ttf") format("truetype")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/source-sans-semibold.ttf") format("truetype")}
:root{--blue:#074ea1;--cyan:#00a0e2;--magenta:#e6007d;--ink:#172431;--text:#3d4b57;--muted:#596671;--paper:#fff;--soft:#f6f9fb;--line:#dce5eb;--max-width:1160px;--gutter:clamp(1.25rem,4.5vw,4rem);--display:Jost,"Avenir Next","Segoe UI",sans-serif;--body:"Source Sans 3","Segoe UI",sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;background:var(--paper);color:var(--text);font:400 1.125rem/1.65 var(--body);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:var(--blue);text-underline-offset:.25em}button,input,textarea{font:inherit}button{cursor:pointer}figure{margin:0}p{margin:0 0 1.25rem}p:last-child{margin-bottom:0}h1,h2,h3{margin:0;color:var(--ink);font-family:var(--display);font-weight:500;overflow-wrap:break-word}h1{font-size:clamp(2.6rem,5.2vw,4.8rem);line-height:1.09;letter-spacing:-.035em}h2{font-size:clamp(1.95rem,3.6vw,3rem);line-height:1.2;letter-spacing:-.025em}h3{font-size:clamp(1.4rem,2.15vw,1.85rem);line-height:1.25;letter-spacing:-.015em}strong{font-weight:600}[hidden]{display:none!important}::selection{background:var(--blue);color:white}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.container{width:min(calc(100% - 2*var(--gutter)),var(--max-width));margin-inline:auto}.skip-link{position:fixed;z-index:1000;top:1rem;left:1rem;padding:.7rem 1rem;background:var(--blue);color:white;transform:translateY(-200%)}.skip-link:focus{transform:none}
.site-header{position:sticky;top:0;z-index:50;background:white;border-bottom:1px solid var(--line)}.header-inner{display:grid;grid-template-columns:minmax(14rem,1fr) auto 5.5rem;gap:1.75rem;align-items:center;min-height:6rem}.wordmark{width:fit-content;text-decoration:none;line-height:1.2}.wordmark strong{display:block;font:500 1.4rem/1.2 var(--display);letter-spacing:-.025em}.wordmark span{display:block;color:var(--muted);font-size:.875rem;margin-top:.3rem}.navigation{display:flex;gap:1.5rem;align-items:center}.navigation a{text-decoration:none;color:var(--ink);font-size:1rem;padding-block:.6rem}.navigation a:hover,.navigation a[aria-current=page]{color:var(--blue);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.55em}.party-mark{display:block;color:var(--cyan);text-align:center;text-decoration:none;padding-block:.65rem}.party-mark img{width:100%}.party-mark span{display:block;margin-top:.3rem;font-size:.875rem;white-space:nowrap;line-height:1.2}.menu-button{display:none;gap:.6rem;align-items:center;background:none;border:0;padding:.8rem 0;color:var(--blue);font-size:1rem}.menu-button__icon{display:block;position:relative;width:1.3rem;height:2px;background:currentColor}.menu-button__icon::before,.menu-button__icon::after{content:"";position:absolute;left:0;width:1.3rem;height:2px;background:currentColor}.menu-button__icon::before{top:-.4rem}.menu-button__icon::after{top:.4rem}
.eyebrow{color:var(--blue);font-size:1rem;margin:0 0 1rem}.hero{padding-top:clamp(2.5rem,5vw,5rem)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:center}.hero h1{color:var(--blue);margin-bottom:1.8rem}.accent-period{color:var(--cyan)}.hero-name{font:500 1.5rem/1.3 var(--display);color:var(--ink);margin-bottom:.7rem}.hero-lead{max-width:28rem;font-size:1.1875rem}.hero-constituency{font-size:1rem;color:var(--muted)}.hero-actions,.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.75rem;margin-top:1.75rem}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:3rem;padding:.8rem 1.35rem;border:1px solid var(--blue);border-radius:2px;background:var(--blue);color:white;text-decoration:none;font-size:1rem;line-height:1.4}.button:hover{background:#043b7d}.button-secondary{background:white;color:var(--blue)}.button-secondary:hover{background:var(--soft)}.text-link{font-size:1.0625rem;text-decoration:underline;text-decoration-thickness:1px}.portrait-frame{height:clamp(27rem,41vw,35rem);background:var(--soft);overflow:hidden;display:flex;align-items:flex-end;justify-content:center}.portrait-frame img{height:96%;width:100%;object-fit:contain;object-position:center bottom}.election-banner{display:flex;flex-wrap:wrap;gap:.5rem 2rem;align-items:center;margin-top:2.5rem;padding-block:1.3rem;border-block:1px solid var(--line);font-size:1rem;color:var(--muted)}.election-banner strong{margin-left:auto;color:var(--blue)}
.section{padding-block:clamp(4rem,7.4vw,7rem)}.section-tight{padding-top:1rem}.editorial-grid,.principle-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem)}.prose{max-width:42rem}.prose .lead{font-size:1.25rem;color:var(--ink);line-height:1.6}.section-heading{max-width:52rem;margin-bottom:3rem}.section-heading h2{margin-bottom:1.3rem}.section-intro{max-width:40rem}.topics-section{border-block:1px solid var(--line)}.topic-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(2rem,5vw,5rem)}.topic{padding:2rem 0;border-top:1px solid var(--line);min-width:0}.topic-label{font-size:.875rem;color:var(--muted);margin-bottom:.7rem}.topic h3{margin-bottom:.75rem}.topic h3 a{color:var(--blue);text-decoration:none}.topic h3 a:hover{text-decoration:underline}.topic p:not(.topic-label){max-width:28rem;margin-bottom:1rem}.growth-section{background:var(--soft)}.about-section{border-bottom:1px solid var(--line)}
.support-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem)}.support-grid h2{margin-bottom:1.5rem}.support-grid h3{margin-bottom:1.5rem}.support-choices,.contact-purpose,.donation-panel fieldset{border:0;padding:0;margin:0;min-width:0}.support-choices legend,.contact-purpose legend,.donation-panel legend{font-weight:600;color:var(--ink);font-size:1.0625rem;margin-bottom:.75rem}.support-choice{display:flex;align-items:flex-start;gap:.9rem;min-height:3.25rem;padding:.9rem 0;border-bottom:1px solid var(--line);cursor:pointer}.support-choice input,input[type=radio]{accent-color:var(--blue);width:1.2rem;height:1.2rem;flex-shrink:0;margin-top:.3rem}.form-hint{font-size:.9375rem;color:var(--muted)}.form-actions .form-hint{margin:0}
.closing{border-top:1px solid var(--line);padding-block:4rem}.closing-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}.closing h2{color:var(--blue)}.ballot-info{padding-left:2rem;border-left:3px solid var(--cyan);color:var(--ink)}.ballot-info strong{display:block;font:500 1.5rem/1.3 var(--display);margin-bottom:.6rem}.ballot-info p{margin-bottom:.5rem}.ballot-info span{color:var(--blue)}.site-footer{padding-block:1.5rem;border-top:1px solid var(--line);font-size:.9375rem}.footer-grid{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-grid nav{display:flex;gap:1.5rem;flex-wrap:wrap}.footer-grid p{margin:0}
.page-intro{padding-block:clamp(3rem,6vw,5.5rem) 2.5rem}.page-intro h1{max-width:54rem}.page-lead{max-width:42rem;font-size:1.25rem;margin-top:1.5rem}.principle-grid{margin-top:3rem;padding-top:3.5rem;border-top:1px solid var(--line)}.article-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(2rem,6vw,5rem)}.topic-navigation nav{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;border-left:2px solid var(--line);padding-left:1.25rem}.topic-navigation a{text-decoration:none;font-size:1.0625rem;color:var(--muted)}.topic-navigation a[aria-current=page]{color:var(--blue);font-weight:600}.article h2,.prose>h2{font-size:clamp(1.5rem,2.5vw,2rem);margin:2.75rem 0 1rem}.article .policy-point:first-of-type h2{margin-top:2rem}.article-conclusion{padding-top:1.5rem;border-top:1px solid var(--line);margin-top:2rem}.article-centered{max-width:44rem}.byline{font-weight:600;color:var(--blue);margin-top:2rem}.note-list{max-width:54rem}.note-teaser{padding:2rem 0 2.5rem;border-top:1px solid var(--line)}.note-teaser h2{margin-bottom:1rem}.note-teaser h2 a{text-decoration:none;color:var(--blue)}.note-teaser h2 a:hover{text-decoration:underline}.note-teaser p{max-width:38rem}
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,6vw,6rem);align-items:center}.about-grid h2{margin-top:0}.neighborhood{padding-top:4rem;margin-top:4rem;border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem)}.contact-aside h2{margin-bottom:1.5rem}.contact-purpose label{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:.75rem;cursor:pointer}#help-options{margin-block:1.5rem}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.field{display:flex;flex-direction:column;gap:.45rem;margin-block:1.25rem}.field label{font-weight:600;color:var(--ink)}.field label span{font-weight:400;color:var(--muted);font-size:.9375rem}.field input,.field textarea,.message-preview textarea{padding:.75rem .85rem;border:1px solid #a6b4c0;border-radius:2px;background:white;color:var(--ink);width:100%;min-width:0}.field input{min-height:3rem}.field textarea,.message-preview textarea{resize:vertical}.message-preview{margin-top:2rem;border-top:2px solid var(--cyan);padding-top:1.5rem}.message-preview h3{margin-bottom:1rem}.message-preview #message-status{margin-top:1rem;font-size:1rem}
.donation-panel{border-top:3px solid var(--cyan);padding-top:1.5rem}.amount-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.amount-options label{display:flex;align-items:center;gap:.6rem;padding:1rem;border:1px solid var(--line);cursor:pointer}.internal-payment-note{background:var(--soft);padding:1.25rem;font-size:1rem}.internal-payment-note strong{color:var(--blue)}.internal-payment-note p{margin-top:.5rem}
@media(max-width:1000px){.header-inner{grid-template-columns:minmax(0,1fr) auto 5.5rem;gap:1.5rem;min-height:5.5rem}.menu-button{display:flex}.navigation{display:none;grid-column:1/-1;grid-row:2;flex-direction:column;align-items:flex-start;gap:.6rem;padding:.5rem 0 1.5rem}.navigation.is-open{display:flex}.navigation a{min-height:2.75rem}.hero h1{font-size:clamp(2.9rem,5.5vw,4rem)}.editorial-grid,.principle-grid,.support-grid,.contact-grid{gap:2.75rem}.portrait-frame{height:29rem}}
@media(max-width:760px){.hero-grid,.editorial-grid,.principle-grid,.support-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}.hero-copy{max-width:38rem}.hero-grid{gap:2.25rem}.hero h1{font-size:clamp(2.8rem,8.5vw,4.15rem)}.hero-portrait{max-width:31rem;width:100%;justify-self:center}.portrait-frame{height:clamp(25rem,95vw,32rem)}.topic-grid{column-gap:2rem}.section{padding-block:3.75rem}.section-tight{padding-top:1rem}.article-layout{grid-template-columns:1fr;gap:2.5rem}.topic-navigation nav{flex-direction:row;flex-wrap:wrap;gap:.7rem 1.5rem;padding:0 0 1rem;border-left:0;border-bottom:1px solid var(--line)}.topic-navigation a{font-size:1rem}.about-portrait{max-width:28rem;width:100%}.about-grid>.prose{grid-row:1}.about-grid>.about-portrait{grid-row:2}.closing-grid{grid-template-columns:1fr;gap:2rem}.closing{padding-block:3rem}.neighborhood{padding-top:3rem;margin-top:3rem}}
@media(max-width:540px){body{font-size:1.0625rem}.header-inner{grid-template-columns:minmax(0,1fr) auto 4.5rem;gap:.85rem;min-height:5.25rem}.wordmark strong{font-size:1.15rem}.wordmark span{font-size:.875rem;max-width:13rem}.party-mark span{font-size:.875rem;white-space:normal}.hero{padding-top:2rem}.eyebrow{font-size:.9375rem}.hero-lead{font-size:1.125rem}.hero h1{font-size:clamp(2.7rem,9.5vw,3.9rem)}.hero-actions{gap:1.25rem}.topic-grid,.field-grid{grid-template-columns:1fr}.topic{padding-block:1.75rem}.topic h3{font-size:1.65rem}.section-heading{margin-bottom:2rem}.election-banner{font-size:.9375rem;gap:.5rem 1.5rem}.election-banner strong{margin-left:0;flex-basis:100%}.prose .lead,.page-lead{font-size:1.1875rem}.page-intro{padding-bottom:2rem}.ballot-info{padding-left:1.25rem}.footer-grid{flex-direction:column;gap:1rem}.amount-options label{padding:.8rem .6rem;font-size:1rem}}
@media(max-width:380px){.header-inner{gap:.7rem;grid-template-columns:minmax(0,1fr) auto 4.2rem}.menu-button>span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.wordmark span{max-width:11rem}.hero h1{font-size:2.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.contact-email{font-size:1rem;margin-top:2rem}.email-link{overflow-wrap:anywhere}
@media print{.site-header{position:static}.navigation,.menu-button,.hero-actions,.support-section,.contact-form,.site-footer{display:none}.section{padding-block:2rem}.hero-grid{grid-template-columns:1fr 1fr}.portrait-frame{height:22rem}.article-layout{display:block}.topic-navigation{display:none}.closing{break-inside:avoid}}

.portrait-frame.is-photo img{height:100%;object-fit:cover;object-position:50% 30%}.quartier-photo{margin-block:2rem}.quartier-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}
@media(max-width:760px){.portrait-frame.is-photo img{object-position:50% 25%}}
