/* ── REGAN'S SLATE PAGE ── */
    /* ── PAGE LAYOUT ── */
    .slate-wrap {
      max-width: var(--max-w);
      margin: 0 auto;
      padding: clamp(2.5rem, 5vw, 4rem) var(--pad-x);
    }

    .slate-hero {
      display: grid;
      grid-template-columns: 1fr 220px;
      gap: 3rem;
      align-items: start;
      margin-bottom: 2.5rem;
    }

    .slate-hero-text h1 {
      font-family: var(--ff-head);
      font-size: clamp(2rem, 5vw, 3rem);
      font-weight: 900;
      color: var(--ink);
      line-height: 1.1;
      letter-spacing: -0.02em;
      margin-bottom: 1rem;
    }

    .slate-hero-text p {
      font-family: var(--ff-body);
      font-size: 1rem;
      color: var(--ink-mid);
      line-height: 1.75;
      margin-bottom: 0.85rem;
    }

    .slate-hero-text p a { color: var(--red); font-weight: 600; }
    .slate-hero-text p a:hover { text-decoration: underline; }

    .slate-card-col {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1rem;
    }

    .slate-card-note {
      font-family: var(--ff-ui);
      font-size: 0.78rem;
      color: var(--ink-mid);
      line-height: 1.5;
      text-align: center;
      background: var(--cream);
      border: 1px solid var(--rule);
      border-radius: 4px;
      padding: 0.75rem 0.9rem;
    }

    /* ── STAT BAR ── */
    .slate-stats {
      background: var(--cream);
      border-top: 1px solid var(--rule);
      border-bottom: 1px solid var(--rule);
      margin: 0 calc(-1 * var(--pad-x)) 2.5rem;
      padding: 1.25rem var(--pad-x);
      display: flex;
      align-items: center;
      gap: 0;
    }

    .slate-stat {
      flex: 1;
      text-align: center;
      padding: 0.25rem 1rem;
      border-right: 1px solid var(--rule);
    }
    .slate-stat:last-child { border-right: none; }

    .slate-stat-n {
      display: block;
      font-family: var(--ff-head);
      font-size: 2rem;
      font-weight: 900;
      color: var(--red);
      line-height: 1;
    }

    .slate-stat-l {
      display: block;
      font-family: var(--ff-ui);
      font-size: 0.62rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--ink-light);
      margin-top: 0.3rem;
    }

    /* ── VOTER PROMPT ── */
    .voter-prompt {
      background: var(--ink);
      color: var(--white);
      border-radius: 6px;
      padding: 1.1rem 1.5rem;
      margin-bottom: 2.5rem;
      display: flex;
      align-items: center;
      gap: 1rem;
      flex-wrap: wrap;
    }

    .voter-prompt-icon {
      font-size: 1.5rem;
      flex-shrink: 0;
    }

    .voter-prompt-text {
      font-family: var(--ff-ui);
      font-size: 0.9rem;
      line-height: 1.5;
      flex: 1;
    }

    .voter-prompt-text strong { color: var(--stamp); }

    .voter-prompt-text a {
      color: var(--stamp);
      font-weight: 700;
      text-decoration: underline;
      text-underline-offset: 2px;
    }

    /* ── ROSTER ── */
    .slate-roster-label {
      font-family: var(--ff-ui);
      font-size: 0.62rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      color: var(--red);
      border-bottom: 2px solid var(--red);
      padding-bottom: 0.5rem;
      margin-bottom: 1.5rem;
    }

    .slate-legend {
      display: flex;
      gap: 1.5rem;
      flex-wrap: wrap;
      margin-bottom: 1.5rem;
      font-family: var(--ff-ui);
      font-size: 0.78rem;
      color: var(--ink-mid);
      align-items: center;
    }

    .legend-item {
      display: flex;
      align-items: center;
      gap: 0.4rem;
    }

    .legend-dot-red {
      width: 8px; height: 8px;
      background: var(--red);
      border-radius: 50%;
      flex-shrink: 0;
    }

    .legend-dot-choice {
      width: 8px; height: 8px;
      background: #4a7c59;
      border-radius: 50%;
      flex-shrink: 0;
    }

    .slate-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0;
      border: 1px solid var(--rule);
      border-radius: 4px;
      overflow: hidden;
    }

    .slate-entry {
      display: flex;
      align-items: baseline;
      gap: 0.5rem;
      padding: 0.5rem 0.75rem;
      border-bottom: 1px solid var(--rule);
      border-right: 1px solid var(--rule);
      font-family: var(--ff-ui);
      font-size: 0.88rem;
      line-height: 1.3;
    }

    /* Remove right border on last column */
    .slate-entry:nth-child(3n) { border-right: none; }

    /* Subtle alternating row tint - groups of 3 */
    .slate-entry:nth-child(6n+1),
    .slate-entry:nth-child(6n+2),
    .slate-entry:nth-child(6n+3) {
      background: var(--cream);
    }

    .slate-precinct {
      font-weight: 900;
      color: var(--ink-light);
      font-size: 0.72rem;
      min-width: 2.2rem;
      flex-shrink: 0;
      font-family: var(--ff-ui);
    }

    .slate-name {
      flex: 1;
      color: var(--ink);
      font-weight: 500;
    }

    /* Linked name - documented on site */
    .slate-name a {
      color: var(--red);
      font-weight: 700;
      text-decoration: none;
    }
    .slate-name a:hover { text-decoration: underline; }

    /* Voter choice badge */
    .slate-choice {
      flex-shrink: 0;
      width: 7px;
      height: 7px;
      background: #4a7c59;
      border-radius: 50%;
      margin-left: auto;
      title: "Voter has a choice in this precinct";
    }

    /* ── SOURCES ── */
    .slate-sources {
      margin-top: 2.5rem;
      padding-top: 1.5rem;
      border-top: 1px solid var(--rule);
      font-family: var(--ff-ui);
      font-size: 0.78rem;
      color: var(--ink-light);
      line-height: 1.6;
    }

    .slate-sources a { color: var(--red); }

    /* ── RESPONSIVE ── */
    @media (max-width: 820px) {
      .slate-hero {
        grid-template-columns: 1fr;
      }
      .slate-card-col {
        order: -1;
        flex-direction: row;
        align-items: flex-start;
        gap: 1.5rem;
      }
      .slate-card-col .rigged-card-wrap {
        transform: none;
      }
      .slate-card-col .rigged-card-img {
        width: 140px;
      }
      .slate-card-note {
        text-align: left;
      }
      .slate-grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .slate-entry:nth-child(3n) { border-right: 1px solid var(--rule); }
      .slate-entry:nth-child(2n) { border-right: none; }
      .slate-entry:nth-child(6n+1),
      .slate-entry:nth-child(6n+2),
      .slate-entry:nth-child(6n+3) { background: var(--white); }
      .slate-entry:nth-child(4n+1),
      .slate-entry:nth-child(4n+2) { background: var(--cream); }
      .slate-stats {
        flex-wrap: wrap;
        gap: 0.5rem;
      }
      .slate-stat {
        flex: 1 1 40%;
        border-right: none;
        border-bottom: 1px solid var(--rule);
      }
    }

    @media (max-width: 480px) {
      .slate-grid {
        grid-template-columns: 1fr;
      }
      .slate-entry { border-right: none; }
      .slate-entry:nth-child(3n) { border-right: none; }
      .slate-entry:nth-child(2n) { border-right: none; }
      .slate-entry:nth-child(4n+1),
      .slate-entry:nth-child(4n+2) { background: var(--white); }
      .slate-entry:nth-child(2n+1) { background: var(--cream); }
    }
