*{box-sizing:border-box;margin:0;padding:0}
:root{--deep:#0A1628;--teal:#0E4D6C;--gold:#FFD700;--red:#800000;--paper:#F5F8FC;--border:#D0DCE8;--muted:#7A8A99;--ink:#121A24}
body{background:var(--paper);color:var(--ink);font-family:'Sora',sans-serif;min-height:100vh}

/* PROGRESS */
.prog{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,#0E4D6C,#FFD700);z-index:999;width:0;transition:width .1s}

/* MASTHEAD — full dark hero */
.masthead{background:var(--deep);min-height:420px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.mast-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none}
.mast-top{padding:.7rem 1.4rem;border-bottom:1px solid rgba(255,255,255,.07);max-width:1080px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.mast-crumb{display:flex;align-items:center;gap:.4rem}
.mast-crumb a{font-size:.7rem;color:rgba(255,255,255,.4);text-decoration:none;font-family:'Sora',sans-serif;transition:color .15s}
.mast-crumb a:hover{color:#FFD700}
.mast-crumb .sep{color:rgba(255,255,255,.2);font-size:.6rem}
.mast-crumb .cur{font-size:.7rem;color:rgba(255,255,255,.6)}
.mast-cat-tag{font-family:'Sora',sans-serif;font-weight:800;font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:#FFD700;background:rgba(255,215,0,.1);border:1px solid rgba(255,215,0,.2);padding:.2rem .65rem;border-radius:2px}

.mast-body{flex:1;max-width:1080px;margin:0 auto;padding:2.5rem 1.4rem 3rem;width:100%;display:grid;grid-template-columns:1fr 340px;gap:3rem;align-items:center}
@media(max-width:800px){.mast-body{grid-template-columns:1fr}}

.mast-left .date-chip{font-family:'Sora',sans-serif;font-weight:600;font-size:.68rem;color:rgba(255,255,255,.45);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.8rem;display:block}
.mast-left h1{font-family:'Crimson Pro',serif;font-weight:600;font-size:clamp(2rem,4.5vw,3.5rem);color:#fff;line-height:1.1;margin-bottom:.9rem}
.mast-left h1 strong{color:#FFD700}
.mast-left .sub{font-family:'Sora',sans-serif;font-size:.88rem;color:rgba(255,255,255,.5);line-height:1.75;font-weight:300}
.mast-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1.2rem}
.mast-meta-i{font-family:'Sora',sans-serif;font-size:.72rem;color:rgba(255,255,255,.4);display:flex;align-items:center;gap:.35rem}
.mast-meta-i svg{width:12px;height:12px}

/* VOTE SCOREBOARD */
.scoreboard{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;backdrop-filter:blur(4px)}
.sb-title{font-family:'Sora',sans-serif;font-weight:800;font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.4);text-align:center;margin-bottom:1.2rem}
.sb-scores{display:flex;gap:.8rem;margin-bottom:1rem}
.sb-score-item{flex:1;text-align:center;padding:.9rem .5rem;border-radius:8px}
.sb-score-item.ayes{background:rgba(22,163,74,.15);border:1px solid rgba(22,163,74,.25)}
.sb-score-item.nays{background:rgba(220,38,38,.1);border:1px solid rgba(220,38,38,.2)}
.sb-n{font-family:'Sora',sans-serif;font-weight:800;font-size:2.8rem;line-height:1;display:block}
.sb-score-item.ayes .sb-n{color:#4ADE80}
.sb-score-item.nays .sb-n{color:#FCA5A5}
.sb-l{font-family:'Sora',sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-top:.25rem;display:block}
.sb-score-item.ayes .sb-l{color:rgba(74,222,128,.6)}
.sb-score-item.nays .sb-l{color:rgba(252,165,165,.6)}
/* Bar */
.sb-bar{height:8px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden;margin-bottom:.6rem}
.sb-bar-inner{height:100%;display:flex}
.sb-bar-ayes{background:linear-gradient(90deg,#16A34A,#4ADE80);width:64.5%;border-radius:99px 0 0 99px}
.sb-bar-nays{background:linear-gradient(90deg,#B91C1C,#FCA5A5);width:35.5%;border-radius:0 99px 99px 0}
.sb-bar-labels{display:flex;justify-content:space-between;font-family:'Sora',sans-serif;font-size:.62rem;color:rgba(255,255,255,.3)}
.sb-margin{text-align:center;margin-top:.8rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.07)}
.sb-margin-n{font-family:'Sora',sans-serif;font-weight:800;font-size:1.3rem;color:#FFD700;display:block;line-height:1}
.sb-margin-l{font-family:'Sora',sans-serif;font-size:.6rem;color:rgba(255,255,255,.3);letter-spacing:.12em;text-transform:uppercase;margin-top:.15rem;display:block}

/* CONTENT AREA */
.content-wrap{max-width:1080px;margin:0 auto;padding:2.5rem 1.4rem 4rem;display:grid;grid-template-columns:1fr 280px;gap:3rem}
@media(max-width:900px){.content-wrap{grid-template-columns:1fr}}

/* ARTICLE BODY */
.article p{font-family:'Crimson Pro',serif;font-size:1.05rem;line-height:1.9;color:#2A3340;margin-bottom:1.3rem}
.article p:first-child::first-letter{font-size:3.8rem;font-weight:600;float:left;line-height:.85;margin:0 .1em 0 0;color:var(--teal);font-family:'Crimson Pro',serif}
.article h2{font-family:'Sora',sans-serif;font-weight:800;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin:2.2rem 0 .8rem;display:flex;align-items:center;gap:.6rem}
.article h2::after{content:'';flex:1;height:1px;background:var(--border)}
.article blockquote{background:#fff;border:1px solid var(--border);border-left:4px solid var(--teal);padding:1.2rem 1.5rem;margin:1.5rem 0;border-radius:0 8px 8px 0}
.article blockquote p{font-family:'Crimson Pro',serif;font-style:italic;font-size:1.05rem;color:#3A4A5A;margin-bottom:.4rem;line-height:1.7}
.article blockquote p::first-letter{font-size:inherit;float:none;margin:0;color:inherit}
.article blockquote cite{font-family:'Sora',sans-serif;font-size:.72rem;color:var(--muted);font-weight:600}

/* VOTE BREAKDOWN TABLE */
.vote-table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-family:'Sora',sans-serif;font-size:.82rem}
.vote-table thead tr{background:var(--deep);color:#fff}
.vote-table thead th{padding:.65rem 1rem;font-weight:700;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;text-align:left}
.vote-table tbody tr{border-bottom:1px solid var(--border)}
.vote-table tbody tr:nth-child(even){background:#EEF4F9}
.vote-table tbody tr:hover{background:#E0EDF7}
.vote-table td{padding:.6rem 1rem;line-height:1.4}
.vote-table td:first-child{font-weight:700}
.vote-v{font-weight:800;font-size:.95rem}
.vote-ayes .vote-v{color:#16A34A}
.vote-nays .vote-v{color:#B91C1C}
.vote-abs .vote-v{color:var(--muted)}
.party-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:.4rem;flex-shrink:0}

/* INFO BOX */
.info-box{background:var(--deep);color:#fff;padding:1.6rem 1.8rem;margin:2rem 0;border-radius:8px}
.info-box h4{font-family:'Sora',sans-serif;font-weight:800;font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:#FFD700;margin-bottom:1rem}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
@media(max-width:500px){.info-grid{grid-template-columns:1fr}}
.info-item{}
.info-label{font-family:'Sora',sans-serif;font-size:.65rem;color:rgba(255,255,255,.35);letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:.1rem}
.info-val{font-family:'Sora',sans-serif;font-size:.88rem;font-weight:700;color:#fff}

/* TIMELINE */
.timeline{margin:1.5rem 0}
.tl-item{display:flex;gap:1rem;margin-bottom:1.2rem}
.tl-left{display:flex;flex-direction:column;align-items:center;gap:0;flex-shrink:0;width:36px}
.tl-dot{width:12px;height:12px;border-radius:50%;background:var(--teal);border:2px solid #fff;box-shadow:0 0 0 2px var(--teal);flex-shrink:0;margin-top:.2rem}
.tl-line{width:2px;flex:1;background:var(--border);margin-top:.2rem}
.tl-item:last-child .tl-line{display:none}
.tl-content{padding-bottom:.8rem}
.tl-time{font-family:'Sora',sans-serif;font-size:.65rem;font-weight:700;color:var(--teal);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.2rem}
.tl-text{font-family:'Crimson Pro',serif;font-size:.95rem;color:#2A3340;line-height:1.65}

/* SIDEBAR */
.side{display:flex;flex-direction:column;gap:1rem}
.side-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:1.2rem}
.side-title{font-family:'Sora',sans-serif;font-weight:800;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin-bottom:.9rem}
.share-s{display:flex;align-items:center;gap:.5rem;padding:.5rem .8rem;border-radius:6px;font-family:'Sora',sans-serif;font-weight:700;font-size:.72rem;text-decoration:none;transition:opacity .2s;margin-bottom:.4rem}
.share-s:hover{opacity:.85}
.s-wa{background:#25D366;color:#fff}
.s-tw{background:#000;color:#fff}
.s-tg{background:#2AABEE;color:#fff}
.s-cp{background:#F5F8FC;color:var(--ink);border:1px solid var(--border);cursor:pointer;width:100%}
.rel-s{display:block;text-decoration:none;padding:.7rem 0;border-bottom:1px solid var(--border)}
.rel-s:last-child{border-bottom:none;padding-bottom:0}
.rel-s:hover .rel-s-title{color:var(--teal)}
.rel-s-cat{font-family:'Sora',sans-serif;font-weight:700;font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.15rem}
.rel-s-title{font-family:'Crimson Pro',serif;font-size:.88rem;color:var(--ink);line-height:1.4;display:block;transition:color .15s}
.rel-s-date{font-family:'Sora',sans-serif;font-size:.65rem;color:var(--muted);display:block;margin-top:.15rem}

/* SHARE FULL */
.share-full{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1rem 0;margin:2rem 0;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.sf-label{font-family:'Sora',sans-serif;font-weight:800;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);white-space:nowrap}

.art-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:2rem;border-top:1px solid var(--border);margin-top:2rem}
.ret-btn{display:inline-flex;align-items:center;gap:.4rem;font-family:'Sora',sans-serif;font-weight:700;font-size:.78rem;color:var(--teal);text-decoration:none;border:1.5px solid var(--border);padding:.5rem 1rem;border-radius:6px;transition:all .18s}
.ret-btn:hover{border-color:var(--teal);background:#EEF4F9}
.disclaimer{font-family:'Sora',sans-serif;font-size:.68rem;color:var(--muted);line-height:1.6;max-width:380px;font-style:italic}
