:root{
  --ink:#1b1f24;--paper:#f6f3ec;--card:#fffdf8;--line:#d9d2c3;--muted:#6b6557;
  --duck-green:#154733;--duck-yellow:#fee123;--dawg-red:#ba0c2f;--dawg-black:#000;
  --nor-red:#ba0c2f;--nor-blue:#00205b;--accent:#154733;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Georgia,"Times New Roman",serif;background:var(--paper);color:var(--ink);line-height:1.55}
a{color:var(--accent)}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}
header.masthead{background:var(--ink);color:#f6f3ec;border-bottom:6px solid var(--duck-yellow)}
header.masthead .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:18px 20px}
.brand{display:flex;align-items:center;gap:14px}
.crest{width:56px;height:56px;border-radius:50%;background:conic-gradient(var(--duck-green) 0 120deg,var(--dawg-red) 120deg 240deg,var(--nor-blue) 240deg 360deg);border:3px solid var(--duck-yellow);display:grid;place-items:center;font-weight:700;font-family:Arial,Helvetica,sans-serif;font-size:13px;color:#fff;text-shadow:0 1px 2px #000}
.brand h1{margin:0;font-size:22px;letter-spacing:.5px}
.brand small{display:block;font-size:12px;color:#cfc8b8;font-family:Arial,Helvetica,sans-serif;letter-spacing:1.5px;text-transform:uppercase}
nav a{color:#f6f3ec;text-decoration:none;margin-left:18px;font-family:Arial,Helvetica,sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:1px}
nav a:hover{color:var(--duck-yellow)}
.hero{padding:48px 0 28px;border-bottom:1px solid var(--line)}
.hero h2{font-size:38px;margin:0 0 10px;line-height:1.15}
.hero p.lede{font-size:19px;color:var(--muted);max-width:720px;margin:0}
.ticker{background:var(--duck-yellow);color:#1b1f24;font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:700;letter-spacing:.5px;padding:8px 0;white-space:nowrap;overflow:hidden}
.ticker span{display:inline-block;padding-left:100%;animation:tick 38s linear infinite}
@keyframes tick{to{transform:translateX(-100%)}}
section{padding:36px 0}
section h3{font-size:26px;margin:0 0 14px;border-left:6px solid var(--accent);padding-left:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:18px 20px;box-shadow:0 1px 0 #e9e3d6}
.card h4{margin:0 0 8px;font-size:18px}
.card .meta{font-family:Arial,Helvetica,sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}
.score{font-family:Arial,Helvetica,sans-serif;font-size:30px;font-weight:700;margin:10px 0 6px}
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);font-family:Arial,Helvetica,sans-serif;font-size:15px}
th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}
th{background:#ece7da;font-size:12px;text-transform:uppercase;letter-spacing:1px}
tr:last-child td{border-bottom:none}
.badge{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:8px;vertical-align:-1px}
.b-ore{background:var(--duck-green);outline:2px solid var(--duck-yellow)}
.b-uga{background:var(--dawg-red);outline:2px solid #000}
.b-nor{background:var(--nor-blue);outline:2px solid var(--nor-red)}
.fn{font-size:13px;color:var(--muted);margin-top:10px}
form{display:grid;gap:14px;max-width:560px}
label{font-family:Arial,Helvetica,sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);display:block;margin-bottom:5px}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:4px;background:#fff;font:inherit;font-size:16px}
textarea{min-height:110px}
button,.btn{background:var(--accent);color:#fff;border:none;padding:12px 20px;border-radius:4px;font-family:Arial,Helvetica,sans-serif;font-weight:700;font-size:15px;cursor:pointer;letter-spacing:.5px}
button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}
button:hover{filter:brightness(1.1)}
.notice{background:#fff8d6;border:1px solid #f0d97a;padding:12px 14px;border-radius:4px;font-size:15px}
.ok{background:#e6f4ea;border-color:#9fd3ae}
footer{border-top:1px solid var(--line);padding:28px 0 40px;color:var(--muted);font-size:14px}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
footer a{color:var(--muted)}
.bylaw{counter-reset:item}
.bylaw h4{font-family:Arial,Helvetica,sans-serif;font-size:14px;text-transform:uppercase;letter-spacing:1px;margin:26px 0 6px;color:var(--accent)}
.bylaw p{margin:0 0 12px}
/* consent banner */
#consent{position:fixed;left:0;right:0;bottom:0;background:#1b1f24;color:#f6f3ec;padding:18px 20px;z-index:1000;box-shadow:0 -4px 20px rgba(0,0,0,.25);display:none}
#consent.show{display:block}
#consent .wrap{display:grid;gap:12px}
#consent p{margin:0;font-size:15px}
#consent .choices{display:flex;flex-wrap:wrap;gap:16px;font-family:Arial,Helvetica,sans-serif;font-size:14px}
#consent .choices label{display:inline-flex;align-items:center;gap:6px;text-transform:none;letter-spacing:0;color:#f6f3ec;font-size:14px;margin:0}
#consent .choices input{width:auto}
#consent .actions{display:flex;gap:10px;flex-wrap:wrap}
#consent button.secondary{background:transparent;color:#f6f3ec;border:1px solid #777}
#consent button.primary{background:var(--duck-yellow);color:#1b1f24}
.prefs-link{font-family:Arial,Helvetica,sans-serif;font-size:13px}
.big404{font-size:120px;font-weight:700;font-family:Arial,Helvetica,sans-serif;line-height:1;margin:40px 0 10px;color:var(--accent)}
@media (max-width:600px){.hero h2{font-size:30px}.brand h1{font-size:18px}nav a{margin-left:12px}}
