.rep-page{max-width:1180px}
.rep-page h1{font-size:clamp(46px,8vw,92px);line-height:.92;letter-spacing:-.045em;max-width:14ch}
.rep-byline{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:14px 0 18px}
.rep-page .lede{max-width:68ch;font-size:19px}
.rep-note{max-width:74ch;font-size:15px;line-height:1.55;padding:14px 16px;border-left:3px solid var(--navy);background:#f4f0e4;margin:14px 0}
.rep-jump{display:flex;flex-wrap:wrap;gap:8px 16px;margin:22px 0 8px;font-size:14px;font-weight:700}
.rep-page section{padding:28px 0 8px;border-top:1px solid var(--line);margin-top:22px}
.rep-page h2{font-size:clamp(28px,4vw,44px);margin-bottom:16px}
.rep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rep-card{border:1px solid var(--line);background:var(--paper);padding:18px 18px 14px;min-width:0}
.rep-kicker{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.rep-card h3{font-size:15px;letter-spacing:0;margin-bottom:6px}
.rep-name{font-family:var(--head);font-size:clamp(26px,3vw,34px);line-height:1.05;letter-spacing:-.03em;margin-bottom:12px}
.rep-card dl{display:grid;gap:8px;margin:0 0 14px}
.rep-card dl div{display:grid;grid-template-columns:9.5rem 1fr;gap:8px;font-size:14px}
.rep-card dt{color:var(--muted)}
.rep-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.rep-contact{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border-radius:999px;background:var(--navy);color:var(--cream);text-decoration:none;font-size:14px;font-weight:700}
.rep-mail,.rep-phone{background:transparent;color:var(--navy);border:1px solid var(--navy)}
.rep-card details{font-size:13px;color:var(--muted)}
.rep-card li{margin:0 0 10px}
.rep-card q{display:block;color:var(--ink,inherit);margin:4px 0}
.rep-end{margin:28px 0 8px;font-size:15px}
.signal{margin:8px 0 12px}
.signal-note{font-size:13px;line-height:1.45}
.signal-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.signal-buttons button{min-height:44px;border-radius:999px;border:1px solid var(--navy);background:var(--paper);padding:8px 14px;font-weight:700}
@media (max-width:720px){
  .rep-grid{grid-template-columns:1fr}
  .rep-card dl div{grid-template-columns:1fr;gap:2px}
  .rep-page h1{font-size:46px}
}
@media (prefers-reduced-motion:no-preference){
  .rep-card{transition:transform .25s ease}
  .rep-card:hover{transform:translateY(-2px)}
}
