/* v5.4 additions: loaded after pro-gloss.css and cards.css on every page */
:root{--R:#FF1F3D;--D:#2E6BFF;--I:#9AA3B2}
/* 1. headshot party accent: thin frame + soft edge glow, headshot only */
[data-party="R"]{--pc:var(--R)}[data-party="D"]{--pc:var(--D)}[data-party="I"]{--pc:var(--I)}
.c:has(.band.R){--pc:var(--R)}.c:has(.band.D){--pc:var(--D)}.c:has(.band.I){--pc:var(--I)}
[data-party] .photo,[data-party] .ph,.c .ph,.v54-card .ph{box-shadow:0 0 0 2px var(--pc,transparent),0 0 14px -2px var(--pc,transparent)}
/* brand strip */
.nospin{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;color:#7d8594;text-align:center;padding:7px 12px;border-bottom:1px solid #1a1d23;text-transform:uppercase}
/* chamber toggle: more visible */
.v54-tog{display:inline-flex;border:2px solid #fff;border-radius:999px;overflow:hidden;vertical-align:middle}
.v54-tog a{padding:8px 16px!important;font-weight:700;color:#fff!important;font-family:'Space Grotesk',sans-serif;font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none!important;border:0!important;background:none}
.v54-tog a.is-on,.v54-tog a[aria-current]{background:#fff;color:#050507!important}
.chamber-nav.v54-tog a.is-on{background:#fff;color:#050507!important}
.top nav,.top-meta{align-items:center}
/* splash */
.v54{max-width:1360px;margin:0 auto;padding:36px 40px;color:#fff;font-family:'Space Grotesk',sans-serif}
.v54 .kick{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.2em;color:#9AA3B2;text-transform:uppercase}
.v54 h1{font-size:60px;line-height:1;margin:12px 0 8px}.v54 h1 em{font-style:normal;color:#9AA3B2}
.v54 .tagline{font-size:22px;font-weight:700;margin:6px 0 4px}.v54 .lede{font-family:'JetBrains Mono',monospace;color:#c9ced8;font-size:14px;line-height:1.7;max-width:760px}
.v54-hero{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}
.v54-side{background:#14161B;border-radius:18px;padding:22px;display:flex;gap:22px;align-items:center}
.v54-lbl{font-size:32px;font-weight:700;letter-spacing:.12em}.v54-lbl small{display:block;font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:.12em;color:#9AA3B2;font-weight:400;margin-top:4px}
.v54-enter{display:block;margin-top:18px;background:#fff;color:#050507!important;text-decoration:none;font-weight:700;font-size:20px;padding:18px 26px;border-radius:14px;text-align:center}
.v54-sub{display:inline-block;margin-top:12px;border:1px solid #fff;border-radius:999px;padding:10px 18px;text-decoration:none;color:#fff;font-weight:600;font-size:14px}
.v54-card{width:210px;flex:none;background:#0b0c10;border:2px solid #fff;border-radius:14px;padding:10px;font-family:'JetBrains Mono',monospace;color:#fff;text-decoration:none;display:block}
.v54-card .ph{border-radius:9px;overflow:hidden;aspect-ratio:4/5;background:#222}.v54-card .ph img{width:100%;height:100%;object-fit:cover;display:block}
.v54-card .bd{margin-top:8px;padding:4px 7px;font-size:10px;letter-spacing:.08em;display:flex;justify-content:space-between;gap:4px;flex-wrap:wrap;background:var(--pc);border-radius:4px;text-transform:uppercase}
.v54-card h4{font-family:'Space Grotesk',sans-serif;font-size:22px;margin:8px 0 2px}.v54-card p{margin:0;font-size:11px;color:#9AA3B2}
.v54-ctas{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}
.v54-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:22px;margin-top:30px}
.v54-panel{background:#14161B;border-radius:18px;padding:22px}
.v54-panel h3{margin:0 0 4px;font-size:12px;font-family:'JetBrains Mono',monospace;letter-spacing:.18em;color:#9AA3B2;text-transform:uppercase;font-weight:500}
.v54-nums{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.v54-n{background:#0b0c10;border-radius:10px;padding:12px}.v54-n b{display:block;font-size:30px}.v54-n span{font-family:'JetBrains Mono',monospace;font-size:11px;color:#9AA3B2}
.v54-split{display:flex;height:10px;border-radius:5px;overflow:hidden;margin:6px 0}.v54-split i{display:block}
.v54-list{list-style:none;padding:0;margin:10px 0 0}.v54-list li{padding:10px 0;border-top:1px solid #23262e;font-size:14px;line-height:1.45}
.v54-list .d{font-family:'JetBrains Mono',monospace;font-size:11px;color:#9AA3B2;display:block}.v54-list a{font-family:'JetBrains Mono',monospace;font-size:11px;color:#c9ced8}
.v54-mu{display:flex;gap:12px;align-items:flex-start;margin-top:12px}.v54-mu .v54-card{width:150px;padding:7px}.v54-mu .v54-card h4{font-size:16px}.v54-mu .bd{font-size:8px}
.v54-vs{align-self:center;font-weight:700;color:#9AA3B2}
.v54 table{width:100%;border-collapse:collapse;font-family:'JetBrains Mono',monospace;font-size:12px;margin-top:12px}.v54 td{padding:5px 0;border-top:1px solid #23262e}.v54 td:last-child{text-align:right}
.v54-note{font-family:'JetBrains Mono',monospace;font-size:11px;color:#9AA3B2;margin-top:10px}
.v54-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}.v54-facts b{display:block;font-size:40px;margin:8px 0}.v54-facts p{margin:0 0 6px;font-size:14px;color:#c9ced8}.v54-facts a{font-family:'JetBrains Mono',monospace;font-size:11px;color:#9AA3B2}
.v54 .home-visual{margin-top:36px}
@media(max-width:760px){.v54{padding:22px 16px}.v54 h1{font-size:40px}.v54-hero,.v54-grid,.v54-facts{grid-template-columns:1fr}.v54-side{flex-direction:column;align-items:stretch}.v54-side .v54-card{margin:0 auto}.v54-tog a{padding:7px 12px!important;font-size:12px}.top nav,.top-meta{flex-wrap:wrap;gap:10px}}
/* v5.4 layout overrides: splash/info pages are single-column */
main.v54{display:block!important;max-width:1240px;margin:0 auto;padding:44px 40px}
main.v54 h1{max-width:none;margin:10px 0 14px}
main.v54 .tagline,main.v54 .lede{max-width:760px;overflow-wrap:anywhere}
main.v54 .kick{margin-bottom:6px}
main.v54 .home-visual{order:0!important;margin:56px auto 0;max-width:640px}
.v54-hero{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.v54-ctas{display:flex;gap:12px;margin:22px 0 8px;flex-wrap:wrap}
.v54-enter{white-space:nowrap}
.v54-note{font-size:12px;opacity:.7;margin-top:12px}
@media(max-width:760px){main.v54{padding:24px 18px}.v54-hero{grid-template-columns:1fr}main.v54 .tagline{font-size:18px}main.v54 .home-visual{transform:none;margin:30px 0 0}}
/* v5.4.1 hotfix: never pair two different members side by side; un-clip the card-top label */
.v54-hero{grid-template-columns:1fr!important}
.v54-side{max-width:720px}
.v54-mu{flex-direction:row!important;align-items:flex-start;border-top:1px solid #23262e;padding-top:12px}
.card-top{padding:4px 2px 4px!important;line-height:1.35;overflow:visible;white-space:nowrap}
.mast{padding-top:12px!important}
/* ===== v5.4.2: one card at a time, tap/click to flip, explicit Official site link ===== */
.scene{perspective:1400px;position:relative}
.card{transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.card.is-flipped{transform:rotateY(180deg)}
.card .face{backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:none!important}
.card .front,.card.is-flipped .front{opacity:1!important;transform:rotateY(0)!important}
.card .back,.card.is-flipped .back{opacity:1!important;transform:rotateY(180deg)!important}
.card:focus-visible,.v54-flip:focus-visible{outline:3px solid #fff;outline-offset:4px;border-radius:14px}
.card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px 8px;margin-top:auto;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;flex-shrink:0}
.official-link{color:#fff!important;border:1px solid var(--pc,#9AA3B2)!important;border-radius:999px;padding:4px 9px;text-decoration:none!important;white-space:nowrap;background:#14161B;position:relative;z-index:3}
.official-link:hover,.official-link:focus-visible{background:var(--pc,#9AA3B2);outline:2px solid #fff;outline-offset:2px}
.flip-cue{color:#9AA3B2;white-space:nowrap}
.hint{display:none}
#hero-cards{justify-content:center}
.photo img{pointer-events:none}
.ledger-photo{width:100%;border-radius:12px;display:block}
/* splash / matchup flip cards */
.v54-flip{cursor:pointer;perspective:1200px;padding:0!important;background:none!important;border:0!important}
.v54-in{position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.v54-flip.is-flipped .v54-in{transform:rotateY(180deg)}
.v54-f,.v54-b{backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#0b0c10;border:2px solid #fff;border-radius:14px;padding:10px;display:flex;flex-direction:column}
.v54-b{position:absolute;inset:0;transform:rotateY(180deg);background:#14161B;overflow:hidden}
.v54-f .card-foot,.v54-b .card-foot{padding:8px 0 0;font-size:9px}
.v54-card p.no{white-space:nowrap}
.bk-h{background:var(--pc);border-radius:6px;padding:6px 8px;display:flex;flex-direction:column;gap:2px;font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.bk-h b{font-family:'Space Grotesk',sans-serif;font-size:18px;letter-spacing:0;text-transform:none}
.bk-s{margin:10px 0 0;display:grid;gap:6px;font-size:11px}.bk-s div{display:flex;justify-content:space-between;border-bottom:1px solid #23262e;padding-bottom:4px}.bk-s dt{color:#9AA3B2}.bk-s dd{margin:0;font-weight:700}
.bk-go{margin-top:10px;font-size:10px;color:#fff;text-decoration:underline}
.v54-card[data-party="I"] .bk-h,.v54-card[data-party="I"] .bd{color:#050507}
/* Maine matchup: keep Collins badge + 'No. 017/100' on one line */
.v54-mu .v54-card{width:176px!important}
.v54-mu .bd{flex-wrap:nowrap!important;font-size:8px;letter-spacing:.04em;white-space:nowrap}
.v54-mu .v54-card p.no{font-size:10px}
.v54-flip .card-foot{flex-direction:column;align-items:flex-start;gap:5px}
/* SENATE/HOUSE pill: room to breathe at tablet widths */
.v54-tog{flex-shrink:0;margin-right:14px}
.v54-tog a{padding:8px 18px!important;white-space:nowrap;line-height:1.2}
@media(max-width:1024px){.top-meta{flex-wrap:wrap;gap:10px 14px}.v54-tog a{padding:8px 16px!important}}
@media(prefers-reduced-motion:reduce){.card,.v54-in{transition:none!important}}
