/* Five-page navigation and the Voter’s Pulse snapshot. */
.page-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.page-nav a{font-size:.86rem;overflow-wrap:anywhere}
.page-nav .page-number{flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--red);color:white;display:inline-flex;align-items:center;justify-content:center;font-size:.86rem;line-height:1;font-weight:700;white-space:nowrap;overflow-wrap:normal}
[hidden]{display:none!important}
button,input{font:inherit}button{cursor:pointer}
button:disabled,input:disabled{opacity:.6;cursor:default}
button:focus-visible,input:focus-visible,summary:focus-visible{outline:4px solid #ffd34e;outline-offset:3px}
.address-entry{max-width:760px;margin:12px auto 35px;padding:34px;border:1px solid #c9d9ec;border-top:5px solid var(--blue);border-radius:18px;background:#f7faff;box-shadow:0 12px 30px #14335208}
.address-entry h2{font-size:1.7rem}.address-entry form{margin-top:25px}
.address-entry label,.pulse-share label{display:block;font-weight:700;margin-bottom:10px}
.address-entry #address-status{font-size:.88rem;color:#375474}
.browse-counties{padding:22px 0;margin:0 0 28px;border-top:1px solid var(--line)}
.browse-counties>summary{font-size:1.05rem;font-weight:700;cursor:pointer;color:var(--navy)}
.lookup-controls{display:flex;flex-wrap:wrap;gap:10px}
.lookup-controls input{min-width:0;flex:1 1 260px;width:100%;border:1px solid #a6bdd7;border-radius:8px;padding:13px;font-size:1rem}
.lookup-controls button{flex:0 0 auto}

.pulse{background:#f3f7fc;border:1px solid #dbe5f0;border-radius:20px;padding:24px;margin:0 -24px 24px}
.pulse p{margin:.7rem 0}.pulse h3{font-size:1.08rem;line-height:1.35}
.pulse-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}
.pulse-heading .intro{font-size:1.55rem;font-weight:800;color:var(--navy);margin:0}.pulse-heading p{margin:.25rem 0}
.pulse-status{background:#e5eefb;color:#16437c;border:1px solid #bbcee8;border-radius:30px;padding:8px 13px;font-size:.82rem;font-weight:700;white-space:nowrap}
.pulse-status.partial{background:#fff2d5;color:#674300;border-color:#deb75f}
.lookup-notice{border-left:4px solid #bd8400;background:#fff8e8;padding:12px 15px;color:#493b21;font-weight:650;line-height:1.5}
.pulse-context{border-left:4px solid var(--blue);padding:16px 20px;background:white;border-radius:0 10px 10px 0;margin-bottom:22px}
.pulse-context p{margin:0}.pulse-context .pulse-actions{margin:12px 0 0}
.pulse-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}
.pulse-kpi{display:flex;flex-direction:column;background:white;border:1px solid #cfdaea;border-top:4px solid var(--blue);border-radius:14px;padding:19px 17px;text-decoration:none;box-shadow:0 3px 10px #102d4d05}
.pulse-kpi.red{border-top-color:var(--red)}
.pulse-kpi span{font-size:.84rem;font-weight:700;color:#44556b;line-height:1.4;min-height:2.8em}
.pulse-kpi strong{font-size:2.15rem;line-height:1.3;color:var(--blue);margin:9px 0}.pulse-kpi.red strong{color:var(--red)}.pulse-kpi small{font-size:.8rem;color:#44556b}
.pulse-card{background:white;border:1px solid #d3dfed;border-radius:16px;padding:24px;margin:0 0 22px;box-shadow:0 3px 12px #14335206;overflow-wrap:anywhere;min-width:0}
.pulse-card h2{font-size:1.2rem;line-height:1.35;display:flex;align-items:flex-start;gap:10px;margin:0 0 16px}
.pulse-number{background:var(--blue);color:white;flex:0 0 30px;height:30px;font-size:.86rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.pulse-meta{font-size:.8rem;color:#44556b;line-height:1.55}
.pulse-district{display:block;font-size:.84rem;color:#375a80;margin:4px 0;font-weight:700}
.pulse-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 8px}.pulse-actions .button{font-size:.86rem}
.pulse-registration{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:center;border-left:5px solid var(--blue)}
.pulse-registration .pulse-link-list{margin:0}.pulse-registration .button{justify-content:center;text-align:center}
.pulse .eyebrow{font-size:.8rem;margin:0 0 8px}
.pulse-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.pulse-section-heading h2{margin:0}.pulse-section-heading>a{font-size:.9rem;font-weight:700}
.pulse-methods{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pulse-methods>li{border-top:3px solid #dbe6f3;padding-top:16px;min-width:0}.pulse-methods>li:nth-child(2){border-color:var(--blue)}.pulse-methods>li:nth-child(3){border-color:var(--red)}
.pulse-methods>li>strong{font-size:1.05rem;color:var(--navy)}.pulse-methods p{margin:.5rem 0}.pulse-methods a{font-size:.9rem;font-weight:700}
.pulse-id-band{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;background:#eff5fc;border-radius:10px;padding:18px 20px;margin-top:24px}
.pulse-id-band h3{margin:0}.pulse-id-band p{margin:.4rem 0 0}.pulse-id-band .pulse-link-list{margin:0;align-content:center}
.pulse-link-list{display:grid;gap:12px;margin-top:16px}.pulse-link-list a{font-size:.9rem}

/* Equal-width polling, deadlines and district cards; ballot content below. */
.pulse-top-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px;align-items:stretch}
.pulse-top-grid>.pulse-card{margin:0;padding:20px;font-size:.94rem}
.pulse-top-grid h2{font-size:1.1rem;min-height:3em}
.pulse-ballot-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:22px;align-items:start}
.pulse-top-grid .lookup-result:first-child{padding-top:0}
.precinct-line{padding-top:14px;margin-top:15px;border-top:1px solid #dbe4ee}.precinct-line>strong{display:block;font-size:1rem;color:var(--navy)}
.pulse-timeline{position:relative;padding:0 0 0 23px;list-style:none;margin:20px 0;--timeline-axis:1px}
.pulse-timeline:before{content:'';position:absolute;top:0;bottom:0;left:var(--timeline-axis);width:2px;background:#dfe7f1;transform:translateX(-50%)}
.pulse-timeline li{position:relative;margin:0 0 22px;display:flex;flex-direction:column;gap:4px}
.pulse-timeline li:before{content:'';position:absolute;width:12px;height:12px;box-sizing:content-box;border-radius:50%;background:var(--blue);border:3px solid white;left:calc(var(--timeline-axis) - 23px);transform:translateX(-50%);top:5px;box-shadow:0 0 0 1px #c6d4e7}
.pulse-timeline li:first-child:before{background:var(--red)}.pulse-timeline li>span{color:#44556b;font-size:.86rem}.pulse-timeline li>strong{color:var(--navy)}.pulse-timeline p{font-size:.8rem;margin:0}
.district-chips{display:flex;flex-direction:column;gap:9px;list-style:none;padding:0}
.district-chips li{display:flex;flex-direction:column;gap:.3rem;overflow-wrap:anywhere;border:1px solid #c3d6ec;background:#edf4fc;border-radius:9px;padding:10px 12px;font-size:.86rem;margin:0}
.district-chips .district-title{display:flex;flex-direction:column;gap:.15rem;min-width:0;line-height:1.45}
.district-chips .district-office{color:#375a80;font-size:.8rem}
.district-chips .district-name{color:var(--navy);font-size:.86rem}
.district-chips .district-source,.district-chips a{font-size:.8rem;line-height:1.45;font-weight:400}
.location-status{font-weight:800;color:var(--navy);letter-spacing:.035em;font-size:.8rem}
.lookup-result{padding:16px 0;border-bottom:1px solid #e0e7f0}.lookup-result:last-child{border-bottom:0}.lookup-result ul{padding-left:23px}
.lookup-status{border-left:3px solid #819ab8;background:#f1f5fa;padding:12px 14px;font-size:.86rem}

/* Consistent hierarchy for both the office index and candidate profiles. */
.pulse-office-group{border:1px solid #cbd9e9;border-radius:11px;margin:12px 0;overflow:hidden}
.pulse-office-group>summary{padding:15px 16px;background:#f0f5fb;font-weight:700;color:var(--navy);cursor:pointer;line-height:1.45}
.pulse-office-group>summary::marker{color:var(--blue)}
.pulse-office-group[open]>summary{border-bottom:1px solid #cbd9e9;background:#eaf2fc}
.office-group-name{font-size:1rem}.office-count{display:inline-block;font-size:.8rem;font-weight:400;color:#48627e;margin-left:8px;white-space:nowrap}
.pulse-group-body{padding:0 16px 10px}.pulse .group-description{font-size:.8rem;color:#48627e;margin:14px 0}
.pulse .office-subgroup{font-size:.8rem;font-weight:800;color:#375a80;border-bottom:2px solid #d6e2ef;padding:12px 0 8px;margin:14px 0 0}
.pulse-office{padding:18px 0;border-top:1px solid #dde5ef;min-width:0}.pulse-office:first-of-type{border-top:0}
.office-title h3{font-size:1.1rem;margin:0 0 9px;line-height:1.35}
.office-district{display:inline-block;font-size:.84rem;font-weight:700;color:#234f7a;background:#edf4fc;border:1px solid #d5e3f2;border-radius:6px;padding:5px 9px;max-width:100%}
.pulse .office-electorate{font-size:.88rem;margin:12px 0}.pulse .office-explainer{font-size:.84rem;border-left:3px solid var(--blue);padding:8px 12px;background:#f2f6fb}
.pulse-office .candidate-list{margin:14px 0}.pulse-office .candidate-list li{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;padding:9px 0;font-size:.94rem}
.pulse-office .candidate-list li>strong{flex:1 1 190px}.pulse-office .candidate-list .party{flex:0 0 auto}
.matched-candidate{border-top:1px solid #e1e8f0;margin:10px 0;padding:12px 0;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;font-size:.94rem}
.matched-candidate>strong{flex:1 1 190px}.matched-candidate>a{width:100%;font-size:.8rem}
.office-full-link{display:block;margin-top:8px}.pulse-office p.pulse-meta{font-size:.8rem}
.pulse-office-index{list-style:none;padding:0;display:grid;gap:0;margin:0}
.pulse-office-index li{border-top:1px solid #dce5f0;padding:13px 0;font-size:.94rem}.pulse-office-index li:first-child{border-top:0}
.pulse-office-index li>a{font-weight:700}.pulse-office-index li>span{display:block;font-size:.84rem;color:#375a80;margin-top:5px}
.district-key{background:#f2f6fb;border-radius:9px;padding:14px 16px;margin:18px 0;font-size:.88rem}.district-key>summary{font-weight:700;cursor:pointer;color:var(--navy)}
.measures-heading{border-top:2px solid #d9e3f0;margin-top:26px;padding-top:22px}
.pulse-measures{padding:0;list-style:none}.pulse-measures li{border-bottom:1px solid #dde5ef;padding:12px 0 16px}.pulse-measures a{font-weight:700}
.pulse-more{display:inline-block;margin-top:14px;font-size:.9rem;font-weight:700}
.county-reference{margin:24px 0;border-top:2px solid #c4d5e9;padding-top:18px}.county-reference>summary{font-weight:700;font-size:1rem;cursor:pointer}.county-reference li{margin:.6rem 0}
.personal-guide-bar{border-left:4px solid var(--blue);background:#eaf2fa;padding:18px 22px;margin:20px 0}.personal-guide-bar p{margin:6px 0}.personal-guide-bar a{font-weight:700}
.personal-locations{border:1px solid #c6d8ee;border-radius:12px;padding:20px}.navigation-error{background:#fff4e1;border-left:4px solid #8a5a10;padding:14px}

/* Native details keeps the floating sharing helper keyboard accessible. */
.pulse-share-helper{margin:22px 0}.share-launcher{list-style:none;display:flex;align-items:center;gap:16px;cursor:pointer;font-weight:700;background:var(--navy);color:white;padding:13px 20px;border:2px solid white;border-radius:40px;box-shadow:0 5px 22px #08295733;font-size:.94rem;min-height:50px}
.share-launcher::-webkit-details-marker{display:none}.share-launcher>span{font-size:1.15rem}
.pulse-share-helper.share-ready{position:fixed;z-index:25;right:max(20px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));margin:0}
.pulse-share{background:white;border:1px solid #c0d2e8;border-radius:16px;padding:24px;margin:12px 0;box-shadow:0 12px 45px #09295726;overflow-wrap:anywhere}
.share-ready>.pulse-share{position:absolute;right:0;bottom:calc(100% + 12px);width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;margin:0}
.share-heading{display:flex;align-items:flex-start;gap:18px;justify-content:space-between}.share-heading h2{font-size:1.25rem;line-height:1.3;margin:0}
.share-close{background:#edf3fa;color:var(--navy);border:1px solid #b6cbe3;border-radius:7px;padding:8px 11px;min-height:44px;font-size:.84rem}
.pulse-share input,.message-preview textarea{max-width:100%;width:100%;border:1px solid #a8bfd9;border-radius:8px;padding:12px;font:inherit}
.pulse-share>button{margin-top:12px;width:100%;justify-content:center}
.pulse-share .pulse-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pulse-share .pulse-actions .button{justify-content:center;text-align:center;padding:10px 8px;font-size:.84rem}
.message-preview{margin:18px 0}.message-preview summary{cursor:pointer;font-weight:700;font-size:.9rem}.message-preview textarea{font-size:.8rem;line-height:1.5;margin-top:12px;resize:vertical}
body:has(.share-ready) footer{padding-bottom:110px}
.pulse .pulse-footnote{margin:0}

@media(max-width:1000px){
  .pulse{padding:18px;margin:0 0 24px}.pulse-top-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pulse-top-grid>#pulse-districts{grid-column:1/-1}.pulse-top-grid>#pulse-districts .district-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .pulse-top-grid h2{min-height:0}.pulse-ballot-grid{grid-template-columns:1fr}.page-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .pulse-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pulse-methods{gap:18px}.pulse-card{padding:20px}
}
@media(max-width:700px){
  .pulse-registration,.pulse-id-band{grid-template-columns:1fr;gap:18px}.pulse-methods{grid-template-columns:1fr;gap:18px}
  .pulse-top-grid{grid-template-columns:1fr}.pulse-top-grid>#pulse-districts{grid-column:auto}.pulse-top-grid>#pulse-districts .district-chips{display:flex}
  .pulse-section-heading{align-items:flex-start}.pulse-card h2{font-size:1.15rem}
}
@media(max-width:600px){
  .page-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.page-nav a:last-child{grid-column:1/-1}
  .address-entry{padding:22px 18px}.address-entry h2{font-size:1.4rem}.pulse{padding:12px;border-radius:12px}
  .pulse-heading{display:block}.pulse-heading .intro{font-size:1.35rem}.pulse-status{display:inline-block;margin-top:12px;white-space:normal}
  .pulse-kpis{gap:10px}.pulse-kpi{padding:14px 12px}.pulse-kpi strong{font-size:1.8rem}.pulse-kpi span{min-height:0}
  .pulse-card,.pulse-top-grid>.pulse-card{padding:17px}.pulse-context{padding:14px}
  .pulse-context .button,.lookup-controls button{width:100%;justify-content:center}.pulse-timeline{margin-left:5px}
  .pulse-group-body{padding:0 12px 8px}.pulse-office-group>summary{padding:14px 12px}.office-count{display:block;margin:4px 0 0 18px}
  .pulse-share-helper.share-ready{right:16px;bottom:max(14px,env(safe-area-inset-bottom))}.pulse-share{padding:18px}.share-launcher{padding:11px 17px}
}
@media print{
  .pulse{border:0;background:white;padding:0;margin:0}.pulse-card{box-shadow:none;break-inside:auto}.pulse-top-grid,.pulse-ballot-grid{display:block}
  .pulse-kpis{grid-template-columns:repeat(4,1fr)}.pulse-kpi strong{font-size:20pt}
  .pulse-registration,.pulse-id-band{display:block}.pulse-methods{grid-template-columns:repeat(3,1fr)}
  .pulse-share-helper,.pulse-actions,.pulse-status,.lookup-status{display:none!important}.pulse-office{break-inside:avoid}
  .pulse-card h2,.pulse-office-group>summary{break-after:avoid}.pulse-office-group{break-inside:auto}.district-chips li{break-inside:avoid}
  .pulse-group-body{padding:0 12px}.pulse-office-index li{break-inside:avoid}body:has(.share-ready) footer{padding-bottom:24px}
}

.pulse-measure{margin:16px 0;padding:18px;overflow-wrap:anywhere}.pulse-measure h3{line-height:1.25;margin:8px 0 14px}.pulse-measure .yes-no{display:block;padding:10px 14px;background:var(--pale);border-radius:6px}.pulse-measure .yes-no p{padding:0;margin:8px 0}.pulse-measure details{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.pulse-measure details p{white-space:pre-line}.measure-reference{border-top:2px solid var(--line);padding-top:20px;margin-top:24px}
