/* Election night celebration, October 26, 2026. */
.election-night-banner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 18px;
  padding: 14px 20px;
  background: #ffd200;
  color: #0b0b0b;
  font-size: .95rem;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
}
.election-night-banner strong { font-weight: 800; }
.election-night-banner span { text-decoration: underline; text-underline-offset: 3px; }
.election-night-banner:focus-visible { outline: 3px solid #0b0b0b; outline-offset: -6px; }
.election-night {
  scroll-margin-top: 140px;
  padding: 80px 0;
  background: #111;
  color: #fff;
  border-bottom: 1px solid #353535;
}
.election-night-grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  align-items: center;
  gap: clamp(30px, 5vw, 72px);
}
.election-night-poster { display: block; max-width: 420px; margin: 0 auto; }
.election-night-poster img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #635319;
  border-radius: 8px;
  box-shadow: 0 16px 42px rgba(0,0,0,.25);
}
.election-night .eyebrow { color: #ffd200; margin-bottom: 18px; }
.election-night h2 { font-size: clamp(2.4rem, 4.8vw, 4rem); margin: 0 0 24px; }
.election-night-intro { color: #e5e5e5; font-size: 1.1rem; max-width: 45ch; margin: 0 0 26px; }
.election-night-details { margin: 0; display: grid; gap: 18px; }
.election-night-details dt { color: #ffd200; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 800; margin-bottom: 4px; }
.election-night-details dd { margin: 0; font-size: 1.08rem; line-height: 1.6; }
.election-night-details dd span { display: block; color: #d6d6d6; }
.election-night-welcome { display: inline-block; margin: 26px 0 0; padding: 10px 16px; background: #ffd200; color: #0b0b0b; font-weight: 800; border-radius: 4px; }
.election-night-actions { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; margin-top: 28px; }
.election-night-actions .text-link { color: #fff; padding: 10px 0; }
@media (max-width: 760px) {
  .election-night { padding: 56px 0; }
  .election-night-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .election-night-copy { grid-row: 1; }
  .election-night-poster { max-width: 420px; width: 100%; }
  .election-night h2 { font-size: clamp(2.2rem, 9vw, 3.6rem); }
}