:root {
  --navy-950:#081a31; --navy-900:#102b4e; --navy-800:#173b67; --navy-700:#245486;
  --blue-100:#eaf2f8; --blue-50:#f5f8fb; --white:#fff; --gray-900:#1d2733;
  --gray-700:#4b5968; --gray-500:#718092; --gray-300:#cbd5df; --gray-200:#e1e7ed;
  --gray-100:#f4f6f8; --accent:#d2aa62; --font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --step--1:clamp(.78rem,.74rem + .14vw,.86rem); --step-0:clamp(1rem,.96rem + .16vw,1.08rem);
  --step-1:clamp(1.2rem,1.08rem + .46vw,1.48rem); --step-2:clamp(1.55rem,1.3rem + .9vw,2.15rem);
  --step-3:clamp(2.1rem,1.65rem + 1.7vw,3.25rem); --step-4:clamp(2.65rem,1.9rem + 2.8vw,4.85rem);
  --space-xl:3.5rem; --space-2xl:clamp(4.5rem,8vw,8rem); --shell:1160px; --radius:4px;
  --shadow:0 20px 55px rgba(8,26,49,.12);
}
*,*::before,*::after{box-sizing:border-box} html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{margin:0;color:var(--gray-900);background:var(--white);font-family:var(--font);font-size:var(--step-0);line-height:1.68;-webkit-font-smoothing:antialiased}
body.nav-open{overflow:hidden} a{color:inherit;text-underline-offset:.24em} button,input,select,textarea{font:inherit} button,select{cursor:pointer}
h1,h2,h3,p{margin-top:0} h1,h2,h3{color:var(--navy-950);line-height:1.08;letter-spacing:-.03em}
h1{max-width:16ch;font-size:var(--step-4);font-weight:680} h2{max-width:18ch;margin-bottom:0;font-size:var(--step-3);font-weight:650} h3{font-size:var(--step-1)}
.shell{width:min(calc(100% - 2.25rem),var(--shell));margin-inline:auto}.section{padding-block:var(--space-2xl)}.section-compact{padding-block:var(--space-xl)}
.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}
.skip-link{position:fixed;z-index:1000;top:.75rem;left:.75rem;padding:.75rem 1rem;color:#fff;background:var(--navy-950);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid #d49726;outline-offset:4px}.eyebrow{margin-bottom:1rem;color:var(--navy-700);font-size:var(--step--1);font-weight:750;letter-spacing:.14em;text-transform:uppercase}.eyebrow.light{color:#b9d1e7}
.section-number{margin-bottom:1.75rem;color:var(--gray-300);font-size:.75rem;font-weight:800;letter-spacing:.2em}.section-number.light{color:#7795b3}
.button{display:inline-flex;min-height:3rem;align-items:center;justify-content:center;gap:.65rem;padding:.72rem 1.2rem;border:1px solid transparent;border-radius:var(--radius);font-size:.95rem;font-weight:720;line-height:1.2;text-decoration:none;transition:.2s ease}.button:hover{transform:translateY(-1px)}
.button-primary{color:#fff;background:var(--navy-900)}.button-primary:hover{background:var(--navy-700)}
.site-header{position:sticky;z-index:100;top:0;border-bottom:1px solid rgba(16,43,78,.11);background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}
.header-inner{display:flex;min-height:5.25rem;align-items:center;justify-content:space-between;gap:1.5rem}.identity{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none}
.candidate-mark{display:block;width:3rem;height:3rem;flex:0 0 auto;filter:drop-shadow(0 4px 8px rgba(8,26,49,.14))}
.identity-copy{display:grid;line-height:1.15}.identity-copy strong{color:var(--navy-950);font-size:1rem;letter-spacing:-.015em}.identity-copy span{margin-top:.25rem;color:var(--gray-500);font-size:.7rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.nav-toggle{display:grid;width:2.8rem;height:2.8rem;place-content:center;gap:5px;border:0;background:transparent}.nav-toggle span:not(.sr-only){width:1.45rem;height:2px;background:var(--navy-950);transition:.2s ease}.nav-toggle[aria-expanded=true] span:nth-child(2){transform:translateY(7px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(3){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(4){transform:translateY(-7px) rotate(-45deg)}
.primary-nav{position:fixed;inset:5.25rem 0 auto;display:none;padding:1rem 1.125rem 2rem;border-bottom:1px solid var(--gray-200);background:#fff;box-shadow:var(--shadow)}.primary-nav.open{display:grid}.primary-nav a{padding:.8rem 0;border-bottom:1px solid var(--gray-200);color:var(--navy-900);font-size:1rem;font-weight:650;text-decoration:none}
.hero{position:relative;overflow:hidden;padding-block:clamp(4rem,9vw,8rem);background:linear-gradient(120deg,var(--blue-50) 0 62%,#eef3f7 62%)}.hero::after{position:absolute;right:-4rem;bottom:-7rem;width:23rem;height:23rem;border:1px solid rgba(16,43,78,.09);border-radius:50%;content:""}
.hero-grid{position:relative;z-index:1;display:grid;gap:3rem}.hero-copy{max-width:780px}.hero h1{margin-bottom:1.6rem}.hero-intro{max-width:64ch;color:var(--navy-900);font-size:var(--step-1);line-height:1.55}.hero-copy>p:not(.eyebrow){max-width:68ch}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 1.6rem;margin-top:2rem}.text-link{color:var(--navy-900);font-size:.95rem;font-weight:720;text-decoration:none}.text-link:hover{text-decoration:underline}
.election-card{align-self:end;max-width:25rem;padding:2rem;border-top:4px solid var(--accent);color:#fff;background:var(--navy-900);box-shadow:var(--shadow)}.election-card .card-label{margin-bottom:1.3rem;color:#bdd0e1;font-size:.75rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase}.election-card .date{margin-bottom:1.3rem;white-space:pre-line;color:#fff;font-size:var(--step-2);font-weight:690;line-height:1.15}.card-rule{height:1px;margin-block:1.4rem;background:rgba(255,255,255,.22)}.election-card p{font-size:.95rem}.election-card a{color:#fff;font-size:.88rem;font-weight:650}
.two-column{display:grid;gap:3rem}.large-prose{max-width:680px}.large-prose p{margin-bottom:1.3rem;color:var(--gray-700);font-size:var(--step-1);line-height:1.65}.large-prose p:first-child{color:var(--navy-900)}
.priorities{background:var(--gray-100)}.section-heading{display:grid;gap:2rem;margin-bottom:3rem}.section-heading>p{max-width:48ch;align-self:end;margin:0;color:var(--gray-700)}.priority-grid{display:grid;gap:1rem}
.priority-card{min-height:19rem;padding:2rem;border:1px solid var(--gray-200);background:#fff}.priority-icon{display:grid;width:2.4rem;height:2.4rem;margin-bottom:4rem;place-items:center;border:1px solid var(--gray-300);color:var(--navy-700);font-size:.72rem;font-weight:800}.priority-card h3{margin-bottom:1rem}.priority-card p{margin:0;color:var(--gray-700)}
blockquote{max-width:910px;margin:4rem 0 0;padding:0 0 0 1.5rem;border-left:3px solid var(--accent)}blockquote p{margin:0;color:var(--navy-900);font-size:var(--step-2);line-height:1.45;letter-spacing:-.02em}
.write-in{color:#d8e3ed;background:var(--navy-950)}.write-in h2,.write-in h3{color:#fff}.write-in-heading{display:grid;gap:2rem;margin-bottom:3rem}.verified-note{max-width:49ch;align-self:end;margin:0;color:#b8cada;font-size:.9rem}.verified-note span{display:inline-grid;width:1.45rem;height:1.45rem;margin-right:.4rem;place-items:center;border-radius:50%;color:var(--navy-950);background:#aacbb9;font-weight:900}
.name-panel{position:relative;display:grid;gap:1.5rem;align-items:center;margin-bottom:2rem;padding:2rem;border:1px solid #4d6b88;background:var(--navy-900)}.name-label,.spelling{margin-bottom:.35rem;color:#b9ccdd;font-size:.75rem;font-weight:720;letter-spacing:.12em;text-transform:uppercase}.candidate-name{overflow-wrap:anywhere;margin-bottom:.45rem;color:#fff;font-size:clamp(2.05rem,8vw,4.4rem);font-weight:760;line-height:1;letter-spacing:.015em}.spelling{margin:0;letter-spacing:.16em}.button-copy{width:100%;color:var(--navy-950);background:#fff}.button-copy:hover{background:var(--blue-100)}.copy-status{position:absolute;right:2rem;bottom:.3rem;margin:0;color:#c1d5e6;font-size:.78rem}
.instruction-grid{display:grid;gap:1rem}.instruction-card{padding:2rem;border:1px solid #34506b;background:rgba(255,255,255,.035)}.card-kicker{margin-bottom:.5rem;color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.instruction-card h3{margin-bottom:2rem}.instruction-card ol{display:grid;gap:1.25rem;margin:0;padding:0;list-style:none}.instruction-card li{display:grid;grid-template-columns:2rem 1fr;gap:.85rem}.instruction-card li>span{display:grid;width:1.8rem;height:1.8rem;place-items:center;border:1px solid #58738d;border-radius:50%;color:#bfd1e0;font-size:.75rem;font-weight:800}.instruction-card li p{margin:0;color:#cfdae4;font-size:.95rem}.instruction-card li strong{color:#fff}
.election-strip{display:grid;gap:1.5rem;align-items:center;margin-top:1rem;padding:1.5rem;color:var(--navy-950);background:var(--accent)}.election-strip div{display:grid}.election-strip span{font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.election-strip strong{font-size:1rem}.button-light{border-color:var(--navy-950);color:var(--navy-950);background:transparent}.button-light:hover{color:#fff;background:var(--navy-950)}.source-note{margin:1rem 0 0;color:#95adc3;font-size:.8rem}
.feedback-grid{display:grid;gap:3rem}.feedback-intro{max-width:49ch;margin-top:1.5rem;color:var(--gray-700);font-size:var(--step-1)}.privacy-callout{max-width:34rem;margin-top:2rem;padding:1.1rem 1.25rem;border-left:3px solid var(--accent);background:var(--blue-50)}.privacy-callout p{margin:.2rem 0 0;color:var(--gray-700);font-size:.9rem}.form-wrap{padding:clamp(1.4rem,4vw,2.5rem);border:1px solid var(--gray-200);background:#fff;box-shadow:var(--shadow)}.form-notice{margin-bottom:1.75rem;padding:1rem 1.1rem;border:1px solid #d9c18e;background:#fff9eb}.form-notice p{margin:.25rem 0 0;color:var(--gray-700);font-size:.88rem}.form-notice.is-hidden{display:none}.spam-field{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}.field-row{display:grid;gap:1rem}.field{display:grid;gap:.45rem;margin-bottom:1.1rem}.field label{color:var(--navy-950);font-size:.9rem;font-weight:720}.field label span{color:var(--gray-500);font-weight:500}.field input,.field select,.field textarea{width:100%;padding:.75rem .85rem;border:1px solid var(--gray-300);border-radius:2px;color:var(--gray-900);background:#fff}.field textarea{resize:vertical}.field input:disabled,.field select:disabled,.field textarea:disabled,.checkbox-field input:disabled{cursor:not-allowed;opacity:.55;background:var(--gray-100)}.checkbox-field{display:grid;grid-template-columns:1.25rem 1fr;gap:.7rem;align-items:start;margin:.4rem 0 1.5rem}.checkbox-field input{width:1.1rem;height:1.1rem;margin-top:.25rem;accent-color:var(--navy-900)}.checkbox-field label{color:var(--gray-700);font-size:.84rem}.form-wrap button:disabled{cursor:not-allowed;opacity:.55;transform:none}.form-status{margin:.8rem 0 0;color:#9b2d2d;font-size:.85rem}.form-status.is-success{color:#2d6a4f}
.privacy{border-top:1px solid var(--gray-200);background:var(--gray-100)}.privacy[hidden]{display:none}.privacy-panel{position:relative;padding-right:4.5rem}.privacy-inner{display:grid;gap:1rem 3rem}.privacy h2{font-size:var(--step-1)}.privacy p{max-width:90ch;margin:0;color:var(--gray-700);font-size:.88rem}.privacy-close{position:absolute;top:-.75rem;right:0;display:grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid var(--gray-300);border-radius:50%;color:var(--navy-900);background:#fff;font-size:1.8rem;line-height:1}.privacy-close:hover{border-color:var(--navy-900);background:var(--blue-100)}
.site-footer{padding-block:3.5rem 2rem;color:#b9cada;background:#061426}.footer-main{display:grid;gap:2.5rem;padding-bottom:2.5rem}.footer-name{margin-bottom:.35rem;color:#fff;font-size:var(--step-1);font-weight:720}.footer-main p{font-size:.9rem}.footer-links{display:grid;align-content:start;gap:.65rem}.footer-links a{font-size:.88rem}.footer-legal{display:grid;gap:.8rem;padding-top:1.5rem;border-top:1px solid #28394d}.footer-legal p{max-width:90ch;margin:0;font-size:.72rem}.sponsor-disclosure{color:#e0c994}
@media(min-width:720px){.shell{width:min(calc(100% - 4rem),var(--shell))}.hero-grid{grid-template-columns:minmax(0,1.55fr) minmax(18rem,.65fr);align-items:end}.two-column{grid-template-columns:.78fr 1.22fr}.section-heading,.write-in-heading{grid-template-columns:1fr .8fr}.priority-grid{grid-template-columns:repeat(3,1fr)}.name-panel{grid-template-columns:1fr auto;padding:2.5rem}.button-copy{width:auto;min-width:10rem}.instruction-grid{grid-template-columns:1fr 1fr}.election-strip{grid-template-columns:1fr 1fr auto}.feedback-grid{grid-template-columns:.85fr 1.15fr}.field-row{grid-template-columns:1fr 1fr}.privacy-inner{grid-template-columns:12rem 1fr}.footer-main{grid-template-columns:1fr auto}}
@media(min-width:960px){.nav-toggle{display:none}.primary-nav{position:static;display:flex;padding:0;border:0;background:transparent;box-shadow:none;gap:1.7rem}.primary-nav a{padding:.6rem 0;border:0;color:var(--gray-700);font-size:.82rem}.primary-nav a:hover{color:var(--navy-900)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
