#fmr{
  --fmr-indigo:#4148B3; --fmr-indigo-deep:#2F3585; --fmr-ink:#38332F;
  --fmr-sage:#EDF2EE;   --fmr-teal:#7EBEC5;        --fmr-paper:#FFFFFF;
  --fmr-rule:#D8DFD9;   --fmr-muted:#6B6560;
  --fmr-dem:#2C6FB5;    --fmr-gop:#B03A32;         --fmr-ind:#8A8580;
  --fmr-display:'Neuething Bold SemiEx','Neuething Med',Helvetica,Arial,sans-serif;
  --fmr-body:'Neuething Med',Helvetica,Arial,sans-serif;

  font-family:var(--fmr-body); color:var(--fmr-ink);
  line-height:1.5; -webkit-font-smoothing:antialiased;
  max-width:960px; margin:0 auto; container-type:inline-size;
}
#fmr *,#fmr *::before,#fmr *::after{box-sizing:border-box;}
#fmr p,#fmr h2,#fmr h3,#fmr ul,#fmr li{margin:0;padding:0;}
#fmr a{color:var(--fmr-indigo);}
#fmr .fmr-sr{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap;
}

#fmr .fmr-panel{
  background:var(--fmr-sage); border:1px solid var(--fmr-rule);
  border-radius:14px; padding:clamp(18px,4cqw,30px);
}
#fmr .fmr-eyebrow{
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--fmr-indigo); font-weight:700; margin-bottom:6px;
}
#fmr .fmr-lede{
  font-family:var(--fmr-display); letter-spacing:-.02em; line-height:1.15;
  font-size:clamp(1.35rem,3.4cqw,1.9rem); margin-bottom:6px;
}
#fmr .fmr-sub{color:var(--fmr-muted); font-size:.95rem; margin-bottom:18px;}

#fmr .fmr-field{display:flex; flex-wrap:wrap; gap:10px; align-items:flex-start;}
#fmr label.fmr-label{
  display:block; width:100%; font-size:.8rem; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase; color:var(--fmr-muted);
  margin-bottom:6px;
}
#fmr .fmr-combo{position:relative; flex:1 1 280px; min-width:0;}
#fmr input[type=text]{
  width:100%; font:inherit; font-size:1.05rem;
  padding:14px 16px; border:1.5px solid var(--fmr-rule); border-radius:10px;
  background:var(--fmr-paper); color:var(--fmr-ink);
}
#fmr input[type=text]::placeholder{color:#9C968F;}
#fmr input[type=text]:focus-visible,
#fmr button:focus-visible,#fmr a:focus-visible{
  outline:3px solid var(--fmr-teal); outline-offset:2px; border-color:var(--fmr-indigo);
}
#fmr button{
  font:inherit; font-weight:700; letter-spacing:.01em; cursor:pointer;
  border-radius:10px; border:1.5px solid transparent; padding:14px 22px;
  transition:background .15s ease,color .15s ease;
}
#fmr .fmr-go{flex:0 0 auto; background:var(--fmr-indigo); color:#fff;}
#fmr .fmr-go:hover{background:var(--fmr-indigo-deep);}
#fmr .fmr-go[disabled]{opacity:.6; cursor:progress;}
#fmr .fmr-geo{
  margin-top:12px; background:transparent; color:var(--fmr-indigo);
  border-color:var(--fmr-rule); padding:10px 16px; font-size:.9rem;
}
#fmr .fmr-geo:hover{background:var(--fmr-paper);}
#fmr .fmr-hint{margin-top:12px; font-size:.85rem; color:var(--fmr-muted);}

#fmr .fmr-suggest{
  position:absolute; z-index:40; top:calc(100% + 6px); left:0; right:0;
  list-style:none; background:var(--fmr-paper); overflow:auto; max-height:264px;
  border:1px solid var(--fmr-rule); border-radius:10px;
  box-shadow:0 12px 30px rgba(56,51,47,.15);
}
#fmr .fmr-suggest[hidden]{display:none;}
#fmr .fmr-suggest li{
  padding:11px 14px; cursor:pointer; font-size:.95rem;
  border-top:1px solid var(--fmr-rule);
}
#fmr .fmr-suggest li:first-child{border-top:0;}
#fmr .fmr-suggest li[aria-selected="true"],
#fmr .fmr-suggest li:hover{background:var(--fmr-sage);}
#fmr .fmr-suggest li b{color:var(--fmr-indigo); font-weight:700;}

#fmr .fmr-msg{
  margin-top:18px; padding:14px 16px; border-radius:10px; font-size:.95rem;
  border-left:4px solid var(--fmr-gop); background:#FBF3F2; color:#7A2C26;
}
#fmr .fmr-msg.fmr-working{
  border-left-color:var(--fmr-teal); background:var(--fmr-paper); color:var(--fmr-muted);
}

#fmr .fmr-results[hidden]{display:none;}
#fmr .fmr-matched{
  margin:22px 0 14px; font-size:.85rem; color:var(--fmr-muted);
  padding-bottom:12px; border-bottom:1px solid var(--fmr-rule);
}
#fmr .fmr-matched strong{color:var(--fmr-ink); font-weight:700;}
#fmr .fmr-grid{display:grid; gap:16px; grid-template-columns:1fr;}
@container (min-width:640px){ #fmr .fmr-grid{grid-template-columns:1fr 1fr;} }

#fmr .fmr-card{
  position:relative; overflow:hidden; background:var(--fmr-paper);
  border:1px solid var(--fmr-rule); border-radius:14px;
  padding:22px 22px 18px; border-top:5px solid var(--fmr-ind);
}
#fmr .fmr-card[data-party="Democrat"]{border-top-color:var(--fmr-dem);}
#fmr .fmr-card[data-party="Republican"]{border-top-color:var(--fmr-gop);}
#fmr .fmr-ghost{
  position:absolute; right:10px; top:-6px; font-family:var(--fmr-display);
  font-size:5.5rem; line-height:1; letter-spacing:-.04em;
  color:var(--fmr-sage); z-index:0; pointer-events:none; user-select:none;
}
#fmr .fmr-card > *{position:relative; z-index:1;}
#fmr .fmr-chamber{
  font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  font-weight:700; color:var(--fmr-indigo);
}
#fmr .fmr-name{
  font-family:var(--fmr-display); letter-spacing:-.02em; line-height:1.1;
  font-size:clamp(1.4rem,3.2cqw,1.75rem); margin:4px 0 6px;
}
#fmr .fmr-meta{font-size:.9rem; color:var(--fmr-muted); margin-bottom:16px;}
#fmr .fmr-dot{
  display:inline-block; width:.55em; height:.55em; border-radius:50%;
  background:var(--fmr-ind); margin-right:.4em; vertical-align:.02em;
}
#fmr [data-party="Democrat"] .fmr-dot{background:var(--fmr-dem);}
#fmr [data-party="Republican"] .fmr-dot{background:var(--fmr-gop);}

#fmr .fmr-lines{list-style:none;}
#fmr .fmr-lines li{
  display:flex; gap:12px; align-items:baseline;
  padding:9px 0; border-top:1px solid var(--fmr-rule);
}
#fmr .fmr-lines li:first-child{border-top:0;}
#fmr .fmr-k{
  flex:0 0 66px; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--fmr-muted); font-weight:700;
}
#fmr .fmr-v{flex:1 1 auto; min-width:0; word-break:break-word;}
#fmr .fmr-v a{text-decoration:none; border-bottom:1px solid rgba(65,72,179,.3);}
#fmr .fmr-v a:hover{border-bottom-color:var(--fmr-indigo);}
#fmr .fmr-foot{
  margin-top:20px; font-size:.8rem; color:var(--fmr-muted);
  padding-top:12px; border-top:1px solid var(--fmr-rule);
}
@media (prefers-reduced-motion:reduce){ #fmr *{transition:none !important;} }
