.rcv-hero{ padding: 44px 0 18px; }
  .rcv-kicker{ font-family:'IBM Plex Mono', monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--sienna); margin:0 0 10px; }
  .rcv-hero h1{ font-family:'Fraunces', Georgia, serif; font-weight:600; font-size:clamp(30px,5vw,48px); line-height:1.08; margin:0 0 12px; color:var(--ink); }
  .rcv-stat{ font-size:17px; color:var(--ink-soft); margin:0; max-width:70ch; }
  .rcv-stat strong{ color:var(--ink); }
  .rcv-controls{ display:flex; flex-wrap:wrap; gap:14px 18px; align-items:flex-end; margin:22px 0 18px; }
  .rcv-seg{ display:inline-flex; border:2px solid var(--ink); border-radius:999px; overflow:hidden; }
  .rcv-seg button{ border:0; background:transparent; color:var(--ink); font:600 15px 'IBM Plex Sans',sans-serif; padding:10px 18px; cursor:pointer; min-height:44px; }
  .rcv-seg button[aria-pressed="true"]{ background:var(--ink); color:var(--paper); }
  .rcv-field{ display:flex; flex-direction:column; gap:6px; }
  .rcv-field label{ font-size:13px; font-weight:600; color:var(--ink-soft); }
  .rcv-field select, .rcv-field input{ height:46px; border:2px solid var(--rule); border-radius:10px; background:var(--card-bg); color:var(--ink); font:15px 'IBM Plex Sans',sans-serif; padding:0 12px; }
  .rcv-field select{ min-width:260px; }
  .rcv-find{ display:flex; gap:8px; }
  .rcv-find input{ width:min(340px, 62vw); }
  .rcv-btn{ height:46px; border:0; border-radius:10px; background:var(--ink); color:var(--paper); font:600 15px 'IBM Plex Sans',sans-serif; padding:0 20px; cursor:pointer; }
  .rcv-btn:disabled{ opacity:.6; cursor:default; }
  .rcv-msg{ font-size:14px; color:var(--ink-soft); min-height:1.3em; margin:-6px 0 12px; }
  .rcv-msg.err{ color:var(--old-red); }
  .rcv-grid{ display:grid; grid-template-columns: minmax(0,1.6fr) minmax(280px,1fr); gap:20px; align-items:stretch; }
  .rcv-mapcard{ position:relative; background:var(--card-bg); border:1px solid var(--rule); border-radius:16px; padding:14px; min-height:460px; }
  .rcv-mapcard svg{ display:block; width:100%; height:520px; touch-action:none; }
  .rcv-mapcard path.d{ stroke:var(--card-bg); stroke-width:.8px; vector-effect:non-scaling-stroke; cursor:pointer; }
  .rcv-mapcard path.d:hover{ stroke:var(--ink); stroke-width:1.5px; }
  .rcv-mapcard path.d.sel{ stroke:var(--sienna); stroke-width:3px; }
  .rcv-mapcard path.d.mine{ stroke:var(--sienna); stroke-width:3px; animation: rcvPulse 1.6s ease-in-out infinite; }
  @keyframes rcvPulse{ 0%,100%{ stroke-opacity:1; } 50%{ stroke-opacity:.35; } }
  @media (prefers-reduced-motion: reduce){ .rcv-mapcard path.d.mine{ animation:none; } }
  .s-champ{ fill:var(--navy); } .s-pledge{ fill:#86A3C8; } .s-none{ fill:var(--paper-raised); }
  .rcv-zoom{ position:absolute; right:22px; top:22px; display:flex; flex-direction:column; gap:6px; }
  .rcv-zoom button{ width:40px; height:40px; border:1px solid var(--rule); border-radius:8px; background:var(--card-bg); color:var(--ink); font:600 18px 'IBM Plex Sans',sans-serif; cursor:pointer; }
  .rcv-jump{ position:absolute; left:22px; top:22px; display:flex; gap:6px; flex-wrap:wrap; }
  .rcv-jump button{ height:32px; border:1px solid var(--rule); border-radius:999px; background:var(--card-bg); color:var(--ink); font:500 13px 'IBM Plex Sans',sans-serif; padding:0 12px; cursor:pointer; }
  .rcv-legend{ display:flex; flex-wrap:wrap; gap:8px 20px; font-size:14px; color:var(--ink); margin-top:10px; }
  .rcv-legend span{ display:inline-flex; align-items:center; gap:8px; }
  .rcv-legend i{ width:16px; height:16px; border-radius:4px; display:inline-block; }
  .rcv-legend i.none{ border:1px solid var(--rule); }
  .rcv-loading{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--ink-soft); font-size:15px; }
  .rcv-panel{ background:var(--ink); color:var(--paper); border-radius:16px; padding:26px; display:flex; flex-direction:column; gap:14px; }
  .rcv-panel .k{ font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#E9B48F; }
  .rcv-panel h2{ font-family:'Fraunces',Georgia,serif; font-size:26px; line-height:1.15; margin:0; }
  .rcv-panel .who{ font-size:15px; opacity:.85; }
  .rcv-panel .rule{ height:1px; background:currentColor; opacity:.2; }
  .rcv-panel p{ margin:0; font-size:15.5px; line-height:1.55; }
  .rcv-panel .acts{ margin-top:auto; display:flex; flex-direction:column; gap:10px; }
  .rcv-panel a.cta, .rcv-panel button.cta{ display:flex; align-items:center; justify-content:center; min-height:48px; border-radius:10px; font:700 15px 'IBM Plex Sans',sans-serif; text-decoration:none; cursor:pointer; }
  .rcv-panel .cta.primary{ background:#E9B48F; color:#1C2330; border:0; }
  .rcv-panel .cta.ghost{ background:transparent; color:var(--paper); border:2px solid currentColor; }
  .rcv-bills{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:14px; margin:34px 0 10px; }
  .rcv-bill{ background:var(--card-bg); border:1px solid var(--rule); border-radius:14px; padding:18px; }
  .rcv-bill .no{ font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--sienna); }
  .rcv-bill h3{ font-family:'Fraunces',Georgia,serif; font-size:19px; margin:6px 0 8px; }
  .rcv-bill p{ margin:0 0 8px; font-size:14.5px; color:var(--ink-soft); line-height:1.5; }
  .rcv-next{ background:var(--green-soft); border:1px solid var(--rule); border-radius:14px; padding:22px; margin:16px 0 20px; }
  .rcv-next h3{ font-family:'Fraunces',Georgia,serif; margin:0 0 8px; font-size:21px; }
  .rcv-next p{ margin:0 0 8px; line-height:1.55; }
  .rcv-list{ margin:10px 0 30px; }
  .rcv-list summary{ cursor:pointer; font-weight:600; padding:8px 0; }
  .rcv-list table{ width:100%; border-collapse:collapse; font-size:14px; }
  .rcv-list th, .rcv-list td{ text-align:left; padding:7px 8px; border-bottom:1px solid var(--rule); }
  .rcv-src{ font-size:12.5px; color:var(--ink-soft); margin:0 0 40px; line-height:1.5; }
  @media (max-width: 860px){
    .rcv-grid{ grid-template-columns: 1fr; }
    .rcv-mapcard svg{ height:420px; }
    .rcv-field select{ min-width:0; width:100%; }
    .rcv-field{ width:100%; }
    .rcv-find input{ flex:1; width:auto; }
  }

  .s-opp{ fill:#C9774F; }
  .rcv-legend i.opp{ background:#C9774F; }
  .rcv-tabs{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
  .rcv-tabs a{ font:600 14px 'IBM Plex Sans',sans-serif; text-decoration:none; color:var(--ink); border:1.5px solid var(--rule); background:var(--card-bg); border-radius:999px; padding:8px 14px; }
  .rcv-tabs a[aria-current="page"]{ background:var(--ink); color:var(--paper); border-color:var(--ink); }
  .rcv-issue{ background:var(--card-bg); border:1px solid var(--rule); border-radius:14px; padding:22px; margin:30px 0 16px; }
  .rcv-issue h3{ font-family:'Fraunces',Georgia,serif; margin:0 0 8px; font-size:21px; }
  .rcv-issue p, .rcv-issue li{ line-height:1.55; }
  .rcv-issue .pos{ display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.06em; text-transform:uppercase; background:var(--green-soft); color:var(--green); padding:4px 10px; border-radius:4px; margin-bottom:10px; }

  /* Send-your-own-letter step and letter counter */
  .rcv-letters{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:15px; color:var(--ink-soft); margin:10px 0 0; }
  .rcv-letters strong{ color:var(--ink); }
  .rcv-letters .dot{ width:9px; height:9px; border-radius:50%; background:var(--green); flex:none; }
  .rcv-panel .rcv-step{ background:rgba(233,180,143,.12); border:1px solid rgba(233,180,143,.45); border-radius:12px; padding:14px 16px; display:flex; flex-direction:column; gap:8px; }
  .rcv-panel .rcv-step.dim{ background:transparent; border-style:dashed; }
  .rcv-panel .rcv-step p{ font-size:14.5px; }
  .rcv-panel .rcv-step .fine{ font-size:13px; opacity:.75; }
  .rcv-panel .rcv-step a{ color:#E9B48F; }
  .rcv-panel .rcv-dcount{ font-size:13.5px; opacity:.8; }
  .rcv-panel .rcv-dcount:empty{ display:none; }
