.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.75rem;border-radius:var(--rjw-radius);font-weight:600;font-size:1rem;text-decoration:none;border:1.5px solid transparent;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;cursor:pointer;font-family:var(--font-body);line-height:1;white-space:nowrap}
.btn:focus-visible{outline:3px solid var(--rjw-accent-glow);outline-offset:3px}
.btn--primary{background:var(--rjw-accent);color:#fff;border-color:var(--rjw-accent)}
.btn--primary:hover{background:var(--rjw-accent-dark);border-color:var(--rjw-accent-dark);color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px -8px rgba(47,79,58,.5)}
.btn--ghost{background:transparent;color:var(--rjw-ink);border-color:var(--rjw-ink)}
.btn--ghost:hover{background:var(--rjw-ink);color:var(--rjw-paper);transform:translateY(-1px)}
.btn--outline-light{background:transparent;color:var(--rjw-paper);border-color:var(--rjw-paper)}
.btn--outline-light:hover{background:var(--rjw-paper);color:var(--rjw-ink)}
.btn--large{padding:1.15rem 2rem;font-size:1.05rem}
.btn--small{padding:.65rem 1.15rem;font-size:.9rem}
.btn--phone{background:var(--rjw-ink);color:#fff;border-color:var(--rjw-ink)}
.btn--phone:hover{background:var(--rjw-accent);border-color:var(--rjw-accent);color:#fff}
.btn svg{width:18px;height:18px}
.link-arrow{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;text-decoration:none;color:var(--rjw-accent)}
.link-arrow svg{width:16px;height:16px;transition:transform .18s ease}
.link-arrow:hover svg{transform:translateX(3px)}
.chip{display:inline-block;padding:.35rem .8rem;border-radius:999px;background:var(--rjw-accent-tint);color:var(--rjw-accent-dark);font-size:.85rem;font-weight:600;text-decoration:none}
.chip:hover{background:var(--rjw-accent);color:#fff}
