.poll-page{max-width:1080px;color:#28252a}.poll-heading{margin:42px 0 28px}.poll-heading h1{font-size:clamp(36px,5vw,62px);line-height:1.05;margin:12px 0}.poll-heading p{max-width:720px;color:#5b565d;line-height:1.7}.poll-kicker{color:#b81236;text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:12px}.election-switch{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.election-switch a{padding:12px 18px;border:1px solid #ded9dd;border-radius:8px;color:#39333c;text-decoration:none;min-height:44px}.election-switch [aria-current=page]{background:#b81236;border-color:#b81236;color:#fff}.poll-toolbar{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;align-items:end;margin:24px 0}.poll-toolbar label{font-weight:700}.poll-toolbar select{display:block;padding:12px;margin-top:8px;max-width:100%;border:1px solid #cbc4ca;background:white;color:#28252a;border-radius:8px;font:inherit}.poll-toggle{display:flex;gap:6px;flex-wrap:wrap}.poll-toggle button{padding:12px 16px;background:white;border:1px solid #cbc4ca;border-radius:8px;font:inherit;color:#39333c;cursor:pointer}.poll-toggle [aria-pressed=true]{background:#342d36;color:white}.poll-card{border:1px solid #ded9dd;border-radius:16px;padding:clamp(18px,4vw,34px);background:white}.poll-card h2{font-size:26px;margin:0 0 8px}.poll-subtitle,.poll-explain{color:#615b64;line-height:1.6}.poll-row{margin:25px 0}.poll-row-title{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.poll-row-title strong{font-size:20px}.poll-row-title b{font-size:32px}.poll-track{height:16px;background:#f0edf0;border-radius:9px;overflow:hidden;margin-top:9px}.poll-fill{height:100%;background:#77687e;border-radius:9px}.poll-row[data-party=PT] .poll-fill{background:#bc173b}.poll-row[data-party=PL] .poll-fill{background:#356682}.poll-method{border-top:1px solid #e5e0e4;margin-top:28px;padding-top:22px;line-height:1.65}.poll-method summary{font-weight:700;cursor:pointer;min-height:44px}.poll-method dl{display:grid;grid-template-columns:1fr 1fr;gap:16px}.poll-method dt{font-size:12px;color:#665d68}.poll-method dd{margin:4px 0;font-weight:700}.poll-note{background:#f6f3f5;border-left:3px solid #b81236;padding:15px 18px;line-height:1.6;margin-top:20px}.poll-status{font-size:13px;line-height:1.6;color:#665d68}.poll-source{display:inline-block;margin:14px 0;color:#a50e30;text-underline-offset:3px}.poll-error{color:#9b1230}.poll-page button:focus-visible,.poll-page a:focus-visible,.poll-page select:focus-visible{outline:3px solid #356682;outline-offset:3px}@media(max-width:600px){.poll-method dl{grid-template-columns:1fr}.poll-toolbar{display:block}.poll-toggle{margin-top:18px}.poll-row-title strong{font-size:17px}.poll-row-title b{font-size:27px}.poll-heading{margin-top:26px}}
