:root{--black:#070706;--paper:#eee9dc;--red:#ad3030;--gold:#e4ad3e;--white:#f7f4eb;--gray:#8d887e;--line:rgba(7,7,6,.18)}
*{box-sizing:border-box;min-width:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--black);font-family:Manrope,Arial,sans-serif}
a{color:inherit;text-decoration:none}
img{max-width:100%}

.progress{position:fixed;z-index:50;top:0;left:0;width:100%;height:3px}
.progress span{display:block;width:0;height:100%;background:var(--gold)}

.site-header{position:sticky;z-index:20;top:0;min-height:76px;padding:16px 3vw;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:rgba(7,7,6,.95);color:var(--white);border-bottom:1px solid #34322d;backdrop-filter:blur(12px)}
.wordmark{display:flex;align-items:center;gap:13px;font-size:13px;font-weight:800;letter-spacing:.12em}
nav{display:flex;gap:26px}
nav a{font:500 11px DM Mono,monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--white);border-bottom:1px solid transparent}
nav a:hover{border-color:var(--gold)}
.menu{display:none}

main{max-width:1040px;margin:0 auto;padding:0 3vw}

.hero{padding:70px 0 50px;border-bottom:1px solid var(--line)}
.hero .kicker{margin:0 0 16px;font:500 11px DM Mono,monospace;text-transform:uppercase;letter-spacing:.14em;color:var(--red)}
.hero h1{margin:0 0 22px;font:400 clamp(36px,6vw,66px)/1.05 Newsreader,serif;letter-spacing:-.02em;max-width:820px}
.hero p{max-width:640px;font:400 clamp(16px,1.6vw,19px)/1.6 Manrope,Arial,sans-serif;color:#2c2a26;margin:0 0 14px}
.hero .privacy-note{font:400 13px/1.6 Manrope,Arial,sans-serif;color:var(--gray);max-width:600px}

section.block{padding:60px 0;border-bottom:1px solid var(--line)}
section.block h2{margin:0 0 8px;font:400 clamp(26px,3.6vw,38px)/1.05 Newsreader,serif}
section.block .sub{margin:0 0 36px;font:400 15px/1.6 Manrope,Arial,sans-serif;color:var(--gray);max-width:600px}

.chart-wrap{overflow-x:auto}
.chart-empty{color:var(--gray);font-size:14px}
.bar-row{padding:14px 0;border-bottom:1px solid var(--line)}
.bar-row:last-child{border-bottom:0}
.bar-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:8px}
.bar-label{font:500 14px/1.4 Manrope,Arial,sans-serif}
.bar-count{font:500 12px DM Mono,monospace;color:var(--black);white-space:nowrap}
.bar-track{position:relative;height:14px;background:rgba(7,7,6,.06);border-radius:0 3px 3px 0}
.bar-fill{height:100%;min-width:3px;border-radius:0 3px 3px 0;background:var(--black)}
.bar-fill.leading{background:var(--red)}

.ideas-list{display:grid;gap:0}
.idea-card{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start;padding:24px 0;border-top:1px solid var(--line)}
.idea-card:first-child{border-top:0}
.idea-card .cat{display:inline-block;font:500 10px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--red);margin-bottom:8px}
.idea-card p.desc{margin:0 0 10px;font-size:16px;line-height:1.6}
.idea-card .meta{font:400 12px DM Mono,monospace;color:var(--gray);text-transform:uppercase}
.vote-btn{border:1px solid var(--black);background:var(--white);color:var(--black);padding:10px 18px;font:500 11px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;white-space:nowrap}
.vote-btn:hover{background:var(--black);color:var(--white)}
.vote-btn:disabled{opacity:.5;cursor:default;background:var(--white);color:var(--black)}
.vote-count-pill{display:block;margin-top:8px;text-align:center;font:500 11px DM Mono,monospace;color:var(--gray)}

.field{margin-bottom:22px}
.field label{display:block;font:500 11px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em;margin-bottom:9px}
.field select,.field textarea,.field input{width:100%;border:1px solid var(--black);background:var(--white);color:var(--black);padding:13px;font:400 16px Manrope,Arial,sans-serif;border-radius:0}
.field textarea{min-height:120px;resize:vertical}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--black) 50%),linear-gradient(135deg,var(--black) 50%,transparent 50%);background-position:calc(100% - 22px) 22px,calc(100% - 16px) 22px;background-size:6px 6px;background-repeat:no-repeat}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.submit-btn{display:inline-block;background:var(--black);color:var(--white);border:0;padding:16px 28px;font:500 11px DM Mono,monospace;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
.submit-btn:hover{background:var(--red)}
.submit-btn:disabled{opacity:.5;cursor:default}
.form-msg{margin-top:16px;font:500 13px DM Mono,monospace;text-transform:uppercase}
.form-msg.error{color:var(--red)}
.form-msg.ok{color:#2f6b3a}

dialog{border:1px solid var(--black);padding:0;max-width:420px;width:92vw}
dialog::backdrop{background:rgba(7,7,6,.55)}
.dialog-inner{padding:28px}
.dialog-inner h3{margin:0 0 6px;font:400 24px Newsreader,serif}
.dialog-inner p{margin:0 0 20px;font-size:13px;color:var(--gray)}
.dialog-actions{display:flex;gap:10px;margin-top:20px}
.btn-secondary{border:1px solid var(--black);background:var(--white);padding:12px 18px;font:500 11px DM Mono,monospace;text-transform:uppercase;cursor:pointer}

footer{padding:22px 3vw;background:var(--black);color:var(--white);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font:9px DM Mono,monospace;text-transform:uppercase;letter-spacing:.09em}

@media(max-width:700px){
  .two-col{grid-template-columns:1fr}
  .idea-card{grid-template-columns:1fr}
  .vote-btn{width:100%}
  nav{gap:16px;flex-wrap:wrap}
}
