/* NIR PAC: same patriotic palette as the association site (navy, red, white) but a different layout cue: red ribbon across the top, "PAC" badge, navy hero. No flag canton or stripes. */
:root{color-scheme:light;--paper:#fff;--ink:#15181d;--mute:#5a5d63;--rule:#e4e4e4;--gold:#bd270f;--gold-d:#bd270f;--char:#172333;--red:#bd270f;--navy:#172333;--blue:#172333;--soft:#ff9d92;
 --head:"Arial Black","Helvetica Neue",Impact,Arial,sans-serif;--serif:Georgia,"Times New Roman",serif;--ui:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:1.1rem/1.6 var(--serif);-webkit-font-smoothing:antialiased}
a{color:inherit}.wrap{width:min(1000px,100% - 2rem);margin-inline:auto}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer;font:800 .9rem var(--ui);letter-spacing:.04em;text-transform:uppercase;text-decoration:none;background:var(--red);color:#fff;padding:.95em 1.4em;border-radius:4px}
.btn:hover{background:#a02109}.btn.navy{background:var(--blue);color:#fff}.btn.line{background:transparent;color:var(--char);box-shadow:inset 0 0 0 3px var(--char)}.btn.lg{padding:1.1em 1.6em;font-size:.95rem}
.ribbon{background:var(--red);color:#fff;font:700 .8rem var(--ui);letter-spacing:.03em}.ribbon .wrap{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;padding:7px 0}
.ribbon b{background:var(--char);color:#fff;padding:2px 8px;border-radius:3px;letter-spacing:.12em}.ribbon a{margin-left:auto;font-weight:800}
header.site{position:sticky;top:0;z-index:50;background:var(--char);color:#fff;border-bottom:4px solid var(--gold)}
.hbar{display:flex;align-items:center;gap:12px;height:66px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;margin-right:auto}
.mark{font:900 .95rem var(--head);background:var(--red);color:#fff;padding:6px 9px;border-radius:4px;letter-spacing:.06em}
.wm{font:900 1.15rem/1 var(--head);letter-spacing:-.03em;text-transform:uppercase}.wm i{font-style:normal;color:var(--soft)}
.navlinks{display:none;gap:18px;font:700 .85rem var(--ui);letter-spacing:.05em;text-transform:uppercase}.navlinks a{text-decoration:none;color:#e8e8e8}.navlinks a:hover{color:var(--soft)}
header .btn{display:none}
details.m{position:relative}details.m summary{list-style:none;cursor:pointer;font:800 .85rem var(--ui);text-transform:uppercase;letter-spacing:.06em;border:2px solid #fff;color:#fff;padding:.55em .9em;border-radius:4px}
details.m summary::-webkit-details-marker{display:none}
.sheet{position:absolute;right:0;top:46px;min-width:250px;background:var(--char);border:2px solid #fff;border-radius:6px;padding:8px;display:grid;box-shadow:0 14px 40px #0006}
.sheet a{padding:.8em 1em;text-decoration:none;color:#fff;font:700 .95rem var(--ui)}.sheet a:hover{background:#172333;color:#fff}
@media(min-width:860px){.navlinks{display:flex}header .btn{display:inline-flex}details.m{display:none}}
.hero{background:var(--char);color:#fff;padding:44px 0 48px;border-bottom:6px solid var(--gold)}
.kicker{font:800 .8rem var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--soft);margin:0 0 10px}
.hero h1{font:900 clamp(2rem,1rem + 5vw,3.8rem)/1.02 var(--head);letter-spacing:-.04em;margin:0 0 14px;text-transform:uppercase}
.lede{font:1.15rem/1.5 var(--serif);color:#e6e6e6;max-width:none;margin:0;text-wrap:balance}
.recs{display:grid;gap:14px;margin-top:-22px}.col{display:flex;flex-direction:column;gap:14px}
.rec{background:#fff;border:1px solid var(--rule);border-left:8px solid var(--gold);border-radius:6px;padding:18px 20px;box-shadow:0 8px 24px #0001}
.rec h2{font:900 1.15rem var(--head);letter-spacing:-.01em;text-transform:uppercase;margin:0 0 8px;color:var(--char)}
.rec ul{margin:0;padding-left:1.2em}.rec li{margin:5px 0}.rec li::marker{color:var(--red)}.rec h3{font:800 .8rem var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin:12px 0 4px}.rec h3:first-of-type{margin-top:0}
@media(min-width:800px){.recs{grid-template-columns:1fr 1fr;align-items:start}}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 0}
.sec{padding:40px 0 4px}.sec h2,.prose h2{font:900 clamp(1.5rem,1rem + 2vw,2.2rem)/1.1 var(--head);letter-spacing:-.03em;text-transform:uppercase;margin:0 0 12px;color:var(--char)}
.dates{padding-left:1.2em}.dates li{margin:6px 0}
.vgrid{display:grid;gap:10px;margin-top:16px}.vgrid a{display:block;text-decoration:none;background:#fff;border:1px solid var(--rule);border-top:4px solid var(--gold);border-radius:6px;padding:14px 16px}
.vgrid b{display:block;font:800 1rem var(--ui)}.vgrid span{font:.9rem var(--ui);color:var(--mute)}.vgrid a:hover{border-top-color:var(--char)}
@media(min-width:700px){.vgrid{grid-template-columns:repeat(3,1fr)}}
.assoc{padding-bottom:12px}.assoc p{max-width:none}
.pagehead{padding:34px 0 6px}.pagehead h1{font:900 clamp(2rem,1rem + 4vw,3.2rem)/1.05 var(--head);letter-spacing:-.04em;text-transform:uppercase;margin:0}
.prose{padding-bottom:24px}.prose .pull{font:italic 1.25rem/1.4 var(--serif);border-left:6px solid var(--gold);padding-left:14px}.prose ul{padding-left:1.2em}.prose li{margin:5px 0}
footer{margin-top:44px;background:var(--char);color:#d8d8d8;border-top:6px solid var(--gold);padding:26px 0 30px;font:.9rem/1.55 var(--ui)}
footer a{color:var(--soft)}.foot-assoc{font-weight:700;color:#fff}.paid{border:1px solid #555;display:inline-block;padding:6px 10px;color:#fff;font-weight:700}
.faq{display:grid;gap:10px;margin-top:14px}.faq details{background:#fff;border:1px solid var(--rule);border-left:6px solid var(--red);border-radius:6px;padding:12px 16px}
.faq summary{cursor:pointer;font:800 1.02rem var(--ui);color:var(--char)}.faq p{margin:10px 0 2px;font:1rem/1.55 var(--ui)}
.col .actions{margin-top:0}.col .actions .btn{flex:1 1 100%}

/* ===== Header: official logo banner on white (brand colours navy #172333 / red #bd270f); the red PAC chip and the ribbon are the PAC cue ===== */
header.site{background:#fff;color:var(--char);border-bottom:4px solid var(--char);box-shadow:0 2px 12px #0002}
.hbar{height:auto;padding:6px 0}
.brand .logo{display:block;height:48px;width:auto}
.brand .mark{font:900 .85rem var(--head);background:var(--red);color:#fff;padding:5px 9px;border-radius:4px;letter-spacing:.08em}
.navlinks a{color:var(--char)}.navlinks a:hover{color:var(--red)}
details.m summary{border-color:var(--char);color:var(--char)}
.sheet{background:#fff;border-color:var(--char);box-shadow:0 14px 40px #0004}.sheet a{color:var(--char)}.sheet a:hover{background:var(--char);color:#fff}
@media(min-width:860px){.brand .logo{height:62px}}
/* photo-led recommendations */
.offh{font:900 1.15rem var(--head);letter-spacing:-.01em;text-transform:uppercase;margin:0 0 12px;color:var(--char)}
.offs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.off{background:#fff;border:1px solid var(--rule);border-top:6px solid var(--gold);border-radius:6px;padding:12px;text-align:center;box-shadow:0 8px 24px #0001}
.off img,.off .noimg{width:100%;max-width:150px;aspect-ratio:1;object-fit:cover;border-radius:14px;display:block;margin:0 auto 8px}
.off .noimg{background:var(--char);color:#fff;display:flex;align-items:center;justify-content:center;font:900 2.2rem var(--head)}
.off b{display:block;font:900 1.05rem/1.1 var(--head)}.off span{font:700 .78rem var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.morelist{display:grid;gap:10px;margin-top:16px}
details.rec{padding:0}details.rec summary{cursor:pointer;padding:14px 20px;font:900 1.05rem var(--head);text-transform:uppercase;color:var(--char)}details.rec summary span{color:var(--blue);font-weight:700}details.rec>ul,details.rec>h3{margin-left:20px;margin-right:20px}details.rec>ul:last-child{margin-bottom:16px}
@media(min-width:700px){.offs{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1000px){.offs{grid-template-columns:repeat(7,1fr)}}
.recs{display:block;margin-top:0;padding-top:26px}
@media(min-width:800px){.recs{display:block}}

/* officer row: wrapped flex so a short last row is centered at any width */
.offs{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.offs .off{flex:0 0 calc(50% - 6px);box-sizing:border-box}
@media(min-width:700px){.offs .off{flex-basis:calc(25% - 9px)}}
@media(min-width:1000px){.offs .off{flex-basis:calc((100% - 72px) / 7)}}

/* ballot measures (mirrors the association site's sample ballot) */
.bmeasures{display:grid;gap:14px;margin-top:14px}
.bmeas{background:#fff;border:1px solid var(--rule);border-left:8px solid var(--gold);border-radius:6px;padding:16px 18px;box-shadow:0 8px 24px #0001}
.bt{font:800 .72rem var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.bmeas h3{font:900 1.3rem/1.1 var(--head);letter-spacing:-.02em;text-transform:uppercase;color:var(--char);margin:6px 0}
.bq{font:700 1rem/1.4 var(--ui);margin:0 0 8px}.byn{font:.98rem/1.45 var(--ui);margin:4px 0}.bnote{font:.9rem var(--ui);color:var(--mute);margin:8px 0 0}
.bopts{font:.98rem/1.45 var(--ui);margin:6px 0;padding-left:1.4em}.brec{font:1rem var(--ui);margin:10px 0 0;color:var(--red)}
.blinks{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font:700 .92rem var(--ui)}.blinks a{color:var(--blue)}
.offh2{font:900 1.1rem var(--head);text-transform:uppercase;margin:28px 0 0}
@media(min-width:800px){.bmeasures{grid-template-columns:1fr 1fr}}
.brec b{font-weight:900}

/* printable sample ballot */
.lede2{font:1.1rem/1.5 var(--ui);margin:6px 0 14px}.small{font:.9rem var(--ui);color:var(--mute)}
.ballotimg{margin:18px 0 10px}.ballotimg img{display:block;width:100%;height:auto;border:1px solid var(--rule);box-shadow:0 8px 24px #0001}
@media print{
  @page{size:letter landscape;margin:.25in}
  header.site,footer,.ribbon,.noprint{display:none!important}
  body{background:#fff}.sballot,.wrap{width:100%;margin:0}.ballotimg{margin:0}
  .ballotimg img{width:100%;max-height:7.9in;object-fit:contain;border:0;box-shadow:none}
}

/* THE recommendation tag: one red style for every Yes/No/choice (same on the association site) */
.byes{font:900 .9rem var(--ui);letter-spacing:.06em;text-transform:uppercase;background:var(--red);color:#fff;padding:.3em .75em;border-radius:3px;flex:none;margin-left:6px}
.bhead{display:flex;gap:10px 14px;align-items:flex-start;justify-content:space-between}.bhead h3{margin:6px 0}.bhead .byes{margin-top:6px;max-width:55%}
.bhead .byes{max-width:60%;text-align:center}@media(max-width:520px){.bhead{flex-wrap:wrap}.bhead .byes{max-width:100%}}

.share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0}.share b{font:800 .95rem var(--ui);margin-right:4px}.share [hidden]{display:none}.share .btn{cursor:pointer}
/* ---- Text wrapping, permanently (applies everywhere; see CLAUDE.md "Layout rules") ----
   Headings, buttons, tags and short blurbs balance their lines; body copy avoids orphans and one-word last lines;
   long words and URLs never overflow. Do not put .btn inside a <p> and do not size text blocks with narrow ch max-widths. */
h1,h2,h3,h4,summary,.btn,.byes,.kicker,figcaption{text-wrap:balance}
p,li,dd,blockquote{text-wrap:wrap}  /* plain greedy wrapping: 'pretty' made early, uneven breaks on narrow screens */
@media(max-width:700px){p,li{hyphens:auto;-webkit-hyphens:auto}}
p,li,h1,h2,h3,a,td,th,figcaption{overflow-wrap:break-word}
.btn{text-align:center}
