/* Citizen Activate · Voter checklist ("Your voting checklist.") · scoped to .ca-vg
   From vote-guide.html. Facts checked Oct. 14, 2026 against the TN Secretary of State
   and the Davidson County Election Commission. */
/* ---- Voter checklist · scoped to .ca-vg · Broadside navy band, same in light and dark ---- */
.ca-vg{
  --vg-navy-900:var(--ca-navy-900,#01132F);--vg-navy-700:var(--ca-navy-700,#02204F);--vg-navy-100:var(--ca-navy-100,#D8E0EE);
  --vg-red-500:var(--ca-red-500,#B3030D);--vg-gold-500:var(--ca-gold-500,#D1952B);--vg-gold-300:var(--ca-gold-300,#E8C267);
  --vg-paper:var(--ca-paper,#F8F8F8);--vg-cream:var(--ca-cream,#F6F4EC);--vg-charcoal:var(--ca-charcoal,#2E3547);--vg-limestone:var(--ca-limestone,#C9CFDB);--vg-gold-700:var(--ca-gold-700,#8F5E00);
  --vg-display:var(--font-display,'Alfa Slab One',Rockwell,'Roboto Slab',serif);--vg-text:var(--font-text,'Barlow','Helvetica Neue',Arial,sans-serif);--vg-accent:var(--font-accent,'Barlow Condensed','Arial Narrow',sans-serif);
  position:relative;background:var(--vg-navy-700);color:var(--vg-navy-100);font-family:var(--vg-text);font-size:1rem;line-height:1.55;
  box-shadow:0 0 0 100vmax var(--vg-navy-700);clip-path:inset(0 -100vmax)}   /* full bleed, no scrollbar */
.ca-vg *,.ca-vg *::before,.ca-vg *::after{box-sizing:border-box}
.ca-vg [hidden]{display:none!important}
.ca-vg h2,.ca-vg h3,.ca-vg p,.ca-vg ul,.ca-vg ol,.ca-vg dl,.ca-vg dd{margin:0}
.vg-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.vg-in{max-width:var(--wrap,1180px);margin-inline:auto;padding:clamp(2.75rem,6vw,4.5rem) clamp(1rem,4vw,2.5rem);display:grid;gap:clamp(1.75rem,3.5vw,2.5rem)}

/* header: title and lede on the left, the one button on the right */
.vg-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26rem);gap:clamp(1.75rem,4vw,3.5rem);align-items:center}
.vg-intro{display:grid;gap:.75rem;justify-items:start}
.vg-kick{font-family:var(--vg-accent);font-weight:600;font-size:var(--t-3,.875rem);line-height:1.6;letter-spacing:.14em;text-transform:uppercase;color:var(--vg-gold-300)}   /* 9.6 on navy-700 */
.vg-h{font-family:var(--vg-display);font-weight:400;font-size:clamp(1.75rem,5.2vw,3.4375rem);line-height:1.1;letter-spacing:-.005em;color:var(--vg-paper);text-wrap:balance}   /* the site's section title (Get Involved, Dallas, the county); paper on navy-700 15.4 */
.vg-lede{max-width:60ch;font-size:var(--t-7,1.25rem);line-height:1.5;text-wrap:balance}   /* the site's lead (the county, the punch card); navy-100 on navy-700 12.4 */
.vg-cta{margin-top:.5rem}
.vg-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:0 1.35rem;border:1.5px solid var(--vg-gold-500);border-radius:3px;
  background:var(--vg-gold-500);color:var(--vg-navy-900);font-family:var(--vg-accent);font-weight:600;font-size:1.0625rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none;white-space:nowrap;box-shadow:0 8px 18px -12px rgba(209,149,43,.9);transition:background-color .15s,border-color .15s,translate .15s}   /* 7.1 */
.vg-btn:hover{background:var(--vg-gold-300);border-color:var(--vg-gold-300);translate:0 -1px}
.vg-ne{width:16px;height:16px;flex:none}


/* the date board: a cream card so the dates are the first thing you see */
.vg-board{position:relative;display:grid;gap:.55rem;padding:1.4rem 1.4rem 1.25rem;border-radius:3px;background:var(--vg-cream);color:var(--vg-charcoal);
  box-shadow:0 0 0 2px var(--vg-paper),0 0 0 5px var(--vg-gold-500),0 24px 40px -18px rgba(0,0,0,.6);margin:5px}
.vg-bk{font-family:var(--vg-accent);font-weight:600;font-size:.875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--vg-red-500)}   /* 6.6 on cream */
.vg-big{font-family:var(--vg-display);font-weight:400;font-size:clamp(1.625rem,3.6vw,2.75rem);line-height:1;color:var(--vg-navy-700);white-space:nowrap}   /* a step under the section title; navy-700 on cream 13.3 */
.vg-status{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:1rem;color:var(--vg-navy-700)}
.vg-dot{width:10px;height:10px;flex:none;border-radius:50%;background:var(--vg-gold-500);box-shadow:0 0 0 2px var(--vg-cream),0 0 0 3px var(--vg-gold-700)}
.ca-vg[data-vg-now="open"] .vg-dot{background:#2A541E;box-shadow:0 0 0 2px var(--vg-cream),0 0 0 3px #2A541E;animation:vg-pulse 1.8s ease-out 3}   /* forest: open right now */
.ca-vg[data-vg-now="shut"] .vg-dot{background:var(--vg-limestone);box-shadow:0 0 0 2px var(--vg-cream),0 0 0 3px #8A93A6}
@keyframes vg-pulse{0%{box-shadow:0 0 0 2px var(--vg-cream),0 0 0 3px #2A541E}70%{box-shadow:0 0 0 2px var(--vg-cream),0 0 0 9px rgba(42,84,30,0)}}
.vg-cal{width:100%;border-collapse:separate;border-spacing:4px;margin:.2rem -4px 0;table-layout:fixed}
.vg-cal th{padding:0 0 .1rem;font-family:var(--vg-accent);font-weight:600;font-size:.75rem;letter-spacing:.12em;color:var(--vg-charcoal)}
.vg-cal abbr{text-decoration:none}
.vg-cal td{position:relative;height:3.1rem;padding:.3rem .1rem .25rem;border-radius:3px;text-align:center;vertical-align:top;font-family:var(--vg-accent);line-height:1.05}
.vg-cal td b{display:block;font-family:var(--vg-display);font-weight:400;font-size:1.125rem;line-height:1.1}
.vg-cal td span[aria-hidden]{display:block;margin-top:.15rem;font-weight:600;font-size:.6875rem;letter-spacing:.02em}
.vg-cal td>span:not(.vg-sr){display:block;margin-top:.15rem;font-weight:600;font-size:.6875rem}
.vg-open{background:#FFFFFF;color:var(--vg-navy-700);box-shadow:inset 0 0 0 1px var(--vg-limestone)}   /* navy-700 15.9 on white */
.vg-closed{background:repeating-linear-gradient(135deg,transparent 0 5px,rgba(138,147,166,.18) 5px 6px);color:#5A6377}   /* 5.6 on cream */
.vg-out{background:none}
.vg-cal td.is-past{background:transparent;box-shadow:inset 0 0 0 1px rgba(201,207,219,.7);color:#5A6377}
.vg-cal td.is-past b{text-decoration:line-through;text-decoration-thickness:1.5px}
.vg-cal td.is-today{background:var(--vg-navy-700);color:var(--vg-paper);box-shadow:0 0 0 2px var(--vg-gold-500)}   /* paper 15.4 on navy-700 */
.vg-cal td.is-today::after{content:"Today";position:absolute;left:50%;top:-.62rem;translate:-50% 0;padding:.05rem .3rem;border-radius:2px;background:var(--vg-gold-500);color:var(--vg-navy-900);
  font-family:var(--vg-accent);font-weight:700;font-size:.5625rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.3}
.vg-bstar{position:absolute;top:.2rem;right:.22rem;display:flex;color:var(--vg-red-500)}.vg-bstar svg{width:9px;height:9px}
.vg-cal td.is-today .vg-bstar{color:var(--vg-gold-300)}
.vg-eday{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;padding-top:.7rem;margin-top:.2rem!important;border-top:1px dashed var(--vg-limestone);
  font-weight:600;font-size:.9375rem;color:var(--vg-navy-700)}
.vg-eday b{font-family:var(--vg-accent);font-weight:600;font-size:.8125rem;letter-spacing:.14em;text-transform:uppercase;color:var(--vg-red-500)}
.vg-board-ed .vg-status{color:var(--vg-charcoal);font-weight:500}

/* four cards */
.vg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.75rem,1.6vw,1.25rem);padding:0;list-style:none;counter-reset:none}
.vg-card{position:relative;display:flex;flex-direction:column;gap:.6rem;padding:1.4rem 1.25rem 1.3rem;border-radius:3px;background:var(--vg-navy-900);
  border:1px solid rgba(138,156,196,.25);border-top:3px solid var(--vg-gold-500)}
.vg-n{position:absolute;top:1.1rem;right:1.15rem;font-family:var(--vg-display);font-size:1.75rem;line-height:1;color:rgba(232,194,103,.28)}
.vg-ic{width:26px;height:26px;color:var(--vg-gold-300)}
.vg-t{font-family:var(--vg-display);font-weight:400;font-size:var(--t-8,1.5rem);line-height:1.15;letter-spacing:-.005em;color:var(--vg-paper)}   /* Alfa at 24px, the brand minimum */
.vg-card b{color:var(--vg-paper);font-weight:600}
.vg-list{display:grid;gap:.2rem;padding:0;list-style:none}
.vg-list li{display:flex;gap:.55rem;align-items:baseline}
.vg-list li::before{content:"";flex:none;width:8px;height:8px;translate:0 -1px;background:var(--vg-gold-500);
  clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.vg-small{font-size:var(--t-4,.9375rem);line-height:1.5;color:var(--vg-navy-100)}
.vg-dl{display:grid;gap:.7rem}
.vg-dl dt{font-family:var(--vg-accent);font-weight:600;font-size:var(--t-2,.8125rem);letter-spacing:.12em;text-transform:uppercase;color:var(--vg-gold-300)}
.vg-dl dd{font-size:var(--t-4,.9375rem);line-height:1.5}
.vg-nw{white-space:nowrap}
.vg-links{margin-top:auto;padding-top:.35rem}
.vg-link{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;font-family:var(--vg-accent);font-weight:600;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--vg-paper);text-decoration:none}
.vg-link span{text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--vg-gold-500);text-underline-offset:.3em}
.vg-link .vg-ne{width:14px;height:14px;color:var(--vg-gold-300);transition:translate .15s}
.vg-link:hover{color:var(--vg-gold-300)}
.vg-link:hover .vg-ne,.vg-btn:hover .vg-ne{translate:2px -2px}

/* tip and sources */
.vg-tip{display:flex;gap:.75rem;align-items:flex-start;padding:1rem 1.15rem;border-radius:3px;background:rgba(209,149,43,.1);border-left:3px solid var(--vg-gold-500);font-size:1rem}
.vg-tip b{color:var(--vg-paper);font-weight:600}
.vg-tip>span:last-child{text-wrap:balance}   /* even lines: no short orphan line */
.vg-star{flex:none;display:flex;color:var(--vg-gold-500);padding-top:.2rem}.vg-star svg{width:14px;height:14px}
.vg-src{font-size:.8125rem;line-height:1.5;color:#B8C3D9;margin-top:-.75rem!important}   /* 9.1 on navy-700 */
.vg-src-link{white-space:nowrap;color:var(--vg-paper);text-decoration:underline;text-decoration-color:var(--vg-gold-500);text-underline-offset:.2em}
.vg-src-link .vg-ne{display:inline-block;width:11px;height:11px;margin-left:.2em;vertical-align:-1px}   /* inline: the site makes svg a block, which dropped the arrow and the full stop onto lines of their own */
.ca-vg a:focus-visible{outline:3px solid var(--vg-gold-500);outline-offset:3px}

@media (max-width:1060px){.vg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.vg-head{grid-template-columns:minmax(0,1fr)}.vg-board{max-width:30rem}}
@media (max-width:600px){.vg-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.vg-btn{width:100%}.vg-cta{width:100%}.vg-cta>span{display:block}.vg-board{padding:1.2rem 1rem 1.1rem}.vg-cal{border-spacing:3px}.vg-cal td span[aria-hidden]{font-size:.625rem}}
@media (prefers-reduced-motion:reduce){.ca-vg *{transition:none!important;animation:none!important}.ca-vg a:hover,.ca-vg a:hover .vg-ne{translate:none}}
