.primer5-button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 20px; border: 1px solid transparent; border-radius: 10px; font-size: 13px; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; transition: color var(--p5-transition), background var(--p5-transition), border-color var(--p5-transition), transform var(--p5-transition), box-shadow var(--p5-transition); }
.primer5-button:hover { transform: translateY(-2px); }
.primer5-button--primary { color: #fff; background: var(--p5-red-600); border-color: var(--p5-red-600); box-shadow: 0 12px 30px rgba(207,32,56,.25); }
.primer5-button--primary:hover { color: #fff; background: #b91d32; border-color: #b91d32; }
.primer5-button--ghost { color: #fff; background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.24); }
.primer5-button--ghost:hover { color: #fff; background: rgba(255,255,255,.13); }
.primer5-button--light { color: var(--p5-navy-900); background: #fff; border-color: #fff; }
.primer5-button--light:hover { color: var(--p5-red-600); }
.primer5-button--large { min-height: 54px; padding: 0 25px; }
.primer5-kicker { display: inline-flex; align-items: center; gap: 10px; color: rgba(255,255,255,.72); font-size: 12px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.primer5-kicker > span { width: 28px; height: 2px; background: var(--p5-red-500); }
.primer5-kicker--dark { color: rgba(255,255,255,.65); }
.primer5-section-heading { margin-bottom: 44px; }
.primer5-section-heading > div > span { display: block; margin-bottom: 9px; color: var(--p5-red-600); font-size: 12px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.primer5-section-heading h2 { max-width: 720px; margin: 0; color: var(--p5-ink-900); font-size: clamp(32px, 4vw, 48px); line-height: 1.08; font-weight: 850; letter-spacing: -.04em; }
.primer5-section-heading--split { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.primer5-section-heading--split > p { max-width: 470px; margin: 0; color: var(--p5-ink-500); }
.primer5-text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--p5-red-600); font-size: 13px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.primer5-text-link:hover { color: var(--p5-navy-900); }
.primer5-empty-state { padding: 28px; display: flex; align-items: center; gap: 18px; color: var(--p5-ink-500); background: #fff; border: 1px solid var(--p5-line); border-radius: var(--p5-radius-md); }
.primer5-empty-state > svg { color: var(--p5-red-600); }
.primer5-empty-state div { display: flex; flex-direction: column; }
.primer5-empty-state strong { color: var(--p5-ink-900); }
