@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--blue:#286fac;--navy:#173c63;--mist:#f5f8fc;--ink:#20354a}*{box-sizing:border-box}body{margin:0;background:var(--mist);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}.site-header{height:78px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px max(5vw,24px);border-bottom:1px solid #eaf0f7}.brand img{height:47px;width:auto}.secure{font-size:.78rem;font-weight:700;color:#527b5d;margin-right:22px}.header-help,footer a{color:var(--blue);text-decoration:none;font-weight:600;font-size:.9rem}.hero{padding:76px max(9vw,24px) 66px;min-height:340px;color:#fff;background:linear-gradient(115deg,#173b62,#245f94);display:flex;align-items:center;justify-content:space-between;overflow:hidden}.hero h1,h2{font-family:'DM Sans',Arial,sans-serif;font-weight:700;letter-spacing:-.04em}.hero h1{font-size:clamp(2.4rem,5vw,4.2rem);line-height:1.04;margin:.25rem 0 1rem}.hero p{font-size:1.06rem;max-width:610px;line-height:1.6}.eyebrow{font-size:.72rem!important;letter-spacing:.15em;text-transform:uppercase;font-weight:700;color:#5f8fc0;margin:0 0 .55rem}.hero .eyebrow{color:#aad2ef}.trust{font-size:.86rem!important;margin-top:25px}.hero-mark{height:150px;width:150px;border:11px solid #a9d2ec;border-radius:50%;display:grid;place-content:center;text-align:center;font-size:4rem;box-shadow:0 0 0 18px #ffffff17,0 0 0 35px #ffffff0d}.hero-mark small{display:block;font-size:.8rem;font-family:'DM Sans'}.wizard-shell{max-width:1060px;margin:-28px auto 58px;padding:0 24px}.stepper{height:62px;border-radius:12px;background:#fff;box-shadow:0 8px 23px #173c6314;display:flex;align-items:center;justify-content:center;gap:18px;color:#93a5b7;font-size:.84rem}.stepper span{display:flex;gap:7px;align-items:center}.stepper span:first-child::first-letter{background:#dcebf7;color:#286fac}.stepper i{height:1px;width:75px;background:#dce4ed}.stepper .active{color:#286fac}.panel{background:#fff;border-radius:16px;margin-top:24px;padding:44px 48px;box-shadow:0 7px 28px #193b5810}.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.section-heading h2,.confirmation h2{font-size:2rem;margin:0 0 .4rem;color:#183d62}.section-heading p{color:#6c7f92;margin:.25rem 0}.help-button,.text-button{border:0;background:none;color:var(--blue);font-weight:700;white-space:nowrap;cursor:pointer}aside,.status{margin:18px 0;padding:15px 18px;border-radius:9px;background:#edf6fc;color:#315f84;font-size:.9rem}.panel>label,.form-grid label{display:block;font-size:.86rem;font-weight:700;color:#365168;margin:20px 0 7px}textarea,input,select{font:inherit;color:#273f55;border:1px solid #cedbe8;border-radius:8px;background:#fff;width:100%;padding:12px}textarea{min-height:148px;resize:vertical;line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-grid label{margin:0}.form-grid input,.form-grid select{margin-top:7px;font-weight:400}.consent{display:flex;gap:10px;align-items:flex-start;background:#fbfcfe;padding:16px;margin-top:22px;border-radius:8px;font-size:.86rem;line-height:1.45}.consent input{width:auto;margin-top:3px}.actions{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:28px}.actions a{font-size:.86rem;color:var(--blue);font-weight:700}.actions button{border:1px solid #aebccc;background:#fff;border-radius:8px;padding:12px 19px;font-weight:700;color:#34526a;cursor:pointer}.actions .primary{border:0;background:var(--blue);color:#fff;box-shadow:0 5px 12px #286fac44}.actions .primary:disabled{background:#a9b9c8;cursor:not-allowed}.election-card{border:1px solid #dce7f0;border-radius:11px;padding:23px;margin-top:18px}.election-card h3{margin:0 0 19px;color:var(--blue);font-size:.95rem}.election-card h3 input{width:calc(100% - 36px);border:0;border-bottom:1px solid #d7e2eb;border-radius:0;font-size:1.1rem;font-weight:700;margin-left:9px;padding:5px}.confirmation{text-align:center;max-width:720px;margin-left:auto;margin-right:auto}.confirmation p{color:#62768a;line-height:1.6}.confirmation-mark{margin:0 auto 17px;background:#e3f4e9;color:#258853;border-radius:50%;width:58px;height:58px;display:grid;place-items:center;font-size:1.7rem}.summary{margin:26px auto;text-align:left;display:grid;grid-template-columns:1fr 2fr;gap:13px;padding:22px;background:#f6f9fc;border-radius:10px;font-size:.92rem}.summary span{color:#718396}.pending{color:#9a5d16!important;font-weight:700}footer{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;padding:25px;color:#728294;background:#fff;font-size:.78rem}@media(max-width:650px){.site-header{height:66px}.brand img{height:37px}.secure{display:none}.hero{padding:53px 24px;min-height:0}.hero-mark{display:none}.wizard-shell{padding:0 14px}.stepper{gap:8px;font-size:.72rem}.stepper i{width:22px}.panel{padding:28px 20px}.section-heading{display:block}.section-heading .text-button,.help-button{margin-top:12px}.form-grid{grid-template-columns:1fr}.actions{align-items:stretch;flex-direction:column-reverse}.actions .primary,.actions button{text-align:center;width:100%}.summary{grid-template-columns:1fr}.summary b{margin-bottom:7px}}.welcome-screen{min-height:calc(100vh - 78px);position:relative;overflow:hidden;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:54px 24px;background:radial-gradient(circle at 50% 34%,#f6fbff 0 13%,transparent 30%),linear-gradient(135deg,#153d65,#246da8);color:#fff}.welcome-screen>*:not(.welcome-glow){position:relative;z-index:1}.welcome-glow{position:absolute;width:580px;height:580px;border-radius:50%;border:1px solid #a7d9fc4d;box-shadow:0 0 0 55px #bde5ff0b,0 0 0 112px #bde5ff08;animation:pulse 3s ease-in-out infinite}.welcome-logo{width:min(430px,78vw);height:auto;background:transparent;border-radius:0;padding:0;box-shadow:none;animation:logo-arrive 1.15s cubic-bezier(.2,.9,.25,1) both}.welcome-screen .eyebrow{color:#b7e2ff;margin-top:34px;animation:fade-up .7s .7s both}.welcome-screen h1{font-size:clamp(2.2rem,4vw,3.7rem);letter-spacing:-.045em;margin:7px 0 12px;animation:fade-up .7s .82s both}.welcome-screen p:not(.eyebrow){max-width:520px;line-height:1.6;margin:0;animation:fade-up .7s .94s both}.hands-placeholder{width:106px;height:76px;border-radius:38px;background:#ffffff18;border:1px dashed #d5efff8c;margin:27px 0 20px;display:grid;place-items:center;font-size:.67rem;line-height:1.2;color:#cbe9fc;animation:fade-up .7s 1.05s both}.welcome-button{border:0;border-radius:8px;padding:14px 22px;background:#fff;color:#225f97;font-weight:700;font-size:.96rem;box-shadow:0 7px 18px #051e3740;cursor:pointer;animation:fade-up .7s 1.15s both}.welcome-button span{padding-left:12px;font-size:1.15rem}@keyframes logo-arrive{from{opacity:0;transform:translateY(-65px) scale(.68);filter:blur(7px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes fade-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{50%{transform:scale(1.07);opacity:.55}}.hands-artwork{width:126px;height:126px;object-fit:contain;margin:20px 0 15px;filter:drop-shadow(0 8px 12px #0a2d4a44);animation:fade-up .7s 1.05s both}/* Welcome-screen contrast refinement */
.welcome-screen{background:radial-gradient(circle at 50% 36%,#4f91c035 0 12%,transparent 30%),linear-gradient(135deg,#102d4b,#1d5b90)}.welcome-glow{width:500px;height:500px;border-color:#a7d9fc24;box-shadow:0 0 0 55px #bde5ff08,0 0 0 112px #bde5ff05}.welcome-logo{filter:drop-shadow(0 0 10px #a7dfff80) drop-shadow(0 9px 16px #061d3166)}.welcome-screen h1{color:#fff;text-shadow:0 2px 5px #061d31b3}.welcome-screen p:not(.eyebrow){color:#e5f4ff;text-shadow:0 1px 3px #061d31c0}.hands-artwork{filter:drop-shadow(0 6px 9px #051c3080)}.welcome-logo{filter:none}.site-header{height:48px;position:relative;z-index:10;padding:0 max(5vw,24px);border:0}.brand{position:absolute;top:10px;left:max(5vw,24px);z-index:12}.brand img{height:105px;width:auto;filter:drop-shadow(0 5px 10px #0d31552e)}.welcome-screen{min-height:calc(100vh - 48px);padding-top:84px}@media(max-width:650px){.site-header{height:42px}.brand{left:18px;top:7px}.brand img{height:70px}.welcome-screen{min-height:calc(100vh - 42px);padding-top:72px}}.brand{top:-4px}.brand img{height:120px}@media(max-width:650px){.brand{top:1px}.brand img{height:78px}}.welcome-glow{border:0;box-shadow:none;background:radial-gradient(circle,#78b7e54a 0, #78b7e51c 38%,transparent 70%);filter:blur(18px);opacity:.58}.welcome-screen h1:focus{outline:none}.legal-page{margin-top:42px}.legal-page .panel{max-width:860px;margin-left:auto;margin-right:auto}.legal-page h1{font-size:2.3rem;color:#183d62;margin:0}.legal-page h2{font-family:"DM Sans",Arial,sans-serif;font-size:1.12rem;letter-spacing:0;color:#183d62;margin:2rem 0 .55rem}.legal-page p{line-height:1.7;color:#40586d}.legal-updated{font-size:.86rem;color:#718396!important;margin-top:.2rem}footer a{font-size:inherit}h1:focus{outline:none}
/* Editable draft and local date/time dropdowns */
.field-label{display:block;font-size:.86rem;font-weight:700;color:#365168;margin-bottom:7px}
.date-toggle{width:100%;display:flex;justify-content:space-between;gap:8px;text-align:left;font:inherit;color:#273f55;border:1px solid #cedbe8;border-radius:8px;background:#fff;padding:12px;cursor:pointer}
.date-dropdown{margin-top:8px;padding:14px;border:1px solid #cedbe8;border-radius:8px;background:#f5f8fc}
.date-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.date-parts label:nth-child(2){grid-column:span 1}
.date-parts select{padding:8px}
.picker-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.picker-actions button{border:1px solid #cedbe8;border-radius:6px;padding:6px 12px;background:white;color:#286fac}
.date-toggle:focus-visible,.picker-actions button:focus-visible{outline:2px solid #286fac;outline-offset:2px}
.election-card .form-grid{margin-bottom:18px}
.election-card [role=alert]{color:#9c352a}
.election-card input:disabled,.election-card select:disabled{background:#edf1f5;color:#637587}
/* Place the larger logo over the page background, without a header band. */
.site-header{position:absolute;inset:0 0 auto;height:0;background:transparent;padding:0;border:0}
.brand{top:0;left:max(5vw,24px)}
.brand img{height:144px}
.welcome-screen{min-height:100vh;padding-top:160px}
.hero{padding-top:160px}
.legal-page{padding-top:120px}
@media(max-width:650px){.brand{top:0;left:18px}.brand img{height:94px}.welcome-screen{min-height:100vh;padding-top:112px}.hero{padding-top:112px}.legal-page{padding-top:90px}}
.document-field .field-error{display:block;color:#9c352a;font-size:.85rem;margin:6px 0 0;font-weight:400}
.document-field .field-status{display:block;color:#527b5d;font-size:.85rem;margin:6px 0 0;font-weight:400}
.document-field button{margin-top:8px}
.client-options{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 24px}
.choice-button{font:inherit;border:1px solid #aebccc;background:#fff;border-radius:8px;padding:12px 19px;font-weight:700;color:#34526a;cursor:pointer}
.choice-button:hover,.choice-button.selected{background:var(--blue);border-color:var(--blue);color:#fff}
.choice-button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.choice-button:disabled{opacity:.55;cursor:not-allowed}
.document-options{border:1px solid #dce7f0;border-radius:10px;background:#f8fafc;margin-top:24px;padding:20px;min-width:0}
.document-options legend{float:none;width:auto;padding:0 8px;font-size:1rem;font-weight:700;color:var(--navy)}
.document-options>p{color:#62768a;font-size:.9rem;margin-bottom:18px}
.document-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.document-field label{display:block;font-size:.86rem;font-weight:700;color:#365168}
.document-field input{margin-top:7px;font-weight:400}
.field-error{display:block;color:#9c352a;font-size:.85rem;font-weight:400;margin:6px 0 0}
.field-error:empty{display:none}
.date-time-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(100px,1fr);gap:10px}
@media(max-width:650px){.document-choice-grid{grid-template-columns:1fr}.document-options{padding:14px}.date-time-fields{grid-template-columns:1fr}.client-options .choice-button{width:100%}}
/* Voter-focused hero illustration, kept separate from the banner copy. */
.hero{gap:40px}
.hero>div{flex:1;min-width:0}
.hero::after{content:"";display:block;flex:0 0 clamp(220px,25vw,320px);height:250px;background:url('voters-ballot.svg') center/contain no-repeat}
@media(max-width:1000px){.hero::after{display:none}}
.draft-fields{border:0;padding:0;margin:0;min-width:0}.client-mode{display:flex;gap:12px;margin-bottom:18px}.client-details{margin:20px 0}.client-logo-preview{display:block;max-width:200px;max-height:200px;margin:14px 0;border:1px solid #dce7f0}.draft-fields:disabled{opacity:.75}

.election-card .election-drafts-heading{margin-top:30px;margin-bottom:26px}

.form-grid .quorum-toggle{display:flex;align-items:center;gap:10px;margin-bottom:12px}.form-grid .quorum-toggle input{width:auto;margin:0}
