/* Shared CTA styles for buttons and internal links. */
body .btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:44px; padding:12px 24px; border:1px solid transparent; border-radius:12px; font-family:inherit; font-size:.875rem; font-weight:700; line-height:1.4; text-align:center; text-decoration:none; cursor:pointer; white-space:normal; touch-action:manipulation; transition:background-color .2s,transform .2s,box-shadow .2s; }
body .btn-primary { background:#ff9500; color:#111 !important; box-shadow:0 4px 16px rgba(255,149,0,.2); }
body .btn-secondary { background:transparent; color:#ffad33 !important; border-color:#ff9500; box-shadow:none; }
body .btn-ghost { background:rgba(255,149,0,.12); color:#ffad33 !important; box-shadow:none; }
body .btn-sm { padding:8px 16px; font-size:.8125rem; }
body .btn-lg { padding:16px 32px; font-size:1rem; }
body .btn:focus-visible { outline:3px solid #ffad33; outline-offset:3px; }
@media(hover:hover) {
 body .btn-primary:hover { background:#ffad33; transform:translateY(-2px); box-shadow:0 6px 24px rgba(255,149,0,.4); opacity:1; }
 body .btn-secondary:hover,body .btn-ghost:hover { background:rgba(255,149,0,.18); transform:translateY(-2px); }
}
@media(prefers-reduced-motion:reduce) { body .btn { transition:none; } }
