/* Single canonical button component. Reference: approved homepage guide §§9, 23. */
.button{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:var(--button-min-height);padding:13px 21px;border:1px solid transparent;border-radius:var(--button-radius);font-family:inherit;font-size:14px;font-weight:650;line-height:1.5;text-align:center;text-decoration:none;cursor:pointer;transition:background-color .18s,transform .18s,box-shadow .18s,color .18s}
.button:is(.primary,.dark){color:#fff;background:var(--navy);border-color:var(--navy)}
.button:is(.primary,.dark):hover{background:#20324d;box-shadow:0 6px 16px #101c351c}
.button.outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.button.outline:hover{background:#fff}
.button.outline-light{background:transparent;color:var(--white);border-color:#7a8496}
.button.outline-light:hover{background:#20324d;border-color:var(--white)}
.button:is(.bronze,.warm){background:var(--bronze);border-color:var(--bronze);color:#fff}
.button:is(.bronze,.warm):hover{background:#9e7548}
.button:hover{transform:translateY(-2px)}
.button:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
@media(max-width:1150px){.button{padding-inline:17px;font-size:13px}}
@media(max-width:440px){.button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover{transform:none}}
