:root { --navy:#14365c; --navy-deep:#0d2440; --gold:#b08d3e; --red:#8f1d1d; --bone:#fdfbf6; --ink:#22232a; }
* { box-sizing:border-box; margin:0; }
body { font-family:Georgia,'Times New Roman',serif; color:var(--ink); background:var(--bone); line-height:1.65; }
.wrap { max-width:760px; margin:0 auto; padding:0 1.25rem; }
header { background:linear-gradient(180deg,var(--navy-deep),var(--navy)); color:#fff; text-align:center; padding:2.4rem 1rem 2rem; }
header .kicker { letter-spacing:.18em; font-size:.85rem; color:var(--gold); text-transform:uppercase; }
header h1 { font-size:2.6rem; line-height:1.1; margin:.4rem 0 .2rem; letter-spacing:.02em; }
header h1 a { color:#fff; text-decoration:none; }
header .race { font-size:1.05rem; color:#dce6f2; }
header .tagline { font-style:italic; font-size:1.25rem; margin-top:1rem; color:#fff; }
nav { background:var(--navy-deep); text-align:center; padding:.55rem .5rem; }
nav a { color:#fff; text-decoration:none; margin:0 .9rem; font-size:.95rem; letter-spacing:.05em; }
nav a.here { color:var(--gold); }
.votebar { background:var(--red); color:#fff; text-align:center; padding:.6rem 1rem; font-size:1.05rem; letter-spacing:.06em; }
.votebar strong { color:#ffd98a; }
.votebar a { color:#ffd98a; }
section { padding:2.1rem 0; }
h2 { color:var(--navy); font-size:1.5rem; margin-bottom:.8rem; }
h2::after { content:""; display:block; width:56px; height:3px; background:var(--gold); margin-top:.4rem; }
.values { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; }
.values span { background:var(--navy); color:#fff; padding:.45rem .9rem; border-radius:3px; font-size:.9rem; letter-spacing:.08em; text-transform:uppercase; }
.quote { border-left:4px solid var(--gold); padding:.75rem 1rem; background:#f4efe4; font-style:italic; margin-top:1rem; }
figure img { width:100%; height:auto; border-radius:6px; display:block; }
figcaption { font-size:.8rem; color:#666; margin-top:.35rem; text-align:center; }
ul.bio { padding-left:1.2rem; }
ul.bio li { margin-bottom:.45rem; }
.pending { background:#fff3cd; border:1px dashed #c9a227; padding:.6rem .9rem; font-size:.9rem; border-radius:4px; }
.pillar { margin-bottom:1.15rem; padding-left:.9rem; border-left:3px solid var(--gold); }
.pillar strong { color:var(--navy); }
.pillar em { display:block; margin-top:.25rem; color:#4a4a52; }
.infocard { background:#fff; border:1px solid #e2dccb; border-radius:6px; padding:1rem 1.2rem; margin-bottom:1rem; }
.infocard h3 { color:var(--navy); margin-bottom:.3rem; font-size:1.1rem; }
input, textarea { width:100%; padding:.65rem; margin:.3rem 0 .95rem; border:1px solid #b9b3a4; border-radius:4px; font:inherit; background:#fff; }
button.cta, a.cta { display:inline-block; background:var(--red); color:#fff; border:none; padding:.85rem 1.8rem; font:inherit; font-size:1.05rem; border-radius:4px; cursor:pointer; text-decoration:none; }
footer { background:var(--navy-deep); color:#cdd8e6; font-size:.85rem; text-align:center; padding:1.5rem 1rem 2rem; margin-top:1rem; }
