.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 12px; padding: 0 21px; border: 1px solid transparent; border-radius: 4px; font-size: .86rem; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--brand-blue); color: white; }
.button-primary:hover { background: #252b7d; }
.button-secondary { border-color: #cfd7ce; background: transparent; color: var(--ink); }
.button-secondary:hover { border-color: var(--green); background: #f6f9f4; color: var(--green-dark); }
.button-white { background: white; color: var(--brand-blue); }
.button-white:hover { background: #f4f7f2; }
.button:focus-visible, .primary-nav a:focus-visible, .text-link:focus-visible { outline: 3px solid #d6aa4b; outline-offset: 3px; }
