:root{--bg:#f7f6f3;--card:#fff;--ink:#171717;--muted:#74716b;--line:#e5e1da;--soft:#efede8;--accent:#111;--green:#2c6540;--greenbg:#e8f2ea}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}.site-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,5vw);border-bottom:1px solid var(--line);background:rgba(247,246,243,.96);position:sticky;top:0;z-index:10}.brand{font-size:25px;font-weight:900;letter-spacing:-.055em;color:var(--ink);text-decoration:none}.site-header nav{display:flex;gap:25px}.site-header nav a{font-size:13px;color:var(--muted);text-decoration:none}.site-header nav a:hover,.site-header nav a.active{color:var(--ink)}.menu{display:none;border:0;background:none;font-size:22px}.site-header+main,main{max-width:1120px;margin:auto;padding:0 22px}.hero{padding:82px 0 58px;max-width:850px}.eyebrow{font-size:10px;font-weight:850;letter-spacing:.17em;color:var(--muted);margin:0 0 12px}.hero h1{font-size:clamp(50px,8vw,84px);line-height:.91;letter-spacing:-.075em;margin:0 0 24px}.hero-copy{font-size:22px;color:#44413c;margin:0 0 18px;max-width:600px}.rhythm{font-size:13px;color:var(--muted);margin:0}.rhythm span{padding:0 7px;color:#aaa}.announcement{display:flex;gap:15px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:17px;padding:19px 21px;margin-bottom:74px}.announcement-icon{font-size:19px}.announcement strong{font-size:15px}.announcement p:not(.eyebrow){margin:5px 0 0;color:var(--muted);font-size:13px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:19px}.section-heading h2{font-size:31px;letter-spacing:-.045em;margin:0}.week-badge,.coming{font-size:10px;font-weight:850;letter-spacing:.12em;color:var(--muted);border:1px solid var(--line);background:var(--card);padding:8px 10px;border-radius:999px}.poll-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.poll-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:21px}.poll-top{display:flex;justify-content:space-between;gap:10px;padding-bottom:17px}.poll-top h3{font-size:19px;margin:0;letter-spacing:-.025em}.poll-top p{font-size:12px;color:var(--muted);margin:4px 0 0}.poll-top>span{font-size:11px;color:#aaa;font-weight:800}.candidate{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:10px 0}.avatar{width:31px;height:31px;border-radius:50%;background:var(--soft);display:grid;place-items:center;font-size:10px;font-weight:850;flex:none}.cand-name{font-size:13px;font-weight:650;flex:1;min-width:0}.vote{border:0;background:var(--accent);color:#fff;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer}.vote:disabled{opacity:.35;cursor:not-allowed}.poll-note{font-size:11px;color:var(--muted);margin:13px 0 0}.results-preview{border-top:1px solid var(--line);margin-top:82px;padding-top:53px}.text-link{font-size:13px;font-weight:750;color:var(--ink);text-decoration:none}.mini-results{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mini-result{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:19px}.mini-result h3{margin:0 0 14px;font-size:15px}.mini-result .winner{display:flex;align-items:center;justify-content:space-between;padding-top:11px;border-top:1px solid var(--line);font-size:13px}.mini-result .winner strong{font-size:12px}.nomination-teaser{display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid var(--line);background:var(--card);border-radius:18px;padding:25px;margin:72px 0 82px}.nomination-teaser h2{font-size:23px;letter-spacing:-.035em;margin:0 0 5px}.nomination-teaser p:not(.eyebrow){margin:0;color:var(--muted);font-size:13px}.page-main{padding-bottom:80px}.page-hero{padding:78px 0 52px;max-width:760px}.page-hero h1{font-size:clamp(45px,7vw,70px);line-height:.96;letter-spacing:-.065em;margin:0 0 21px}.page-hero>p:last-child{font-size:18px;color:var(--muted);max-width:680px;margin:0}.month-status{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:14px 17px;margin-bottom:18px;font-size:13px}.month-status span{color:var(--muted)}.result-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.result-block{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:21px}.result-block h2{font-size:17px;margin:0 0 15px}.result-block .week-row{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);font-size:13px}.future-note{display:flex;gap:14px;align-items:flex-start;border:1px dashed #d7d2ca;border-radius:16px;padding:19px;margin-top:25px;background:#fbfaf8}.future-note>span{font-size:19px}.future-note strong{font-size:14px}.future-note p{font-size:12px;color:var(--muted);margin:4px 0 0}.steps{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.steps article,.timing,.simple-copy,.contact-card{background:var(--card);border:1px solid var(--line);border-radius:17px;padding:24px}.steps b{font-size:11px;color:#aaa}.steps h2{font-size:20px;margin:15px 0 6px}.steps p{font-size:13px;color:var(--muted);margin:0}.timing{margin-top:16px}.timing h2{font-size:25px;letter-spacing:-.035em;margin:0 0 19px}.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.timeline div{border-top:2px solid var(--ink);padding-top:11px}.timeline strong{display:block;font-size:11px}.timeline span{display:block;color:var(--muted);font-size:11px;margin-top:5px}.rule-list{display:grid;gap:10px}.rule-list article{display:grid;grid-template-columns:55px 1fr;gap:20px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:21px}.rule-list article>b{font-size:11px;color:#aaa}.rule-list h2{font-size:17px;margin:0 0 4px}.rule-list p{font-size:13px;color:var(--muted);margin:0;max-width:800px}.coming{margin-top:60px;padding:28px;background:transparent;border-radius:17px}.coming h2{font-size:27px;letter-spacing:-.04em;margin:0 0 17px}.coming-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.coming-grid div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;font-size:15px}.coming-grid span{font-size:12px;font-weight:750;margin-left:5px}.simple-copy,.contact-card{max-width:760px}.simple-copy h2{margin-top:0}.simple-copy p,.contact-card p{font-size:14px;color:var(--muted)}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px max(22px,5vw);color:var(--muted);font-size:11px}footer div{display:flex;gap:12px;align-items:center}footer strong{color:var(--ink)}footer nav{display:flex;gap:18px}footer nav a{color:var(--muted);text-decoration:none}footer small{font-size:11px}@media(max-width:900px){.poll-grid,.mini-results,.result-page-grid{grid-template-columns:1fr}.timeline{grid-template-columns:1fr 1fr}.coming-grid{grid-template-columns:1fr 1fr}.site-header nav{gap:13px}.site-header nav a:nth-child(4){display:none}}@media(max-width:620px){.site-header{height:64px}.site-header nav{display:none}.menu{display:block}.hero{padding:55px 0 40px}.hero h1{font-size:51px}.hero-copy{font-size:18px}.announcement{margin-bottom:55px}.section-heading h2{font-size:25px}.nomination-teaser{align-items:flex-start;flex-direction:column;margin-bottom:55px}.page-hero{padding:55px 0 38px}.page-hero h1{font-size:48px}.steps{grid-template-columns:1fr}.timeline{grid-template-columns:1fr}.rule-list article{grid-template-columns:38px 1fr}.coming-grid{grid-template-columns:1fr}.month-status{align-items:flex-start;gap:8px;flex-direction:column}footer{align-items:flex-start;flex-direction:column}footer nav{flex-wrap:wrap}}


/* V4 additions */
.results-title { font-size: clamp(2.25rem, 6vw, 4.375rem) !important; }
.upcoming-polls, .feedback-form { max-width: 900px; margin: 0 auto; }
.upcoming-polls { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--line, #ddd); }
.feedback-form { display: grid; gap: .65rem; padding-bottom: 3rem; }
.feedback-form label { font-weight: 600; }
.feedback-form label span { font-weight: 400; opacity: .65; }
.feedback-form input, .feedback-form textarea { width: 100%; box-sizing: border-box; padding: .9rem 1rem; border: 1px solid var(--line, #ddd); border-radius: .7rem; font: inherit; background: inherit; }
.feedback-form textarea { resize: vertical; }
.feedback-form button { width: fit-content; padding: .8rem 1.2rem; border: 0; border-radius: .7rem; font: inherit; font-weight: 700; cursor: pointer; }
.form-note { margin: .25rem 0 0; font-size: .9rem; opacity: .65; }
@media (max-width: 520px) { .results-preview h2 { font-size: clamp(1.35rem, 7vw, 2rem); } }

.candidate-list{max-height:390px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.announcement{max-height:190px;overflow-y:auto;overscroll-behavior:contain}.announcement[hidden]{display:none}

.announcement{display:block}.announcement-item{display:flex;gap:15px;align-items:flex-start;padding:11px 0}.announcement-item+.announcement-item{border-top:1px solid var(--line)}.announcement-link{display:inline-block;margin-top:8px}.avatar img{width:31px;height:31px;border-radius:50%;object-fit:cover;display:block}
@media(max-width:620px){.site-header nav.mobile-open{display:flex;position:absolute;left:0;right:0;top:64px;flex-direction:column;gap:0;padding:8px 22px 12px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 8px 20px rgba(0,0,0,.04)}.site-header nav.mobile-open a{display:block;padding:10px 0;font-size:14px}.site-header nav.mobile-open a:nth-child(4){display:block}.announcement{max-height:260px}}


.tiebreak-polls{margin:0 0 24px}.tiebreak-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:21px}.tiebreak-card .candidate-list{max-height:390px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.tiebreak-card[hidden]{display:none}

.maintenance-banner{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:18px 20px;margin:24px 0}.maintenance-banner strong{font-size:15px}.maintenance-active .poll-card{opacity:.72}.maintenance-active .vote{cursor:not-allowed}
