
/* dates-extra.css */
.dates-upgraded{position:relative;margin-top:18px;padding-top:10px}
.dates-upgraded .dates-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}
.dates-upgraded .dates-heading-copy{display:grid;gap:7px}
.dates-upgraded .dates-heading-accent{width:72px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--accent),rgba(43,139,213,.2))}
.dates-upgraded .section-title{margin:0!important}
.date-timeline{position:relative;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}
.date-timeline::before{content:"";position:absolute;left:6%;right:6%;top:55px;height:1px;background:#dbe6ef;z-index:0}
.date-stop{position:relative;z-index:1;display:grid;grid-template-rows:auto 1fr;min-height:190px;padding:16px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:var(--card)!important;box-shadow:0 9px 26px rgba(15,52,88,.07)!important;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.date-stop:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(15,52,88,.12)!important;border-color:#b8cfe2!important}
.date-stop-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:18px}
.date-calendar{display:flex;align-items:stretch;min-width:86px;height:74px;border:1px solid #cbd9e4;border-radius:12px;background:#f6f9fc;overflow:hidden}
.date-calendar-month{display:flex;align-items:center;justify-content:center;width:30px;padding:4px;background:#e9f1f8;color:#4f6e88;font-size:10px;font-weight:900;letter-spacing:.11em;writing-mode:vertical-rl;transform:rotate(180deg)}
.date-calendar-day{display:flex;align-items:center;justify-content:center;min-width:54px;padding:0 9px;color:var(--navy);font-size:26px;font-weight:900;letter-spacing:-.035em;line-height:1}
.date-status{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:0 9px;border-radius:999px;background:#edf5fb;color:#50718d;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.date-stop.is-next{border-color:#5aa8df!important}
.date-stop.is-next .date-calendar{border-color:#1269a8;background:#1269a8}
.date-stop.is-next .date-calendar-month{background:#0e5b92;color:#dcedf8}
.date-stop.is-next .date-calendar-day{color:#fff}
.date-stop.is-next .date-status{background:#e1f1fb;color:#0d659f}
.date-stop-body{align-self:end}
.date-stop-body h3{margin:0 0 7px!important;color:var(--navy);font-size:16px!important;line-height:1.2}
.date-stop-body p{margin:0!important;color:var(--muted)!important;font-size:13px!important;line-height:1.45}
.date-stop-body .date-kind{display:block;margin-bottom:6px;color:#71869a;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
html[data-theme="dark"] .date-timeline::before{background:#284153}
html[data-theme="dark"] .date-calendar{background:#142431;border-color:#314b5f}
html[data-theme="dark"] .date-calendar-month{background:#1b3040;color:#bdd0df}
html[data-theme="dark"] .date-stop-body p{color:#b9cbd8!important}
html[data-theme="dark"] .date-status{background:#172b3a;color:#b9cfdf}
@media(max-width:900px){.date-timeline{grid-template-columns:repeat(2,minmax(0,1fr))!important}.date-timeline::before{display:none}}
@media(max-width:620px){.dates-upgraded{overflow:visible}.date-timeline{display:flex!important;overflow-x:auto;gap:12px!important;margin-right:-18px;padding:0 18px 9px 0;scroll-snap-type:x proximity;scrollbar-width:none}.date-timeline::-webkit-scrollbar{display:none}.date-stop{min-width:245px;scroll-snap-align:start}.dates-upgraded .dates-heading-row{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.date-stop{transition:none}.date-stop:hover{transform:none}}

/* header-controls.css */
@import url('ux-v8.css?v=20260823k');
@import url('ux-v9.css?v=20260823k');
@import url('news-v1.css?v=20260824a');
.header-controls{display:flex;align-items:center;gap:9px;margin-left:auto;position:relative;z-index:82}
.theme-icon-button{display:inline-grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--navy);cursor:pointer;box-shadow:0 4px 12px rgba(15,52,88,.05);transition:transform .16s ease,border-color .16s ease,background .16s ease}.theme-icon-button svg{width:18px;height:18px;display:block}.theme-icon-button:hover{transform:translateY(-1px);border-color:#adc8db;background:var(--soft)}.theme-icon-button:focus-visible{outline:3px solid #176ac4;outline-offset:3px}.menu-icon-button{border-radius:50%!important;box-shadow:0 4px 12px rgba(15,52,88,.05)}.menu-panel{top:var(--menu-top,84px)!important}html[data-theme="dark"] .theme-icon-button{background:#132531;color:#e4f2fd;border-color:#385064}html[data-theme="dark"] .theme-icon-button:hover{background:#1b3040;border-color:#58748a}@media(max-width:720px){.header-controls{margin-left:auto}.theme-icon-button,.menu-icon-button{width:40px;height:40px}.menu-panel{top:var(--mobile-menu-top,var(--menu-top,78px))!important}}@media(prefers-reduced-motion:reduce){.theme-icon-button{transition:none}.theme-icon-button:hover{transform:none}}

/* polish-v2.css */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400..700&display=swap');

/* Final density/readability pass for the voter guide. */

/* Cleaner typography: softer, thinner and more editorial than the original heavy UI type. */
html,body,button,select,input,textarea{font-family:"DM Sans",Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important}
body{font-weight:400;letter-spacing:-.006em}
.brand{font-weight:700!important;letter-spacing:-.025em!important}
.brand small{font-weight:600!important;letter-spacing:.095em!important}
h1,h2,h3,.candidate-body h3,.person-head b,.profile-head h2,.head h1,.person-select select,.title-name{font-family:"DM Sans",Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important}
h1,h2{font-weight:680!important;letter-spacing:-.032em!important}
.election-hero h1{font-weight:660!important;letter-spacing:-.045em!important}
.election-hero p{font-weight:400!important;letter-spacing:-.012em!important}
.hero-kicker,.eyebrow{font-weight:650!important;letter-spacing:.095em!important}
.hero-button{font-weight:650!important}
.hero-trust{font-weight:550!important}
.candidate-body h3{font-weight:650!important;letter-spacing:-.022em!important}
.candidate-body p,.issue-position,.profile-box ul,.conversation p{font-weight:400!important}
.person-select select{font-weight:600!important}
.section-title{font-weight:660!important}
.menu-link,.menu-support-link{font-weight:600!important}
.menu-panel-head{font-weight:650!important}
.date-stop-body h3,.profile-box h3,.issue-context h3{font-weight:650!important}

/* Keep all five candidate cards in one row on normal desktop widths. The old 3+2 wrap made the selected pointer point into another card. */
@media (min-width:721px){
  #candidateStrip.candidate-strip{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:11px!important}
  #candidateStrip .candidate-card{min-width:0!important}
  #candidateStrip .candidate-photo,#candidateStrip .photo-placeholder{height:clamp(122px,14vw,166px)!important}
  #candidateStrip .candidate-body{padding:11px 12px 13px!important;min-height:128px!important}
  #candidateStrip .candidate-body h3{font-size:clamp(15px,1.7vw,20px)!important;line-height:1.08!important;margin-bottom:8px!important}
  #candidateStrip .candidate-body p{font-size:clamp(12px,1.18vw,14px)!important;line-height:1.38!important}
  #candidateStrip .focus-label{font-size:10px!important}
}
@media (min-width:721px) and (max-width:900px){
  #candidateStrip .candidate-body{padding:10px!important;min-height:120px!important}
  #candidateStrip .candidate-body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  #candidateStrip .candidate-photo,#candidateStrip .photo-placeholder{height:118px!important}
  .profile{margin-top:18px!important}
}

/* The selected arrow belongs to the profile below, not the next grid row. */
#candidateStrip .candidate-card[aria-pressed="true"]::after{bottom:-12px!important;border-left-width:10px!important;border-right-width:10px!important;border-top-width:11px!important}

/* Candidate section needs almost no instructional copy. */
#candidates>.section-deck{display:none!important}

/* Reduce visual noise in explanations. */
.meaning-detail summary,.plain summary{font-size:12.5px!important;font-weight:600!important}
.site-independent-note{display:none!important}
.footer{display:none!important}

/* A calmer decorative Burlington map. */
.hero-map-card{transform:none!important;border-radius:24px!important;background:linear-gradient(150deg,#eef4e9 0 58%,#cfe3f0 59% 100%)!important}
.hero-map-grid{background-size:42px 42px!important;opacity:.7}
.hero-water{height:38%!important;bottom:-13%!important;transform:rotate(-3deg)!important}
.hero-place-dot{left:47%!important;top:49%!important;animation:place-pulse 3.4s ease-in-out infinite}
.hero-place-label{left:52%!important;top:43%!important}
.hero-candidate-count{left:18px!important;top:18px!important}
.hero-date-card{right:18px!important;top:18px!important}
.hero-voting-note{left:18px!important;bottom:18px!important}

/* Small ballot-box loop: thematic motion without turning the hero into an illustration. */
.hero-map-card::after{content:"";position:absolute;right:24px;bottom:24px;width:92px;height:54px;border-radius:10px 10px 13px 13px;background:linear-gradient(to bottom,#194f79 0 14px,#123f68 14px 100%);box-shadow:0 12px 24px rgba(18,63,104,.18);z-index:5}
.hero-map-card::before{content:"";position:absolute;right:48px;bottom:67px;width:43px;height:28px;border:1px solid rgba(19,63,104,.18);border-radius:4px;background:linear-gradient(#fff,#f7fafc);box-shadow:0 5px 12px rgba(18,63,104,.12);transform:translateY(-14px) rotate(-7deg);transform-origin:center;z-index:6;animation:ballot-drop 4.8s cubic-bezier(.45,.05,.28,1) infinite}
@keyframes ballot-drop{0%,18%{opacity:0;transform:translateY(-18px) rotate(-7deg)}28%{opacity:1}52%{opacity:1;transform:translateY(13px) rotate(-2deg)}58%,78%{opacity:0;transform:translateY(22px) rotate(0deg)}100%{opacity:0;transform:translateY(-18px) rotate(-7deg)}}
@keyframes place-pulse{0%,100%{box-shadow:0 4px 10px rgba(0,0,0,.17),0 0 0 0 rgba(217,62,59,.12)}50%{box-shadow:0 4px 10px rgba(0,0,0,.17),0 0 0 9px rgba(217,62,59,0)}}

/* Head-to-head: issue first, people on the sides, comparison first. */
body.h2h-polished main{padding-top:28px!important}
body.h2h-polished .head{display:block!important;text-align:center;margin:0 0 18px!important}
body.h2h-polished .head h1{font-size:clamp(31px,4vw,44px)!important;font-weight:660!important;margin:0!important}
body.h2h-polished .head p{display:none!important}
body.h2h-polished .match-grid{grid-template-columns:minmax(185px,240px) minmax(360px,1fr) minmax(185px,240px)!important;gap:14px!important}
body.h2h-polished .center{display:flex;flex-direction:column;padding:18px 20px!important}
body.h2h-polished .issue-picker{order:0;margin:0 auto 16px!important;width:min(100%,430px);max-width:none!important}
body.h2h-polished .issue-picker label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
body.h2h-polished .issue-picker .select-wrap select{background:#eef6fb!important;border-color:#b9d5e8!important;padding:9px 40px 9px 14px!important;font-size:13px!important;letter-spacing:.01em!important}
body.h2h-polished .title-row{display:none!important}
body.h2h-polished .compare{order:1;margin-top:0!important}
body.h2h-polished .bottom-strip{order:2}
body.h2h-polished .context{order:3;margin:14px 0 0!important;padding:11px 0 0!important;background:transparent!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important}
body.h2h-polished .context h2{font-size:12px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:var(--muted)!important;margin-bottom:4px!important}
body.h2h-polished .context p{font-size:12.5px!important;line-height:1.45!important;color:var(--muted)!important}
body.h2h-polished .person-card{padding:15px!important}
body.h2h-polished .person-photo,body.h2h-polished .person-placeholder{width:112px!important;height:112px!important;margin-bottom:12px!important}
body.h2h-polished .role{margin-bottom:10px!important}
body.h2h-polished .fact{padding:10px 0!important}
body.h2h-polished .fact p{font-size:13px!important}
body.h2h-polished .method-link{margin-top:14px!important}

@media(max-width:960px) and (min-width:761px){
  body.h2h-polished .match-grid{grid-template-columns:minmax(160px,195px) minmax(320px,1fr) minmax(160px,195px)!important;gap:10px!important}
  body.h2h-polished .person-card{padding:12px!important}
  body.h2h-polished .person-photo,body.h2h-polished .person-placeholder{width:88px!important;height:88px!important}
  body.h2h-polished .fact p{font-size:12px!important}
}
@media(max-width:760px){
  body.h2h-polished .match-grid{display:flex!important}
  body.h2h-polished .center{order:1!important}
  body.h2h-polished .person-card.left{order:2!important}
  body.h2h-polished .person-card.right{order:3!important}
}
@media(max-width:800px){
  .hero-map-card::after{right:18px;bottom:18px;width:80px;height:49px}
  .hero-map-card::before{right:39px;bottom:57px;width:39px;height:25px}
}
@media(max-width:520px){
  .hero-map-card::after,.hero-map-card::before{display:none}
}
@media(prefers-reduced-motion:reduce){
  .hero-map-card::before,.hero-place-dot{animation:none!important}
}

html[data-theme="dark"] .hero-map-card{background:linear-gradient(150deg,#203124 0 58%,#193649 59% 100%)!important}
html[data-theme="dark"] .hero-map-card::before{background:#edf4f8;border-color:#7894a9}

/* candidate-cleanup.css */
/* Reduce repeated labels and keep the candidate -> detail relationship obvious. */
.candidate-body .focus-label{display:block!important;margin:0 0 5px!important;color:#17212b!important;font-size:0!important;font-weight:700!important;line-height:1.2!important;letter-spacing:.015em!important;text-transform:none!important}
.candidate-body .focus-label::before{content:'Overview';font-size:11px!important}
html[data-theme="dark"] .candidate-body .focus-label{color:#edf3f7!important}
.candidate-body{min-height:116px!important;padding-top:12px!important}
.candidate-body h3{margin-bottom:7px!important}
.candidate-body p{line-height:1.38!important}

#profilePanel{padding-top:18px!important}
#profilePanel .profile-head{display:none!important}
#profilePanel .profile-grid{margin-top:0!important}
#profilePanel .profile-box{padding:15px!important}
#profilePanel .profile-box h3{margin-bottom:9px!important;font-size:15px!important;font-weight:700!important;color:#111827!important}
html[data-theme="dark"] #profilePanel .profile-box h3{color:#f3f6f8!important}
#profilePanel .profile-more{margin-top:12px!important;padding-top:12px!important}
#profilePanel .profile-more summary{font-size:14px!important}
#profilePanel .caveat,#profilePanel .discussion-caveat{margin:8px 0 0!important;color:var(--muted)!important;font-size:12px!important}

.source-disclosure{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.source-disclosure>summary{cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:var(--navy);font-size:13px;font-weight:800;list-style:none}
.source-disclosure>summary::-webkit-details-marker{display:none}
.source-disclosure>summary::after{content:'›';font-size:16px;line-height:1;transition:transform .16s ease}
.source-disclosure[open]>summary::after{transform:rotate(90deg)}
.source-disclosure .source-links{margin-top:9px!important}

@media(min-width:721px){.candidate-strip{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:11px!important}}
@media(max-width:1020px) and (min-width:721px){.candidate-strip{gap:9px!important}.candidate-photo,.photo-placeholder{height:142px!important}.candidate-body{padding:11px 11px 13px!important;min-height:112px!important}.candidate-body h3{font-size:17px!important;line-height:1.08!important}.candidate-body p{font-size:12.5px!important;line-height:1.34!important}}
@media(max-width:820px) and (min-width:721px){.candidate-photo,.photo-placeholder{height:128px!important}.candidate-body h3{font-size:16px!important}.candidate-body p{font-size:12px!important}}
@media(max-width:720px){.candidate-body{min-height:0!important}.candidate-body .focus-label::before{font-size:11px!important}}
@media(prefers-reduced-motion:reduce){.source-disclosure>summary::after{transition:none}}

/* branding-v3.css */
/* Civic branding refinement: lighter, calmer, more editorial. */
:root{--cream:#fbfaf6;--warm-line:#e7e2d8;--soft-blue:#eef6fb;--soft-blue-2:#f7fbfe;--accent-warm:#d99b2b}
body{font-weight:400;letter-spacing:-.005em}
.brand{font-weight:700!important;letter-spacing:-.015em!important}.brand small{font-weight:650!important}
h1,h2,h3{font-weight:670!important;letter-spacing:-.03em!important}
.section-title{font-weight:660!important}

/* Hero: premium and restrained rather than dashboard-like. */
.election-hero{min-height:520px!important;padding-top:68px!important;padding-bottom:72px!important;gap:72px!important}
.election-hero::before{background:linear-gradient(135deg,#fcfbf7 0%,#f7f9fb 62%,#eef5fa 100%)!important}
.election-hero::after{opacity:.55}
.election-hero h1{font-size:clamp(46px,5.7vw,70px)!important;font-weight:650!important;line-height:1.01!important;letter-spacing:-.046em!important;max-width:700px!important}
.election-hero p{font-size:clamp(17px,1.7vw,20px)!important;line-height:1.52!important;max-width:560px!important;color:#607386!important}
.hero-kicker{font-weight:700!important;letter-spacing:.09em!important;color:#50738e!important}
.hero-kicker-dot{background:var(--accent-warm)!important;box-shadow:0 0 0 5px rgba(217,155,43,.09)!important}
.hero-actions{margin-top:27px!important}.hero-button{font-weight:650!important;border-radius:999px!important;padding-inline:20px!important;box-shadow:none!important}.hero-button-primary{background:#0f4772!important}.hero-button-secondary{background:rgba(255,255,255,.72)!important}
.hero-trust{margin-top:20px!important;font-weight:600!important;color:#778897!important}.hero-trust span::before{background:#edf5ef!important;color:#47735a!important}
.hero-map-card{max-width:450px!important;border-radius:30px!important;box-shadow:0 26px 60px rgba(30,65,90,.12)!important;border-color:#d9e1e6!important;background-color:#dbe9ef!important;background-image:url('/db00c009-e70d-404d-a8dd-45c6153cff6f.png')!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.hero-map-grid{opacity:.42!important;background-size:46px 46px!important}.hero-place-label,.hero-candidate-count,.hero-date-card,.hero-voting-note{box-shadow:0 8px 24px rgba(27,65,91,.09)!important}
.hero-place-label{background:rgba(255,255,255,.88)!important}.hero-candidate-count{background:rgba(255,255,255,.88)!important}.hero-date-card{background:#164f78!important}.hero-voting-note{background:#fffaf0!important}

/* One small custom moment: a ballot periodically drops into a box. */
.hero-ballot-box{position:absolute;right:38px;bottom:42px;width:74px;height:55px;border:2px solid rgba(15,71,114,.55);border-radius:12px;background:rgba(255,255,255,.82);box-shadow:0 8px 20px rgba(30,65,90,.08)}
.hero-ballot-box::before{content:"";position:absolute;left:16px;right:16px;top:9px;height:3px;border-radius:99px;background:rgba(15,71,114,.45)}
.hero-ballot{position:absolute;left:50%;top:-34px;width:31px;height:24px;border:1px solid #d8c995;border-radius:4px;background:#fffaf0;transform:translateX(-50%) rotate(-4deg);animation:ballotDrop 6.2s cubic-bezier(.65,.05,.36,1) infinite;box-shadow:0 4px 10px rgba(62,55,28,.08)}
.hero-ballot::before{content:"✓";position:absolute;left:8px;top:1px;color:#2f7655;font-size:14px;font-weight:700}
.hero-place-dot{animation:pinPulse 3.8s ease-out infinite}
@keyframes ballotDrop{0%,60%{transform:translate(-50%,-18px) rotate(-4deg);opacity:0}66%{opacity:1}76%{transform:translate(-50%,38px) rotate(2deg);opacity:1}82%,100%{transform:translate(-50%,42px) rotate(2deg);opacity:0}}
@keyframes pinPulse{0%,55%,100%{box-shadow:0 4px 10px rgba(0,0,0,.14),0 0 0 0 rgba(217,62,59,.18)}70%{box-shadow:0 4px 10px rgba(0,0,0,.14),0 0 0 11px rgba(217,62,59,0)}}

/* Candidates: images + one sentence. Less UI chrome. */
.landing-home #candidates{padding-top:66px!important}
#candidates>.section-title{margin-bottom:24px!important;font-size:clamp(31px,3.7vw,42px)!important}
#candidateStrip{gap:14px!important}
#candidateStrip .candidate-card{border-radius:22px!important;border-width:1px!important;border-color:#e3e8ed!important;box-shadow:0 8px 24px rgba(20,54,79,.055)!important;background:rgba(255,255,255,.94)!important}
#candidateStrip .candidate-card[aria-pressed="true"]{border-color:#62a8d7!important;box-shadow:0 10px 28px rgba(31,98,145,.10)!important}
#candidateStrip .candidate-photo,#candidateStrip .photo-placeholder{border-radius:21px 21px 0 0!important;height:172px!important}
#candidateStrip .candidate-body{padding:15px 16px 18px!important;min-height:132px!important}
#candidateStrip .candidate-body h3{font-size:18px!important;font-weight:660!important;line-height:1.08!important;letter-spacing:-.025em!important;margin-bottom:8px!important}
#candidateStrip .candidate-body .focus-label{display:none!important}
#candidateStrip .candidate-body p{font-size:13.5px!important;line-height:1.43!important;color:#526a7e!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
#candidateStrip .candidate-card:hover{transform:translateY(-3px)!important;box-shadow:0 14px 30px rgba(20,54,79,.09)!important}

/* Selected candidate: the card + arrow already provide identity, so show only the useful content. */
#profilePanel{margin-top:22px!important;padding:18px!important;border-radius:20px!important;box-shadow:0 7px 24px rgba(20,54,79,.05)!important}
#profilePanel .profile-head{display:none!important}
#profilePanel .profile-grid{margin-top:0!important;gap:12px!important}
#profilePanel .profile-box{border-radius:15px!important;background:var(--soft-blue-2)!important;padding:16px!important}
#profilePanel .profile-box h3{font-size:13px!important;font-weight:700!important;letter-spacing:.01em!important;margin-bottom:9px!important}
#profilePanel .profile-box ul{font-size:13.5px!important;line-height:1.45!important}
#profilePanel .profile-more{margin-top:12px!important;padding-top:12px!important}
#profilePanel .profile-more summary{font-size:13px!important;font-weight:650!important}
#profilePanel .source-links{margin-top:10px!important}
#profilePanel .source-links a{font-size:12.5px!important;font-weight:600!important}

/* Issues should feel like the actual tool, not another content card. */
#matters{margin-top:64px!important}.matters{padding:28px!important;border-radius:24px!important;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;box-shadow:0 15px 42px rgba(21,58,86,.065)!important}
.matters-head{align-items:center!important;margin-bottom:22px!important}.matters-head h2{font-size:clamp(31px,3.9vw,44px)!important;font-weight:650!important}.matters .field{min-width:285px!important}.matters .select-wrap select{border-radius:999px!important;background:#f7fbfe!important;border-color:#c8dce9!important;padding:11px 42px 11px 16px!important;font-size:13.5px!important;font-weight:600!important}
.issue-context{margin:0 0 18px!important;padding:0 0 15px!important;border:0!important;border-bottom:1px solid var(--line)!important;background:transparent!important;border-radius:0!important}.issue-context h3{font-size:13px!important;font-weight:700!important;margin-bottom:3px!important}.issue-context p{font-size:13px!important;color:var(--muted)!important;line-height:1.45!important;max-width:860px}.issue-context a{font-size:12px!important;margin-top:5px!important;font-weight:600!important}
.issue-list{gap:10px!important}.issue-person{position:relative;border-radius:17px!important;border-color:#dfe7ed!important;padding:15px!important;background:#fff!important;box-shadow:0 4px 14px rgba(20,54,79,.035)}
.issue-person .person-head{margin-bottom:12px!important}.issue-person .mini-photo,.issue-person .mini-placeholder{width:38px!important;height:38px!important}.issue-person .person-head b{font-size:13px!important;font-weight:650!important}.issue-position{font-size:13px!important;line-height:1.45!important;color:#455e72!important}.meaning-detail summary{font-size:12px!important;font-weight:650!important;color:#55728a!important}.meaning-detail p{font-size:12.5px!important;line-height:1.45!important}.h2h-link{margin-top:18px!important;border-radius:999px!important;padding:10px 16px!important;font-size:13px!important;font-weight:650!important;background:#0f4772!important}

/* Keep the rest of the page quieter than the comparison tool. */
.dates-upgraded .section-title{font-weight:650!important}.date-stop{box-shadow:0 6px 20px rgba(20,54,79,.045)!important}.date-stop-body h3{font-weight:650!important}.method{box-shadow:none!important}.site-legal-footer{font-weight:400!important}

html[data-theme="dark"] .election-hero::before{background:linear-gradient(135deg,#0d171f 0%,#101c25 62%,#122633 100%)!important}
html[data-theme="dark"] .election-hero p{color:#b4c4d0!important}
html[data-theme="dark"] .hero-map-card{background-color:#1b3544!important;background-image:url('/db00c009-e70d-404d-a8dd-45c6153cff6f.png')!important;background-size:cover!important;background-position:center!important}
html[data-theme="dark"] #candidateStrip .candidate-card{background:var(--card)!important;border-color:var(--line)!important}
html[data-theme="dark"] #candidateStrip .candidate-body p{color:#b7c8d5!important}
html[data-theme="dark"] #profilePanel .profile-box{background:#12232f!important}
html[data-theme="dark"] .matters{background:linear-gradient(180deg,#111f2a 0%,#0f1c25 100%)!important}
html[data-theme="dark"] .issue-person{background:#12232f!important;border-color:#29404f!important}

@media(max-width:1020px) and (min-width:721px){#candidateStrip .candidate-photo,#candidateStrip .photo-placeholder{height:140px!important}#candidateStrip .candidate-body{padding:12px 12px 15px!important;min-height:122px!important}#candidateStrip .candidate-body h3{font-size:16px!important}#candidateStrip .candidate-body p{font-size:12px!important}.election-hero{gap:38px!important}.hero-map-card{max-width:390px!important}.hero-ballot-box{display:none}}
@media(max-width:800px){.election-hero{padding-top:52px!important;padding-bottom:58px!important;gap:30px!important}.hero-visual{opacity:.92}.matters{padding:22px!important}.issue-list{gap:12px!important}}
@media(max-width:720px){.election-hero h1{font-size:45px!important}.election-hero p{font-size:17px!important}.hero-trust{gap:10px!important}.hero-map-card{border-radius:22px!important}.hero-ballot-box{display:none}#candidateStrip .candidate-card{border-radius:18px!important;min-width:225px!important}#candidateStrip .candidate-photo,#candidateStrip .photo-placeholder{height:158px!important;border-radius:17px 17px 0 0!important}#candidateStrip .candidate-body{padding:13px 14px 16px!important}.matters-head{align-items:flex-start!important}.matters .field{min-width:0!important}}
@media(prefers-reduced-motion:reduce){.hero-ballot,.hero-place-dot{animation:none!important}}

/* ux-v4.css */
/* UX v4: mobile flow, real map treatment, menu connection, cleaner civic cards */

/* Hero map now uses real map imagery instead of a fake illustrated map. */
.hero-map-card{position:relative!important;background-image:linear-gradient(rgba(255,255,255,.03),rgba(255,255,255,.03)),url('https://staticmap.openstreetmap.de/staticmap.php?center=43.3255,-79.7990&zoom=12&size=900x700&maptype=mapnik')!important;background-size:cover!important;background-position:center!important;overflow:hidden!important}
.hero-map-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,33,50,.02),rgba(9,33,50,.12));pointer-events:none;z-index:1}
.hero-map-grid,.hero-water,.hero-place-label,.hero-lake-label,.hero-candidate-count,.hero-ballot-box{display:none!important}
.hero-place-dot{z-index:3!important;left:48%!important;top:54%!important;width:18px!important;height:18px!important;border:4px solid #fff!important;background:#d44a43!important;box-shadow:0 4px 14px rgba(0,0,0,.24)!important}
.hero-date-card,.hero-voting-note,.hero-candidate-slide,.map-credit{z-index:4!important}
.hero-date-card{right:18px!important;top:18px!important;background:rgba(10,61,98,.92)!important;backdrop-filter:blur(6px)}
.hero-voting-note{left:18px!important;bottom:18px!important;background:rgba(255,250,240,.94)!important;backdrop-filter:blur(5px)}
.hero-candidate-slide{position:absolute;left:18px;top:18px;display:flex;align-items:center;gap:9px;max-width:210px;padding:9px 11px;border-radius:13px;background:rgba(255,255,255,.94);box-shadow:0 8px 22px rgba(24,56,78,.16);color:#153b5e;transition:opacity .2s ease,transform .2s ease}
.hero-candidate-slide.is-changing{opacity:0;transform:translateY(-5px)}
.hero-candidate-slide img,.hero-candidate-slide .hero-candidate-initials{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.hero-candidate-slide .hero-candidate-initials{display:grid;place-items:center;background:#e9f0f5;color:#597187;font-size:11px;font-weight:750}
.hero-candidate-slide span{font-size:12.5px;font-weight:650;line-height:1.15}
.map-credit{position:absolute;right:8px;bottom:6px;padding:2px 5px;border-radius:5px;background:rgba(255,255,255,.82);color:#526879;font-size:8px;line-height:1.2}

/* Main issue explorer: remove generic tax explainer from the first layer. */
.landing-home #issueContext{display:none!important}
.landing-home .matters-head{margin-bottom:18px!important}
.landing-home .issue-list{border-top:1px solid var(--line);padding-top:18px}

/* Headings inside information cards should read as story labels, not metadata. */
#profilePanel .profile-box h3,.bottom-box b,.fact b{color:#111827!important;font-size:15px!important;line-height:1.2!important;font-weight:700!important;letter-spacing:-.01em!important;text-transform:none!important}
html[data-theme="dark"] #profilePanel .profile-box h3,html[data-theme="dark"] .bottom-box b,html[data-theme="dark"] .fact b{color:#f2f6f9!important}

/* Connect the drawer visually to the actual hamburger control. */
.menu-panel{right:max(18px,calc((100vw - 1180px)/2 + 22px))!important;width:min(330px,calc(100vw - 28px))!important;border-radius:16px!important;overflow:visible!important}
.menu-panel::before{content:"";position:absolute;right:16px;top:-8px;width:15px;height:15px;background:var(--card);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg);z-index:-1}
.menu-support-link{gap:10px!important}
.menu-support-icon{width:19px;height:19px;display:grid;place-items:center;flex:0 0 auto;color:var(--muted)}
.menu-support-icon svg{width:18px;height:18px;display:block}

/* Mobile candidate carousel: center candidate becomes selected and clearly connects to detail panel. */
@media(max-width:720px){
  .landing-home .election-hero{padding-top:38px!important;padding-bottom:40px!important}
  .landing-home .hero-visual{margin-top:4px;width:100%}
  .landing-home .hero-map-card{width:100%!important;aspect-ratio:1.28/1!important;min-height:0!important}
  .hero-date-card{right:12px!important;top:12px!important;min-width:96px!important;padding:10px!important}
  .hero-candidate-slide{left:12px;top:12px;max-width:165px;padding:7px 9px}
  .hero-candidate-slide img,.hero-candidate-slide .hero-candidate-initials{width:28px;height:28px}
  .hero-candidate-slide span{font-size:11.5px}
  .hero-voting-note{left:12px!important;bottom:12px!important;padding:8px 10px!important}
  .map-credit{font-size:7px}

  #candidateStrip{padding-inline:calc((100vw - 76vw)/2)!important;gap:14px!important;scroll-padding-inline:calc((100vw - 76vw)/2)!important;scroll-snap-type:x mandatory!important}
  #candidateStrip .candidate-card{min-width:76vw!important;max-width:76vw!important;scroll-snap-align:center!important;scroll-snap-stop:always!important;opacity:.72;transform:scale(.96);transition:opacity .2s ease,transform .2s ease,border-color .2s ease}
  #candidateStrip .candidate-card[aria-pressed="true"]{opacity:1;transform:scale(1);border-color:#65aee0!important}
  #candidateStrip .candidate-card[aria-pressed="true"]::after{display:block!important;bottom:-13px!important;border-left-width:12px!important;border-right-width:12px!important;border-top-width:12px!important}
  #profilePanel{margin-top:20px!important;position:relative}
  #profilePanel::before{content:"";position:absolute;top:-11px;left:50%;transform:translateX(-50%);border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:11px solid var(--line)}
  #profilePanel::after{content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%);border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid var(--card)}
  #profilePanel .profile-grid{display:grid!important;grid-template-columns:1fr!important}
  #profilePanel .profile-box{padding:18px!important}

  .menu-panel{right:12px!important;top:72px!important;width:min(330px,calc(100vw - 24px))!important}
  .menu-panel::before{right:17px}
}

/* Tablet: do not force tiny five-column text. */
@media(min-width:721px) and (max-width:1050px){
  #candidateStrip{display:flex!important;overflow-x:auto!important;scroll-snap-type:x proximity!important;padding-bottom:14px!important}
  #candidateStrip .candidate-card{min-width:220px!important;max-width:220px!important;scroll-snap-align:start!important}
  #candidateStrip .candidate-body p{font-size:13px!important}
}

@media(prefers-reduced-motion:reduce){.hero-candidate-slide,#candidateStrip .candidate-card{transition:none!important}}

/* ux-v5.css */
/* UX v5: reduce hero copy, keep full candidate cards visible, simplify selection hierarchy */

/* Hero is now just the core promise + actions. */
.landing-home .election-hero{min-height:470px!important;padding-top:58px!important;padding-bottom:58px!important}
.landing-home .hero-copy{align-self:center}
.landing-home .hero-copy .hero-kicker,
.landing-home .hero-copy>p{display:none!important}
.landing-home .election-hero h1{max-width:650px!important;margin-bottom:24px!important}
.landing-home .hero-actions{margin-top:0!important}
.landing-home .hero-trust{margin-top:18px!important}

/* Candidate cards should always read as complete cards, not cropped image tiles. */
#candidateStrip{align-items:stretch!important}
#candidateStrip .candidate-card{display:flex!important;flex-direction:column!important;height:auto!important;min-height:330px!important;overflow:visible!important}
#candidateStrip .candidate-photo,
#candidateStrip .photo-placeholder{flex:0 0 auto!important;height:178px!important}
#candidateStrip .candidate-body{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-height:142px!important;padding:15px 16px 18px!important}
#candidateStrip .candidate-body h3{min-height:42px!important;margin-bottom:8px!important}
#candidateStrip .candidate-body p{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;margin-top:auto!important}

/* Selected card gets a simple connection to the panel below. */
#candidateStrip .candidate-card[aria-pressed="true"]{position:relative!important}
#candidateStrip .candidate-card[aria-pressed="true"]::after{content:"";position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);border-left:11px solid transparent;border-right:11px solid transparent;border-top:12px solid #62a8d7;z-index:4}

/* Remove unnecessary generic heading repetition inside the selected profile. */
#profilePanel .profile-head{display:none!important}
#profilePanel .profile-grid{margin-top:0!important}
#profilePanel .profile-box h3{font-size:16px!important;font-weight:750!important;color:#111827!important;letter-spacing:-.015em!important}
html[data-theme="dark"] #profilePanel .profile-box h3{color:#f4f7fa!important}

/* Keep map card crisp and proportional. */
.hero-map-card{aspect-ratio:1.18/1!important;min-height:0!important}
.hero-candidate-slide{max-width:220px!important}

@media(min-width:1051px){
  #candidateStrip{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px!important;overflow:visible!important}
  #candidateStrip .candidate-card{min-width:0!important;max-width:none!important}
}

@media(min-width:721px) and (max-width:1050px){
  #candidateStrip{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;gap:14px!important;padding-bottom:15px!important}
  #candidateStrip .candidate-card{min-width:245px!important;max-width:245px!important;scroll-snap-align:start!important}
  #candidateStrip .candidate-photo,#candidateStrip .photo-placeholder{height:165px!important}
  #candidateStrip .candidate-body p{font-size:13px!important}
}

@media(max-width:720px){
  .landing-home .election-hero{min-height:0!important;padding-top:34px!important;padding-bottom:38px!important}
  .landing-home .election-hero h1{font-size:42px!important;margin-bottom:22px!important}
  .landing-home .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .landing-home .hero-button{width:100%!important;justify-content:center!important}
  .landing-home .hero-trust{display:flex!important;gap:9px!important;flex-wrap:wrap!important}
  #candidateStrip .candidate-card{min-width:78vw!important;max-width:78vw!important;min-height:390px!important}
  #candidateStrip .candidate-photo,#candidateStrip .photo-placeholder{height:225px!important}
  #candidateStrip .candidate-body{min-height:150px!important;padding:16px 18px 19px!important}
  #candidateStrip .candidate-body h3{min-height:auto!important;font-size:22px!important}
  #candidateStrip .candidate-body p{font-size:16px!important;line-height:1.45!important;margin-top:12px!important}
  .hero-map-card{aspect-ratio:1.22/1!important}
}

/* ux-v6.css */
/* UX v6: compact drawer, 30-second daily brief, and ballot explorer */

/* Drawer should feel attached to the hamburger, not like a modal sheet. */
.menu-panel{width:310px!important;max-width:calc(100vw - 24px)!important;right:max(14px,calc((100vw - 1180px)/2 + 22px))!important;padding:10px!important;border-radius:14px!important;box-shadow:0 18px 44px rgba(8,30,47,.22)!important}
.menu-panel-head{padding:7px 8px 8px!important;font-size:10px!important;letter-spacing:.12em!important}
.menu-primary,.menu-support{gap:2px!important}
.menu-link,.menu-support-link{min-height:42px!important;padding:8px 9px!important;border-radius:9px!important;font-size:14px!important}
.menu-link:hover,.menu-support-link:hover{background:var(--soft)!important;text-decoration:none!important}
.menu-separator{margin:7px 4px!important}
.menu-panel::before{right:17px!important;top:-7px!important;width:13px!important;height:13px!important}

/* Source methodology now has its own page. */
.landing-home #method,.landing-home .method{display:none!important}

/* Homepage 30-second brief */
.daily-brief{margin:0 auto 58px;padding:0;max-width:1180px}
.daily-brief-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}
.daily-brief-title-wrap{display:grid;gap:4px}
.daily-brief-kicker{font-size:11px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;color:#5c788e}
.daily-brief h2{font-size:clamp(28px,3.5vw,38px)!important;margin:0!important;font-weight:650!important}
.daily-brief-meta{font-size:12px;color:var(--muted);white-space:nowrap}
.daily-brief-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.brief-card{display:flex;flex-direction:column;min-height:206px;padding:17px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 6px 22px rgba(20,54,79,.045);text-decoration:none}
.brief-tag{display:inline-flex;align-self:flex-start;padding:4px 8px;border-radius:999px;background:#eef6fb;color:#386582;font-size:10px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}
.brief-card h3{margin:13px 0 7px;font-size:18px!important;line-height:1.16!important;font-weight:680!important;color:var(--navy)}
.brief-card p{margin:0;color:#50687c;font-size:13.5px;line-height:1.45}
.brief-why{margin-top:auto!important;padding-top:13px;color:#2f5069!important;font-size:12.5px!important;font-weight:600}
.daily-brief-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px}
.daily-brief-footer p{margin:0;color:var(--muted);font-size:12px}
.daily-brief-footer a{font-size:13px;font-weight:650;color:var(--navy)}

/* Your ballot quick explorer */
.ballot-quick{margin:58px 0;padding:24px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,var(--card),var(--soft-blue-2));box-shadow:0 10px 32px rgba(20,54,79,.055)}
.ballot-quick-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:18px}
.ballot-quick h2{margin:0!important;font-size:clamp(28px,3.5vw,38px)!important;font-weight:650!important}
.ballot-quick p{margin:5px 0 0;color:var(--muted);font-size:14px}
.ward-select{min-width:190px;padding:10px 38px 10px 13px;border:1px solid #bfd2df;border-radius:999px;background:var(--card);color:var(--ink)}
.ballot-grid{display:grid;grid-template-columns:1fr 1.25fr 1.25fr;gap:11px}
.ballot-block{padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--card)}
.ballot-block small{display:block;margin-bottom:7px;color:#648096;font-size:10px;font-weight:750;letter-spacing:.07em;text-transform:uppercase}
.ballot-block b{display:block;font-size:16px;color:var(--navy);margin-bottom:8px}
.ballot-names{display:flex;gap:6px;flex-wrap:wrap}
.ballot-name{padding:5px 8px;border-radius:999px;background:var(--soft);font-size:12px;color:#3f5d73}
.ballot-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.ballot-actions a{font-size:13px;font-weight:650;color:var(--navy)}

/* Dedicated updates / ballot pages */
.content-shell{max-width:980px;margin:0 auto;padding:44px 22px 64px}
.content-shell h1{font-size:clamp(38px,5vw,56px)!important;font-weight:650!important;margin-bottom:12px!important}
.content-lead{max-width:720px;margin:0 0 30px;color:var(--muted);font-size:17px;line-height:1.55}
.update-list{display:grid;gap:12px}.update-item{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.update-item-top{display:flex;justify-content:space-between;gap:14px;align-items:start}.update-item h2{font-size:20px!important;margin:4px 0 8px!important}.update-item time{font-size:12px;color:var(--muted)}
.update-item p{margin:0 0 9px;color:#50687c}.update-item .why{font-size:13px;font-weight:600;color:#31516a}.update-item a{font-size:13px;font-weight:650;color:var(--navy)}
.ballot-page-controls{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.ballot-page-controls label{font-size:12px;font-weight:700;color:#5d778c}.ballot-page-controls select{display:block;margin-top:5px;padding:10px 38px 10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}
.ballot-section{margin-bottom:18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.ballot-section h2{font-size:22px!important;margin:0 0 5px!important}.ballot-section>p{margin:0 0 14px;color:var(--muted);font-size:13px}.ballot-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ballot-person{padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:var(--soft-blue-2);font-size:14px;font-weight:600;color:var(--navy)}

html[data-theme="dark"] .brief-tag{background:#173042;color:#b9d6e8}
html[data-theme="dark"] .brief-card,html[data-theme="dark"] .ballot-block,html[data-theme="dark"] .update-item,html[data-theme="dark"] .ballot-section{background:var(--card)}
html[data-theme="dark"] .ballot-quick{background:linear-gradient(180deg,#111f2a,#0f1d27)}
html[data-theme="dark"] .ballot-person{background:#132632}

@media(max-width:760px){
  .menu-panel{width:286px!important;right:10px!important;top:68px!important;padding:8px!important}
  .menu-panel::before{right:15px!important}
  .menu-panel-head{padding-left:7px!important}
  .menu-link,.menu-support-link{min-height:40px!important;font-size:14px!important;padding:7px 8px!important}
  .daily-brief{margin-bottom:42px}.daily-brief-head{align-items:start;display:block}.daily-brief-meta{display:block;margin-top:5px}.daily-brief-grid{display:flex;overflow-x:auto;gap:10px;scroll-snap-type:x proximity;padding-bottom:5px}.brief-card{min-width:78vw;scroll-snap-align:start;min-height:215px}.daily-brief-footer{align-items:flex-start;flex-direction:column}
  .ballot-quick{margin:42px 0;padding:18px}.ballot-quick-head{display:block}.ward-select{width:100%;margin-top:13px}.ballot-grid{grid-template-columns:1fr}.ballot-list{grid-template-columns:1fr}
}

/* ux-v7.css */
.brand-mark-only{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:40px!important;height:40px!important;padding:0!important;border-radius:11px!important;background:linear-gradient(145deg,#1b2630,#0d1821)!important;box-shadow:0 4px 14px rgba(10,24,34,.12)!important;text-decoration:none!important;overflow:hidden!important}.brand-mark-only .brand-letter{font-family:Georgia,'Times New Roman',serif!important;font-size:30px!important;line-height:1!important;font-weight:700!important;color:#fbfaf6!important;transform:translateY(-1px);text-shadow:0 1px 2px rgba(0,0,0,.08)}@media(max-width:720px){.brand-mark-only{width:38px!important;height:38px!important;border-radius:10px!important}.brand-mark-only .brand-letter{font-size:28px!important}}
/* ux-v8.css */
/* 2026-08-23: single finishing layer for consistent navigation, cards and responsive layouts. */

/* Header: three high-frequency destinations stay visible on desktop; everything else lives under More. */
.desktop-primary-nav{display:flex;align-items:center;gap:27px;margin-left:auto}.desktop-primary-nav a{color:var(--ink)!important;text-decoration:none!important;font-size:14px;font-weight:650;letter-spacing:-.01em}.desktop-primary-nav a:hover{color:var(--accent)!important}.header-controls{margin-left:0!important}.header .wrap.header-inner{max-width:1180px;margin-inline:auto;width:100%}

/* Keep the real brand mark crisp and consistent on every page. */
.brand-mark-only{flex:0 0 auto!important;background:url('logo-mark.svg') center/contain no-repeat!important;border-radius:11px!important}.brand-mark-only:hover{filter:brightness(1.05)}

/* Simple/static pages share one width and a calm editorial rhythm. */
.content-shell,.simple-page .page-shell,.updates-page,.ward-shell{width:min(100% - 40px,980px)!important;margin-inline:auto!important}.simple-page main,.content-shell{padding-top:48px!important}.simple-page .page-lead,.content-lead{max-width:720px!important;font-size:16px!important;line-height:1.55!important}.simple-page .policy-card{box-shadow:none!important}.simple-page .policy-card h2{font-size:22px!important}.simple-page .policy-card p,.simple-page .policy-card li{font-size:14px!important;line-height:1.55!important}

/* Candidate overview cards. */
#candidateStrip .candidate-body .focus-label{display:block!important;color:var(--ink)!important;font-size:11px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;margin:0 0 5px!important}#candidateStrip .candidate-body h3{margin-bottom:6px!important}.candidate-card{box-shadow:0 7px 22px rgba(18,49,79,.055)!important}.candidate-card:hover{box-shadow:0 13px 28px rgba(18,49,79,.095)!important}

/* Expanded mayor profile: useful detail, not another title block. */
#profilePanel .profile-grid{gap:12px!important}#profilePanel .profile-box{background:var(--card)!important;box-shadow:none!important}#profilePanel .profile-box h3{font-size:16px!important;font-weight:700!important;color:var(--ink)!important}#profilePanel .profile-box li{line-height:1.45!important}.community-discussion{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.community-discussion>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:700;color:var(--navy)}.community-discussion>summary::-webkit-details-marker{display:none}.community-discussion>summary::after{content:'+';font-size:18px;color:var(--muted)}.community-discussion[open]>summary::after{content:'−'}.community-note{margin:8px 0 12px;color:var(--muted);font-size:11.5px;line-height:1.45}.community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.community-quote{border:1px solid var(--line);border-radius:13px;padding:13px;background:var(--soft)}.community-quote-top{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.community-tone,.community-status,.community-score{font-size:9px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;border-radius:999px;padding:4px 7px}.community-tone{background:var(--card);color:var(--navy);border:1px solid var(--line)}.community-status{background:var(--card);color:var(--ink);border:1px solid var(--line)}.community-score{margin-left:auto;color:var(--muted)}.community-quote blockquote{margin:0 0 9px;font-size:13px;line-height:1.45;color:var(--ink)}.community-check{margin:0;font-size:12px;line-height:1.48;color:var(--muted)}.community-evidence{display:flex;gap:10px;flex-wrap:wrap;margin-top:9px}.community-evidence a,.community-source{font-size:11px;font-weight:700;color:var(--navy)!important}.community-empty{font-size:13px;color:var(--muted);margin:8px 0 0}

/* Ballot / Ward race: same interaction model as the mayor cards. */
.ballot-shell{max-width:1080px!important}.ballot-top{margin-bottom:24px!important}.ballot-ward-control{max-width:320px!important}.ballot-ward-control select,.school-board-control select{appearance:auto!important;min-height:44px!important;padding:9px 12px!important;border-color:#aac1d3!important}.ballot-mayor-compact{margin-top:26px;padding:17px 18px;border:1px solid var(--line);border-radius:16px;background:var(--card);display:flex;align-items:center;justify-content:space-between;gap:16px}.ballot-mayor-compact h2{font-size:20px!important;margin:0!important}.ballot-mayor-compact p{margin:3px 0 0;color:var(--muted);font-size:13px}.ballot-mayor-compact a{white-space:nowrap;font-size:13px;font-weight:750;color:var(--navy)}.ward-race{margin-top:34px}.ward-race-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}.ward-race-head h2{margin:0!important;font-size:clamp(27px,4vw,36px)!important}.ward-race-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.ward-candidate-strip{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 16px;scroll-snap-type:x proximity;scrollbar-width:thin}.ward-candidate-card{position:relative;flex:0 0 205px;scroll-snap-align:start;border:2px solid transparent;border-radius:16px;background:var(--card);padding:0;text-align:left;overflow:visible;cursor:pointer;box-shadow:0 6px 20px rgba(17,50,78,.055);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.ward-candidate-card:hover{transform:translateY(-2px);border-color:#b9d5e7;box-shadow:0 12px 26px rgba(17,50,78,.09)}.ward-candidate-card[aria-pressed="true"]{border-color:#4aa9ee}.ward-candidate-card[aria-pressed="true"]::after{content:'';position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);border-left:10px solid transparent;border-right:10px solid transparent;border-top:11px solid #4aa9ee}.ward-candidate-photo,.ward-candidate-placeholder{width:100%;height:145px;border-radius:13px 13px 0 0;object-fit:cover;display:block;background:var(--soft)}.ward-candidate-placeholder{display:grid;place-items:center;font-size:28px;font-weight:720;color:var(--muted)}.ward-candidate-body{padding:12px 13px 14px;min-height:146px}.ward-candidate-body h3{font-size:17px!important;line-height:1.12!important;margin:0 0 8px!important;color:var(--navy)!important}.ward-focus-label{display:block;font-size:10.5px;font-weight:700;color:var(--ink);margin-bottom:5px}.ward-candidate-body p{font-size:12.5px;line-height:1.4;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.ward-profile{position:relative;margin-top:7px;border:1px solid var(--line);border-radius:18px;background:var(--card);padding:18px}.ward-profile::before{content:'';position:absolute;top:-10px;left:var(--ward-pointer,100px);width:18px;height:18px;background:var(--card);border-left:1px solid var(--line);border-top:1px solid var(--line);transform:translateX(-50%) rotate(45deg)}.ward-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ward-profile-box{border:1px solid var(--line);border-radius:13px;padding:14px;background:var(--soft)}.ward-profile-box h3{margin:0 0 8px!important;font-size:15px!important;color:var(--ink)!important}.ward-profile-box ul{margin:0;padding-left:18px;color:var(--muted);font-size:13px}.ward-profile-box li+li{margin-top:6px}.ward-profile-sources{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}.ward-profile-sources a{font-size:12px;font-weight:700;color:var(--navy)}.ward-profile-unknown{font-size:12px;color:var(--muted)}.school-board-details{box-shadow:none!important}

/* H2H: candidate columns own their issue cards; the middle is only the shared issue/context. */
body.h2h-polished .match-grid{display:grid!important;grid-template-columns:minmax(280px,1fr) minmax(230px,300px) minmax(280px,1fr)!important;gap:14px!important;align-items:start!important}body.h2h-polished .person-card{min-height:0!important;padding:17px!important}body.h2h-polished .center{grid-column:2!important;grid-row:1!important;padding:16px!important;min-height:0!important;position:sticky;top:98px}body.h2h-polished .person-card.left{grid-column:1!important;grid-row:1!important}body.h2h-polished .person-card.right{grid-column:3!important;grid-row:1!important}body.h2h-polished #compare,body.h2h-polished #bottomStrip{display:none!important}.h2h-position-slot{display:grid;gap:10px;margin-top:4px}.h2h-position-slot .position,.h2h-position-slot .bottom-box{background:var(--soft)!important;border-color:var(--line)!important}.h2h-position-slot .position h3{display:none!important}.h2h-position-slot .position p{font-size:14px!important;line-height:1.48!important}.h2h-position-slot .bottom-box{margin:0!important}.h2h-position-slot .bottom-box b{font-size:11px!important;color:var(--muted)!important;text-transform:uppercase!important;letter-spacing:.06em!important}.h2h-position-slot .bottom-box p{font-size:12.5px!important}.h2h-section-label{font-size:11px;font-weight:800;letter-spacing:.065em;text-transform:uppercase;color:var(--muted);margin:4px 0 -2px}.h2h-polished .context{margin-top:12px!important}.h2h-polished .person-card .fact b{text-transform:none!important;letter-spacing:0!important;font-size:12px!important;color:var(--ink)!important}.h2h-polished .person-card .fact p{color:var(--muted)!important}.h2h-polished .person-select select{min-height:42px!important}.h2h-polished .issue-picker{margin-bottom:0!important}.h2h-polished .issue-picker::before{content:'Compare on';display:block;text-align:center;margin-bottom:7px;font-size:10px;font-weight:800;letter-spacing:.075em;text-transform:uppercase;color:var(--muted)}

/* Updates page: header alignment and compact newsroom feel. */
.updates-page{max-width:900px!important}.updates-page h1{margin-bottom:7px!important}.updates-page .content-lead{margin-bottom:30px!important}.update-list{display:grid;gap:0}.update-item{padding:22px 0!important;border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.update-item:first-child{border-top:0!important}.update-image{width:100%!important;max-height:390px!important;object-fit:cover!important;border-radius:16px!important;margin-bottom:17px!important}.update-item h2{font-size:clamp(21px,3vw,28px)!important;margin:7px 0!important}.update-item>p{font-size:14px!important;line-height:1.55!important;color:var(--muted)!important}.update-item>a{font-size:12px!important;font-weight:700!important;text-decoration:none!important}.update-item>a:hover{color:var(--accent)!important}.update-item-top{font-size:11px!important}

/* Ward finder should feel like a first-party utility while making the City source obvious. */
.ward-frame{box-shadow:none!important}.precision-note{font-size:13px!important}.ward-actions a{font-size:13px!important}

/* Dark mode contrast for the new components. */
html[data-theme="dark"] .desktop-primary-nav a{color:#e7f0f7!important}html[data-theme="dark"] .ward-candidate-card,html[data-theme="dark"] .ward-profile,html[data-theme="dark"] .ballot-mayor-compact{background:var(--card)!important}html[data-theme="dark"] .ward-profile::before{background:var(--card)!important}html[data-theme="dark"] .ward-profile-box,html[data-theme="dark"] .community-quote,html[data-theme="dark"] .h2h-position-slot .position,html[data-theme="dark"] .h2h-position-slot .bottom-box{background:#142733!important}html[data-theme="dark"] .ward-focus-label,html[data-theme="dark"] .ward-profile-box h3,html[data-theme="dark"] .community-quote blockquote,html[data-theme="dark"] .h2h-polished .person-card .fact b{color:#eff6fa!important}html[data-theme="dark"] .community-tone,html[data-theme="dark"] .community-status{background:#1c3443!important;color:#e7f1f7!important}

@media(max-width:900px){.desktop-primary-nav{gap:17px}.desktop-primary-nav a{font-size:13px}body.h2h-polished .match-grid{grid-template-columns:minmax(220px,1fr) minmax(200px,250px) minmax(220px,1fr)!important}.ward-profile-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .desktop-primary-nav{display:none!important}.content-shell,.simple-page .page-shell,.updates-page,.ward-shell{width:min(100% - 32px,980px)!important}.simple-page main,.content-shell{padding-top:32px!important}
  .community-grid{grid-template-columns:1fr}.community-score{margin-left:0}
  .ballot-mayor-compact{align-items:flex-start;flex-direction:column}.ward-race-head{align-items:flex-start;flex-direction:column}.ward-candidate-card{flex-basis:72vw;max-width:255px}.ward-profile{padding:15px;margin-top:5px}.ward-profile::before{display:none}.ward-profile-grid{grid-template-columns:1fr}.ward-profile-box{padding:13px}
  body.h2h-polished main{padding-top:22px!important}body.h2h-polished .head{margin-bottom:13px!important}body.h2h-polished .match-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}body.h2h-polished .center{grid-column:1/-1!important;grid-row:1!important;position:static!important;padding:13px!important}body.h2h-polished .person-card.left{grid-column:1!important;grid-row:2!important}body.h2h-polished .person-card.right{grid-column:2!important;grid-row:2!important}body.h2h-polished .person-card{padding:11px!important;border-radius:15px!important}body.h2h-polished .person-photo,body.h2h-polished .person-placeholder{width:68px!important;height:68px!important;margin-bottom:9px!important}body.h2h-polished .person-select{margin-bottom:8px!important}body.h2h-polished .person-select select{font-size:12px!important;padding-left:6px!important;padding-right:23px!important}body.h2h-polished .role{font-size:11px!important;margin-bottom:7px!important}body.h2h-polished .person-card .fact{display:none!important}.h2h-position-slot{gap:7px}.h2h-position-slot .position,.h2h-position-slot .bottom-box{padding:10px!important}.h2h-position-slot .position p{font-size:12px!important}.h2h-position-slot .plain summary{font-size:11px!important}.h2h-position-slot .bottom-box p{font-size:11.5px!important}.h2h-section-label{font-size:9px!important}.h2h-polished .context{margin-top:10px!important}.h2h-context-details>summary{font-size:12px!important}
}
@media(max-width:430px){body.h2h-polished .person-photo,body.h2h-polished .person-placeholder{width:60px!important;height:60px!important}.ward-candidate-card{flex-basis:78vw}}
@media(prefers-reduced-motion:reduce){.ward-candidate-card{transition:none!important}.ward-candidate-card:hover{transform:none!important}}

/* ux-v9.css */
/* Final navigation and cross-page overrides. */
@media(min-width:761px){.menu-panel .menu-core-duplicate{display:none!important}}
@media(max-width:760px){.menu-panel .menu-core-duplicate{display:flex!important}.desktop-primary-nav{display:none!important}}

/* The menu is always anchored to the right edge of the header on desktop. */
@media(min-width:761px){.menu-panel{right:max(18px,calc((100vw - 1180px)/2 + 22px))!important;left:auto!important}.header-controls{position:relative!important}}

/* The checked local-comment section replaces the old generic Reddit shortcut. */
#profilePanel .source-links a[href*="reddit.com"]{display:none!important}

/* Keep form controls legible in both themes. */
select,input,textarea,button{font-family:inherit}html[data-theme="dark"] select,html[data-theme="dark"] input,html[data-theme="dark"] textarea{background:#132632!important;color:#eef6fb!important;border-color:#48677c!important}

/* Polished page spacing. */
.simple-page .site-legal-footer,.feedback-page .site-legal-footer{margin-top:36px}.puzzle-shell,.method-shell{width:min(100% - 40px,980px)!important;margin-inline:auto!important}.puzzle-card,.method-card{box-shadow:none!important}.method-card{line-height:1.55}.puzzle-card{transition:border-color .15s ease,transform .15s ease}.puzzle-card:hover{border-color:#b5cede}@media(prefers-reduced-motion:reduce){.puzzle-card{transition:none}.puzzle-card:hover{transform:none}}

/* features-v3.css */
/* Burlington in 30 seconds + map/menu/ballot polish. */
.brand-mark-only{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;padding:0!important;border-radius:12px!important;background:url('logo-mark.svg') center/contain no-repeat!important;color:transparent!important;text-decoration:none!important;overflow:hidden!important}.brand-mark-only .brand-letter{opacity:0!important;font-size:0!important}.header .brand-mark-only small{display:none!important}.footer-only-links{justify-content:flex-end!important}.footer-only-links .site-legal-links{margin-left:auto!important}

/* Accessibility: keep the skip link available to keyboard users without leaving a stray link in the top-left corner. */
.skip{position:fixed!important;left:16px!important;top:-120px!important;z-index:9999!important;padding:10px 14px!important;border-radius:9px!important;background:#fff!important;color:#0b3152!important;font-size:14px!important;font-weight:700!important;box-shadow:0 6px 18px rgba(0,0,0,.18)!important;text-decoration:none!important;transition:top .15s ease!important}.skip:focus,.skip:focus-visible{top:12px!important;outline:3px solid #69b8ef!important;outline-offset:3px!important}

/* Menu: appearance lives inside the drawer so the hamburger never jumps around. */
.menu-theme-toggle{width:100%;border:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer;text-align:left}.menu-theme-toggle:hover{background:var(--soft)}.menu-theme-toggle .menu-support-icon{color:var(--muted)}.header-controls{margin-left:auto!important;display:flex!important;align-items:center!important;gap:8px!important}.header-controls .menu-icon-button{margin:0!important}

/* Homepage 30-second brief. */
.daily-brief{max-width:1180px;margin:30px auto 48px;padding:0 22px}
.brief-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border:1px solid #ded8ca;border-radius:13px;background:#fffaf1;color:#1e2a32;text-align:left;cursor:pointer;box-shadow:none}
.brief-toggle-main{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.brief-toggle-title{font-size:18px;font-weight:740;letter-spacing:-.025em;color:#161f25}.brief-live-dot{width:7px;height:7px;border-radius:50%;background:#4a973f}.brief-toggle-updated{font-size:10px;font-weight:780;letter-spacing:.07em;text-transform:uppercase;color:#4d8b43}.brief-toggle-sub{display:block;margin-top:2px;font-size:12.5px;color:#5c666c;font-weight:430}.brief-open-label{display:inline-flex;align-items:center;gap:4px;color:#3c7e36;font-size:12.5px;font-weight:740;white-space:nowrap}.brief-open-label::after{content:'+';font-size:16px;line-height:1}.daily-brief[open] .brief-open-label::after{content:'−'}
.brief-panel{padding:0 18px 4px;border:1px solid #ded8ca;border-top:0;border-radius:0 0 13px 13px;background:#fffaf1;margin-top:-1px}
.brief-feature,.brief-mini{display:grid!important;grid-template-columns:1fr auto!important;gap:16px!important;align-items:center!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;border-top:1px solid #e5dfd2!important;padding:13px 0!important}.brief-feature.no-image,.brief-mini.no-image{grid-template-columns:1fr!important}.brief-feature-copy,.brief-mini-copy{padding:0!important;display:block!important;min-width:0}.brief-feature-visual{grid-column:2!important;grid-row:1!important;width:116px!important;height:76px!important;min-height:0!important;border-radius:9px!important;overflow:hidden!important;background:transparent!important}.brief-story-image,.brief-mini-image{width:116px!important;height:76px!important;object-fit:cover!important;border-radius:9px!important;display:block!important}.brief-mini-image{grid-column:2;grid-row:1}.brief-mini-copy{grid-column:1;grid-row:1}.brief-more{display:block!important;margin:0!important}.brief-tag{display:inline!important;margin:0 6px 0 0!important;padding:0!important;background:transparent!important;color:#43813b!important;font-size:10px!important;font-weight:800!important;letter-spacing:.055em!important;text-transform:uppercase!important}.brief-feature h3,.brief-mini h3{display:inline!important;margin:0!important;font-size:13px!important;line-height:1.38!important;font-weight:760!important;letter-spacing:-.008em!important;color:#18242d!important}.brief-feature h3 a,.brief-mini h3 a{color:inherit!important;text-decoration:none!important}.brief-feature h3 a:hover,.brief-mini h3 a:hover{color:#347b36!important}.brief-summary,.brief-mini p{display:inline!important;margin:0 0 0 5px!important;color:#4f5e68!important;font-size:12.5px!important;line-height:1.45!important}.brief-why{display:block!important;margin:5px 0 0!important;padding:0!important;font-size:11.5px!important;line-height:1.4!important;color:#60717d!important;font-weight:500!important}.brief-why strong{color:#354c5c!important}.brief-source{display:inline-flex!important;margin-top:6px!important;font-size:11.5px!important;font-weight:700!important;color:#5f7761!important;text-decoration:none!important}.brief-source:hover{color:#2f7f35!important;text-decoration:none!important}.brief-footer{display:flex!important;justify-content:flex-end!important;margin:11px 0 7px!important}.brief-footer a{font-size:12px!important;color:#347b36!important;font-weight:760!important;text-decoration:none!important}

/* Real uploaded Burlington map with a restrained pulse over Burlington. */
.hero-map-card.hero-map-image{background-repeat:no-repeat!important;background-size:cover!important;background-position:center!important;background-color:#dbe9ef!important}.hero-map-card.hero-map-image::after{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(255,255,255,.01),rgba(8,35,51,.07))!important;z-index:1!important;pointer-events:none!important}.hero-map-card .hero-map-embed,.hero-map-card .map-credit{display:none!important}.hero-map-card .hero-place-dot{display:block!important;position:absolute!important;left:48.5%!important;top:54%!important;width:16px!important;height:16px!important;border-radius:50%!important;background:#d84d43!important;border:4px solid #fff!important;z-index:4!important;box-shadow:0 3px 12px rgba(0,0,0,.24)!important;animation:burlingtonPin 3.6s ease-out infinite!important}.hero-candidate-slide,.hero-date-card,.hero-voting-note{z-index:3!important}@keyframes burlingtonPin{0%,55%,100%{box-shadow:0 3px 12px rgba(0,0,0,.24),0 0 0 0 rgba(216,77,67,.28)}75%{box-shadow:0 3px 12px rgba(0,0,0,.24),0 0 0 13px rgba(216,77,67,0)}}

#candidateStrip .candidate-body .focus-label{display:block!important;margin:0 0 5px!important;color:#17212b!important;font-size:11px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:.01em!important;text-transform:none!important}html[data-theme="dark"] #candidateStrip .candidate-body .focus-label{color:#f1f5f7!important}
.ballot-person-link{color:inherit;text-decoration:none}.ballot-person-link:hover .ballot-person{border-color:#92bcd7!important;transform:translateY(-1px)}.ballot-person{transition:transform .15s ease,border-color .15s ease}.ballot-person-external{margin-left:auto;color:var(--muted);font-size:15px}.ballot-help{font-size:13px;line-height:1.45;color:var(--muted);margin:8px 0 4px}.ballot-board-note{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:var(--soft);font-size:13px;line-height:1.45;color:var(--muted)}

/* Important dates: only truly critical dates get the gold treatment. */
.date-title-link{color:inherit!important;text-decoration:none!important}.date-title-link:hover{color:var(--accent)!important}.date-source{display:inline-block;margin-top:8px;font-size:12px;font-weight:650;color:var(--muted)!important;text-decoration:none!important}.date-source:hover{color:var(--navy)!important}.date-calendar-action{display:inline-flex;margin-top:9px;margin-left:10px;font-size:12px;font-weight:700;color:var(--navy);text-decoration:none}.date-calendar-action:hover{text-decoration:underline}.date-stop.is-critical{border-color:#c9a451!important;box-shadow:0 8px 26px rgba(168,127,39,.13),inset 0 0 0 1px rgba(229,196,112,.42)!important;position:relative}.date-stop.is-critical::after{content:'Key date';position:absolute;right:14px;bottom:12px;color:#9b7629;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.date-stop:not(.countdown-visible) .date-status{visibility:hidden}

/* H2H: make context optional and remove duplicate question blocks from side cards. */
.h2h-context-details{margin:0}.h2h-context-details>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--navy);font-size:15px;font-weight:760}.h2h-context-details>summary::-webkit-details-marker{display:none}.h2h-context-details>summary::after{content:'+';font-size:19px;font-weight:500;color:var(--muted)}.h2h-context-details[open]>summary::after{content:'−'}.h2h-context-body{padding-top:7px}.h2h-context-body p{margin:0}.h2h-polished .method-link{display:none!important}.h2h-polished .position{min-height:0!important}.h2h-polished .bottom-box b{font-size:12px!important;text-transform:none!important;letter-spacing:0!important;color:var(--ink)!important}.h2h-polished .bottom-box p{font-size:13px!important}

/* Small Morning Tee-style extras after Important dates. */
.home-extras{max-width:1180px;margin:24px auto 60px;padding:0 22px}.home-extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.home-extra-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:120px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--card);text-decoration:none!important;color:var(--ink)!important;box-shadow:0 7px 22px rgba(20,54,79,.045)}.home-extra-card:hover{transform:translateY(-2px);border-color:#9dbed3}.home-extra-card small{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.07em}.home-extra-card h2{font-size:19px!important;margin:2px 0 3px!important;color:var(--navy)!important}.home-extra-card p{margin:0;color:var(--muted);font-size:12.5px}.home-extra-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--soft);color:var(--navy);font-size:17px}

.election-results{max-width:1180px;margin:20px auto 40px;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 8px 26px rgba(20,54,79,.06)}.results-head{display:flex;justify-content:space-between;align-items:center;gap:14px}.results-head>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.results-live-dot{width:9px;height:9px;border-radius:50%;background:#d7473f;box-shadow:0 0 0 4px rgba(215,71,63,.1)}.results-head small{color:var(--muted)}.results-head a{font-size:13px;font-weight:700}.results-list{margin-top:13px;display:grid;gap:8px}.result-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.result-row small{color:var(--muted)}.results-waiting{margin:12px 0 0;color:var(--muted)}

/* Dark mode contrast. */
html[data-theme="dark"] .select-wrap select,html[data-theme="dark"] select,html[data-theme="dark"] input,html[data-theme="dark"] textarea{background:#132632!important;color:#eef6fb!important;border-color:#48677c!important}html[data-theme="dark"] .select-wrap::after,html[data-theme="dark"] select option{color:#eef6fb!important}html[data-theme="dark"] .hero-button-primary,html[data-theme="dark"] .h2h-link,html[data-theme="dark"] .button-link,html[data-theme="dark"] .ballot-actions a{color:#fff!important}html[data-theme="dark"] .hero-button-primary,html[data-theme="dark"] .h2h-link,html[data-theme="dark"] .button-link{background:#2d7db5!important;border-color:#5ca7d8!important}html[data-theme="dark"] .hero-button-secondary,html[data-theme="dark"] .button-secondary{background:#172b39!important;color:#eef7ff!important;border-color:#4c6f86!important}html[data-theme="dark"] .menu-icon-button{background:#132632!important;color:#e7f2fa!important;border-color:#48677c!important}html[data-theme="dark"] a{color:#8bcfff}html[data-theme="dark"] a:hover{color:#b7e2ff}html[data-theme="dark"] button:focus-visible,html[data-theme="dark"] a:focus-visible,html[data-theme="dark"] select:focus-visible,html[data-theme="dark"] input:focus-visible,html[data-theme="dark"] textarea:focus-visible{outline:3px solid #79c7ff!important;outline-offset:3px!important}
html[data-theme="dark"] .brief-toggle,html[data-theme="dark"] .brief-panel{background:#12222d!important;border-color:#2f4758!important;color:#eef6fb!important}html[data-theme="dark"] .brief-toggle-title,html[data-theme="dark"] .brief-feature h3,html[data-theme="dark"] .brief-mini h3{color:#eef6fb!important}html[data-theme="dark"] .brief-toggle-sub,html[data-theme="dark"] .brief-summary,html[data-theme="dark"] .brief-mini p{color:#b9ccd9!important}html[data-theme="dark"] .brief-feature,html[data-theme="dark"] .brief-mini{border-color:#2c4353!important}html[data-theme="dark"] .brief-source{color:#92bd99!important}html[data-theme="dark"] .brief-feature h3 a:hover,html[data-theme="dark"] .brief-mini h3 a:hover{color:#a7d7ae!important}html[data-theme="dark"] .date-stop.is-critical{border-color:#c7a65d!important;box-shadow:0 8px 28px rgba(0,0,0,.25),inset 0 0 0 1px rgba(225,192,111,.22)!important}html[data-theme="dark"] .date-stop.is-critical::after{color:#e1c478!important}

@media(max-width:760px){
  .brand-mark-only{width:40px!important;height:40px!important;border-radius:11px!important}.menu-panel{position:fixed!important;top:var(--mobile-menu-top,72px)!important;left:0!important;right:0!important;width:100vw!important;max-width:none!important;height:calc(100dvh - var(--mobile-menu-top,72px))!important;border-radius:0!important;border-left:0!important;border-right:0!important;border-bottom:0!important;padding:18px 20px 28px!important;overflow-y:auto!important;box-shadow:0 20px 50px rgba(8,30,47,.18)!important}.menu-panel::before{display:none!important}.menu-panel-head{padding:2px 10px 10px!important;font-size:11px!important}.menu-primary,.menu-support{gap:3px!important}.menu-link,.menu-support-link{min-height:50px!important;padding:10px!important;font-size:16px!important;border-radius:11px!important}.menu-separator{margin:12px 8px!important}body.menu-is-open{overflow:hidden}
  .daily-brief{margin:16px auto 32px;padding:0 18px}.brief-toggle{padding:14px 15px;border-radius:14px}.brief-toggle-title{font-size:17px}.brief-toggle-sub{font-size:12px}.brief-open-label{font-size:12px}.brief-panel{padding:0 15px 3px;border-radius:0 0 14px 14px}.brief-feature,.brief-mini{grid-template-columns:1fr auto!important;gap:10px!important;padding:12px 0!important}.brief-feature.no-image,.brief-mini.no-image{grid-template-columns:1fr!important}.brief-feature-visual,.brief-story-image,.brief-mini-image{width:78px!important;height:58px!important;border-radius:8px!important}.brief-feature h3,.brief-mini h3{font-size:12.5px!important}.brief-summary,.brief-mini p{font-size:12px!important}.brief-footer{justify-content:flex-start!important}
  .h2h-polished .match-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.h2h-polished .person-card.left{grid-column:1!important;grid-row:1!important;order:initial!important}.h2h-polished .person-card.right{grid-column:2!important;grid-row:1!important;order:initial!important}.h2h-polished .center{grid-column:1 / -1!important;grid-row:2!important;order:initial!important}.h2h-polished .person-card{padding:11px!important;min-height:0!important}.h2h-polished .person-photo,.h2h-polished .person-placeholder{width:62px!important;height:62px!important;margin-bottom:9px!important}.h2h-polished .person-card .fact,.h2h-polished .person-card .role{display:none!important}.h2h-polished .person-select{margin-bottom:0!important}.h2h-polished .person-select select{font-size:12px!important;padding:9px 26px 9px 8px!important}.h2h-polished .center{padding:14px!important}.h2h-polished .title-row{display:none!important}.h2h-polished .issue-picker{margin-bottom:12px!important}.h2h-polished .compare,.h2h-polished .bottom-strip{grid-template-columns:1fr!important}.h2h-polished .context{padding:11px 12px!important}.h2h-polished main{padding-top:22px!important}.h2h-polished .head{margin-bottom:12px!important}
  .home-extras{padding:0 18px;margin-bottom:42px}.home-extra-grid{grid-template-columns:1fr}.home-extra-card{min-height:108px;padding:16px}.election-results{margin:16px 18px 34px}.results-head{align-items:flex-start;flex-direction:column}.result-row{grid-template-columns:1fr auto}.result-row small{grid-column:2}.date-calendar-action{margin-left:0;display:block}.footer-only-links{justify-content:flex-start!important}.footer-only-links .site-legal-links{margin-left:0!important}
}
@media(prefers-reduced-motion:reduce){.brief-mini,.ballot-person,.skip,.home-extra-card{transition:none!important}.hero-map-card .hero-place-dot{animation:none!important}}

/* news-v1.css */
/* Burlington News: final brand/navigation/content polish */
:root{--news-blue:#0b4f7c;--news-blue-2:#176f9f;--news-pale:#eaf4f8;--news-green:#43873b;--news-cream:#fffaf1;--news-banner-h:34px}
.banner{position:sticky!important;top:0!important;z-index:120!important;min-height:var(--news-banner-h);display:flex!important;align-items:center!important;background:#0b3e6b!important}.banner .wrap{width:100%!important;text-align:center!important;padding:8px 18px!important;font-size:12px!important;line-height:18px!important;letter-spacing:.01em!important}.header{position:sticky!important;top:var(--news-banner-h)!important;z-index:110!important}.header-inner{width:min(calc(100% - 40px),1180px)!important;max-width:none!important;margin-inline:auto!important;padding-left:0!important;padding-right:0!important}.news-brand{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:11px!important;text-decoration:none!important;color:var(--navy)!important;min-width:max-content}.news-brand-mark{display:block;width:36px;height:36px;flex:0 0 36px;background:url('logo-mark.svg?v=20260824a') center/contain no-repeat}.news-brand-copy{display:grid;line-height:1.02}.news-brand-copy strong{font-size:16px;font-weight:850;letter-spacing:-.025em;color:var(--navy)}.news-brand-copy small{display:block!important;margin-top:4px!important;font-size:9px!important;font-weight:760!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--muted)!important}.brand-mark-only{width:auto!important;height:auto!important;border-radius:0!important;background:none!important;color:inherit!important;overflow:visible!important}.brand-mark-only .brand-letter{display:none!important}.desktop-primary-nav{margin-left:auto!important}.header-controls{margin-left:0!important}.menu-panel{top:calc(var(--news-banner-h) + 68px)!important}

/* The original candidate-card stylesheet adds a second label with pseudo-elements. */
#candidateStrip .focus-label::before,#candidateStrip .focus-label::after{content:none!important;display:none!important}#candidateStrip .focus-label{font-size:10px!important;font-weight:800!important;letter-spacing:.045em!important;text-transform:uppercase!important;color:var(--news-green)!important}

/* MorningTea-inspired large visual local brief. */
.daily-brief.news-brief{max-width:1180px!important;margin:34px auto 54px!important;padding:0 22px!important}.news-brief-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:10px;border-bottom:1px solid var(--line)}.news-brief-head h2{margin:0!important;font-size:25px!important;letter-spacing:-.035em!important}.news-brief-head p{margin:4px 0 0!important;color:var(--muted)!important;font-size:13px!important}.news-brief-head a{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;color:var(--navy)}.news-brief-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.news-story-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--card);text-decoration:none!important;color:var(--ink)!important;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.news-story-card:hover{transform:translateY(-3px);border-color:#9bbfd4;box-shadow:0 12px 28px rgba(24,66,96,.09)}.news-story-media{aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#dceef5,#eef5f0);position:relative}.news-story-media img{width:100%;height:100%;display:block;object-fit:cover}.news-story-fallback{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#dfeef4,#f2f7f4);color:var(--news-blue);font-size:34px;font-weight:850}.news-story-body{padding:14px 15px 16px}.news-story-tag{display:block;margin-bottom:5px;color:var(--news-green);font-size:10px;font-weight:850;letter-spacing:.075em;text-transform:uppercase}.news-story-card h3{margin:0 0 6px!important;color:var(--navy)!important;font-size:18px!important;line-height:1.14!important;letter-spacing:-.025em!important}.news-story-card p{margin:0!important;color:var(--muted)!important;font-size:13px!important;line-height:1.43!important}.news-story-card:hover h3,.news-story-card:hover p{color:var(--news-blue-2)!important}.brief-source,.brief-why{display:none!important}

/* Important dates: whole card is the link, no source labels or editorial badges. */
.date-stop{color:var(--ink)!important;text-decoration:none!important;cursor:pointer!important;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.date-stop:hover{transform:translateY(-2px);border-color:#9ebfd4!important;box-shadow:0 10px 24px rgba(18,67,101,.08)!important}.date-stop:hover .date-calendar-day,.date-stop:hover .date-calendar-month,.date-stop:hover h3,.date-stop:hover p,.date-stop:hover .date-status,.date-stop:hover .date-kind{color:var(--news-blue-2)!important}.date-stop.is-critical::after{display:none!important;content:none!important}.date-title-link,.date-source,.date-calendar-action{display:none!important}.date-stop-body h3{color:var(--navy)!important}.date-stop-body p,.date-kind,.date-status,.date-calendar-day,.date-calendar-month{transition:color .15s ease}

/* Home extras: simple discovery rows, no partnership promotion for now. */
.home-extra-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-extra-card.partner-card{display:none!important}.home-extra-card{box-shadow:none!important}.home-extra-card:hover{transform:translateY(-2px)}

/* Footer feels like a small publication rather than legal fine print. */
.site-legal-footer{max-width:none!important;margin:64px 0 0!important;padding:0!important;background:#e4f1e0!important;color:#294238!important}.site-legal-footer-inner{width:min(calc(100% - 40px),1180px)!important;margin:auto!important;padding:34px 0 38px!important;border:0!important;display:grid!important;grid-template-columns:1.25fr .75fr!important;gap:30px!important;align-items:start!important}.footer-news-brand{display:flex;align-items:center;gap:12px}.footer-news-brand .news-brand-mark{width:40px;height:40px;flex-basis:40px}.footer-news-brand strong{display:block;color:#102b36;font-size:25px;font-weight:900;letter-spacing:-.04em}.footer-news-brand p{margin:6px 0 0;color:#52655c;font-size:12.5px;max-width:430px}.site-legal-links{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px 22px!important;justify-self:end}.site-legal-footer a{color:#183c42!important;text-decoration:none!important;font-size:12px!important;font-weight:750!important}.site-legal-footer a:hover{text-decoration:underline!important}

/* Back pages align with the same publication shell. */
.content-shell,.method-shell,.ward-shell,.puzzle-shell,.feedback-shell,.simple-page .page-shell,.info-page{width:min(calc(100% - 40px),980px)!important;max-width:980px!important;margin-inline:auto!important}.simple-page main.wrap{max-width:none!important}.simple-page .page-shell{max-width:860px!important}.method-shell{max-width:900px!important}.feedback-main{padding-left:20px!important;padding-right:20px!important}.policy-card,.method-card{box-shadow:none!important}.page-kicker,.daily-brief-kicker{color:var(--news-green)!important}

/* Utilities for the beginner and puzzles pages. */
.section-rule{display:flex;align-items:end;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:16px}.section-rule h2{margin:0!important;font-size:24px!important}.section-rule small{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}

html[data-theme="dark"] .site-legal-footer{background:#14271f!important;color:#d8e7df!important}html[data-theme="dark"] .footer-news-brand strong,html[data-theme="dark"] .site-legal-footer a{color:#ecf7f1!important}html[data-theme="dark"] .footer-news-brand p{color:#abc1b4!important}html[data-theme="dark"] .news-story-card{background:var(--card)!important}html[data-theme="dark"] .news-story-fallback{background:linear-gradient(145deg,#193143,#1b382f)!important;color:#9dd6f5!important}

@media(max-width:800px){.news-brand-copy strong{font-size:15px}.news-brand-copy small{font-size:8px!important}.desktop-primary-nav{display:none!important}.header-inner{width:min(calc(100% - 32px),1180px)!important}.news-brief-grid{grid-template-columns:1fr 1fr}.site-legal-footer-inner{grid-template-columns:1fr}.site-legal-links{justify-self:start}}
@media(max-width:620px){:root{--news-banner-h:32px}.banner .wrap{font-size:10.5px!important;padding:7px 12px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-inner{min-height:62px!important;width:calc(100% - 28px)!important}.news-brand-mark{width:32px;height:32px;flex-basis:32px}.news-brand-copy strong{font-size:14px}.news-brand-copy small{font-size:7.5px!important}.menu-panel{top:var(--mobile-menu-top,94px)!important}.daily-brief.news-brief{padding:0 16px!important;margin:24px auto 38px!important}.news-brief-head{align-items:flex-start}.news-brief-head h2{font-size:22px!important}.news-brief-head p{font-size:12px!important}.news-brief-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:1px 1px 10px;gap:12px}.news-story-card{min-width:82%;scroll-snap-align:center}.news-story-card:hover{transform:none}.home-extra-grid{grid-template-columns:1fr!important}.site-legal-footer{margin-top:44px!important}.site-legal-footer-inner{width:calc(100% - 32px)!important;padding:30px 0!important}.site-legal-links{grid-template-columns:1fr 1fr!important}.footer-news-brand strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){.news-story-card,.date-stop{transition:none}.news-story-card:hover,.date-stop:hover{transform:none}}

/* news-v2.css */
/* Burlington News publication layout and final election UX fixes. */
:root{--publication-green:#4d8b3d;--publication-blue:#0b4f7c;--publication-cream:#fffaf0;--publication-yellow:#f5d64f}
.publication-nav{gap:19px!important}.publication-nav a{font-size:13px!important}.publication-nav a:hover{color:var(--publication-green)!important;text-decoration:none!important}
.news-brand-copy small{font-size:0!important;letter-spacing:0!important}.news-brand-copy small::after{content:'LOCAL · CLEAR · USEFUL';font-size:8px;letter-spacing:.115em}
.site-legal-footer .site-legal-links a[href*="partnership"],.partner-card{display:none!important}

/* Home starts like a local publication. Election coverage remains a major section. */
.publication-home{margin:8px 0 52px}.publication-dateline{display:flex;justify-content:space-between;gap:18px;padding:12px 0 10px;border-bottom:1px solid var(--line);font-size:11px;font-weight:780;color:var(--muted)}
.publication-regions{display:flex;gap:15px;flex-wrap:wrap}.publication-regions a{text-decoration:none;color:var(--muted)}.publication-regions a:first-child{color:var(--publication-green);font-weight:850}
.publication-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin:27px 0 16px}.publication-heading h1{max-width:720px;margin:0!important;font-size:clamp(44px,7vw,78px)!important;line-height:.92!important;letter-spacing:-.065em!important}.publication-heading p{max-width:290px;margin:0 0 4px;color:var(--muted);font-size:14px;line-height:1.45}
.publication-lead-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:15px;border-top:1px solid var(--line);padding-top:15px}.publication-lead,.publication-side-story{display:block;text-decoration:none!important;color:var(--ink)!important}.publication-lead-media,.publication-side-media{position:relative;overflow:hidden;background:linear-gradient(140deg,#dfeef4,#e9f2df)}.publication-lead-media{aspect-ratio:16/8.4}.publication-side-media{aspect-ratio:16/7}.publication-lead-media img,.publication-side-media img{width:100%;height:100%;object-fit:cover;display:block}.publication-media-mark{position:absolute;inset:0;display:grid;place-items:center;color:var(--publication-blue);font-size:74px;font-weight:920;letter-spacing:-.08em}.publication-tag{display:block;margin-top:12px;color:var(--publication-green);font-size:10px;font-weight:850;letter-spacing:.075em;text-transform:uppercase}.publication-lead h2{margin:5px 0 7px!important;font-size:clamp(27px,3.5vw,42px)!important;line-height:1.02!important}.publication-lead p,.publication-side-story p{margin:0;color:var(--muted);font-size:13px}.publication-side{display:grid;gap:15px}.publication-side-story+.publication-side-story{padding-top:15px;border-top:1px solid var(--line)}.publication-side-story h3{margin:4px 0 6px!important;font-size:20px!important;line-height:1.08!important}.publication-lead:hover h2,.publication-side-story:hover h3{color:var(--publication-green)!important}
.publication-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:34px;border-block:1px solid var(--line)}.publication-shortcuts a{padding:16px 14px;text-decoration:none;border-right:1px solid var(--line)}.publication-shortcuts a:last-child{border-right:0}.publication-shortcuts small{display:block;color:var(--publication-green);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.publication-shortcuts strong{display:block;color:var(--navy);font-size:15px;margin-top:3px}.publication-shortcuts a:hover{background:var(--soft)}
.publication-credit{margin:8px 0 0;color:var(--muted);font-size:9px;line-height:1.35}
.date-event-detail{margin-top:18px;padding:20px 0;border-block:1px solid var(--line);scroll-margin-top:140px}.date-detail-kicker{display:block;color:var(--publication-green);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.date-event-detail h3{margin:5px 0 6px!important;font-size:22px!important}.date-event-detail p{margin:0;color:var(--muted);font-size:13px}
.landing-home .election-hero{margin-top:64px!important;padding-top:30px!important;border-top:6px solid var(--publication-blue)!important}.landing-home .election-hero::before{content:'2026 ELECTION GUIDE';display:block;position:absolute;margin-top:-55px;color:var(--publication-green);font-size:11px;font-weight:900;letter-spacing:.09em}.landing-home #candidates{scroll-margin-top:130px}.landing-home #candidates>h2{padding-top:18px;border-top:1px solid var(--line)}
.explore-teaser{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px;align-items:center;margin:48px 0;padding:34px;border-radius:22px;background:var(--publication-cream);border:1px solid #ecdfbe}.explore-teaser h2{font-size:34px!important;margin:5px 0 9px!important}.explore-teaser p{margin:0 0 17px;color:var(--muted)}.explore-teaser a{display:inline-flex;padding:10px 14px;border-radius:10px;background:var(--publication-blue);color:#fff;text-decoration:none;font-weight:800;font-size:13px}.explore-stack{position:relative;min-height:245px}.explore-stack-card{position:absolute;inset:10px 24px;border-radius:18px;padding:22px;background:#fff;border:1px solid #d9e4d3;box-shadow:0 12px 30px rgba(38,71,53,.1);transform:rotate(-5deg)}.explore-stack-card:nth-child(2){transform:translate(12px,4px) rotate(3deg);background:#e7f2df}.explore-stack-card:nth-child(3){transform:translate(-4px,10px) rotate(-1deg);display:flex;flex-direction:column;justify-content:end;background:linear-gradient(145deg,#cbe5f0,#eef3df)}.explore-stack-card small{color:var(--publication-green);font-weight:850;text-transform:uppercase;letter-spacing:.08em}.explore-stack-card strong{font-size:24px;line-height:1.04;color:var(--navy);margin-top:6px}

/* Ballot hierarchy: three clear ballot choices, not pills within pills. */
.ballot-shell>h1{margin-bottom:8px!important}.ballot-shell>.content-lead{max-width:700px}.ballot-step{display:flex;gap:11px;align-items:center;margin-bottom:12px}.ballot-step span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--publication-blue);color:#fff;font-size:12px;font-weight:850}.ballot-step h2{margin:0!important;font-size:23px!important}.ballot-mayor-compact{border:0!important;border-block:1px solid var(--line)!important;border-radius:0!important;padding:18px 0!important}.ballot-top{margin:30px 0 4px!important;padding:0!important}.ballot-ward-control{max-width:360px!important}.ballot-ward-link{display:none!important}.ward-race{margin-top:22px!important}.school-board-section{margin-top:45px;padding-top:28px;border-top:1px solid var(--line)}.school-board-inner{padding:0!important;border:0!important}.school-board-copy{max-width:680px!important;font-size:13px!important}.ballot-actions,.ballot-verify{display:none!important}.ward-incumbent{display:inline-flex;margin:0 0 7px;padding:3px 7px;border-radius:999px;background:#e4f2de;color:#326d2d;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.055em}

/* Evidence labels explain the result without an unexplained fraction. */
.community-score,.ward-community-score{margin-left:auto!important;color:var(--muted)!important;font-size:9px!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.05em!important;padding:4px 7px!important;border-radius:999px!important}.community-status,.ward-community-status{display:none!important}.evidence-verified{background:#e4f2de!important;color:#2f6a2a!important}.evidence-partly{background:#fff2d8!important;color:#76530e!important}.evidence-unverified{background:#f8e8e6!important;color:#8a3e38!important}.evidence-opinion{background:#eff1f3!important;color:#596b76!important}

/* Compare page leads with the outcome, then explains the controls. */
.compare-intro{max-width:760px;margin:12px 0 24px}.compare-intro h1{margin:0 0 8px!important}.compare-intro p{margin:0;color:var(--muted);font-size:16px}.compare-how{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:18px;background:var(--line);border:1px solid var(--line)}.compare-how div{background:var(--card);padding:13px}.compare-how b{display:block;color:var(--publication-green);font-size:10px;text-transform:uppercase;letter-spacing:.07em}.compare-how span{display:block;margin-top:4px;font-size:12px;color:var(--muted)}

/* Broad pages use fewer nested pills. */
.simple-page .policy-card,.method-card{border-width:0 0 1px!important;border-radius:0!important;padding:22px 0!important;margin-top:0!important}.simple-page .policy-card:first-of-type,.method-card:first-of-type{border-top:1px solid var(--line)!important}.ward-warning{display:none!important}

@media(max-width:900px){.publication-nav{display:none!important}.publication-shortcuts{grid-template-columns:1fr 1fr}.publication-shortcuts a:nth-child(2){border-right:0}.publication-shortcuts a:nth-child(-n+2){border-bottom:1px solid var(--line)}.publication-lead-grid{grid-template-columns:1fr}.publication-side{grid-template-columns:1fr 1fr}.publication-side-story+.publication-side-story{padding-top:0;border-top:0;border-left:1px solid var(--line);padding-left:15px}.explore-teaser{grid-template-columns:1fr}}
@media(max-width:620px){.publication-home{margin-top:0}.publication-dateline{display:block}.publication-regions{margin-top:8px;gap:11px}.publication-heading{display:block}.publication-heading h1{font-size:48px!important}.publication-heading p{margin-top:12px}.publication-side{grid-template-columns:1fr}.publication-side-story+.publication-side-story{padding:14px 0 0;border:0;border-top:1px solid var(--line)}.publication-shortcuts{grid-template-columns:1fr 1fr}.publication-shortcuts a{padding:14px 10px}.explore-teaser{padding:23px 18px}.explore-stack{min-height:220px}.compare-how{grid-template-columns:1fr}.ward-candidate-card{flex-basis:78vw!important}.school-board-section{margin-top:36px}}

html[data-theme="dark"] .explore-teaser{background:#1e2d26;border-color:#344b3d}html[data-theme="dark"] .explore-stack-card{background:#24382e;border-color:#45614f}html[data-theme="dark"] .explore-stack-card:nth-child(2){background:#294432}html[data-theme="dark"] .explore-stack-card:nth-child(3){background:linear-gradient(145deg,#193747,#293e2d)}

/* Polimeter-inspired record summary, with counts instead of a premature grade. */
.polimeter-summary{margin:28px 0}.promise-overview{padding:22px 24px;border:1px solid var(--line);background:var(--card);box-shadow:0 8px 24px rgba(24,64,82,.05)}.promise-overview-top{display:flex;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}.promise-place{display:inline-flex;color:#25774f;font-size:11px;font-weight:850}.promise-overview-top small{display:block;margin-top:12px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.promise-overview h2{margin:3px 0 0!important;font-size:27px!important}.promise-see{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.promise-metrics{display:grid;grid-template-columns:repeat(3,1fr);margin:16px 0}.promise-metrics div{padding:0 18px;border-right:1px solid var(--line)}.promise-metrics div:first-child{padding-left:0}.promise-metrics div:last-child{border-right:0}.promise-metrics small{display:block;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.promise-metrics strong{display:block;margin-top:4px;color:var(--ink);font-size:15px}.promise-bar{display:flex;height:12px;overflow:hidden;border-radius:99px;background:#d5d9dc}.promise-bar span{display:block;height:100%}.bar-kept{background:#20855a!important}.bar-progress{background:#f39b2d!important}.bar-partial{background:#f2d15d!important}.bar-broken{background:#b82318!important}.bar-other{background:#7d858b!important}.promise-legend{display:flex;gap:0;margin-top:10px;border:1px solid var(--line)}.promise-legend span{flex:1;padding:9px;text-align:center;color:var(--muted);font-size:10px;border-right:1px solid var(--line)}.promise-legend span:last-child{border-right:0}.promise-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.promise-sample-note{margin:11px 0 0;color:var(--muted);font-size:11px}

/* Fewer nested pills and boxes across election profiles. */
#profilePanel .profile-grid,.ward-profile-grid{gap:0!important}.profile-grid .profile-box,.ward-profile-box{border:0!important;border-right:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;padding:4px 18px!important}.profile-grid .profile-box:first-child,.ward-profile-box:first-child{padding-left:0!important}.profile-grid .profile-box:last-child,.ward-profile-box:last-child{border-right:0!important;padding-right:0!important}.ward-profile{border-width:1px 0!important;border-radius:0!important;padding:20px 0!important}.ward-profile::before{display:none!important}.candidate-card,.ward-candidate-card{box-shadow:none!important}.community-quote,.ward-community-card{border-radius:3px!important;background:transparent!important}.matters{border-radius:3px!important;box-shadow:none!important}

@media(max-width:700px){.promise-overview{padding:18px}.promise-metrics{grid-template-columns:1fr}.promise-metrics div{padding:9px 0;border:0;border-bottom:1px solid var(--line)}.promise-legend{display:grid;grid-template-columns:1fr 1fr}.promise-legend span{border-bottom:1px solid var(--line)}.profile-grid .profile-box,.ward-profile-box{border:0!important;border-bottom:1px solid var(--line)!important;padding:16px 0!important}.profile-grid .profile-box:last-child,.ward-profile-box:last-child{border-bottom:0!important}}

/* Jenna-style story hierarchy: one dominant feature and a colorful right rail. */
.publication-side{gap:11px!important}.publication-side-story{display:grid!important;grid-template-columns:118px 1fr;gap:12px;align-items:stretch;padding:10px!important;border:1px solid var(--line)!important;border-radius:15px;background:var(--card)}.publication-side-story:first-child{grid-template-columns:1fr}.publication-side-story:first-child .publication-side-media{aspect-ratio:16/7}.publication-side-story+.publication-side-story{border-top:1px solid var(--line)!important}.publication-side-story:not(:first-child) .publication-side-media{aspect-ratio:auto;min-height:92px;border-radius:9px}.publication-side-story .publication-tag{margin-top:0}.publication-side-story h3{font-size:18px!important}.publication-side-story p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:900px){.publication-side-story:first-child{grid-column:1/-1;grid-template-columns:180px 1fr}.publication-side-story:first-child .publication-side-media{aspect-ratio:auto;min-height:120px}.publication-side-story+.publication-side-story{border-left:1px solid var(--line)!important;padding:10px!important}}
@media(max-width:620px){.publication-side-story,.publication-side-story:first-child{grid-column:auto;grid-template-columns:105px 1fr}.publication-side-story:first-child .publication-side-media{aspect-ratio:auto;min-height:92px}.publication-side-story+.publication-side-story{border-left:1px solid var(--line)!important;border-top:1px solid var(--line)!important;padding:10px!important}}
