.btn{--btn-py:.8rem;--btn-px:1.6rem;padding:var(--btn-py) var(--btn-px);border-radius:var(--r-pill);font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:var(--tracking-wide);white-space:nowrap;transition:transform var(--dur) var(--ease-out), background-color var(--dur) var(--ease-out), background-image var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), color var(--dur) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:.6rem;font-weight:600;line-height:1;display:inline-flex;position:relative}.btn:hover{transform:translateY(-2px)}.btn:active{box-shadow:var(--shadow-sm);transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;box-shadow:0 0 0 5px var(--primary-tint-14)}.btn__icon{transition:transform var(--dur) var(--ease-out);flex:none}.btn:hover .btn__icon{transform:translate(3px)}.btn--sm{--btn-py:.6rem;--btn-px:1.2rem;font-size:var(--fs-xs)}.btn--lg{--btn-py:1.05rem;--btn-px:2.1rem;font-size:var(--fs-base)}.btn--full{width:100%}.btn--primary{background-color:var(--color-primary);background-image:var(--grad-primary);color:var(--text-on-accent);box-shadow:var(--shadow-sm)}.btn--primary:hover{background-color:var(--color-primary-dark);box-shadow:var(--shadow-accent);background-image:none}.btn--outline{border-color:var(--color-primary);color:var(--color-primary);background-color:#0000}.btn--outline:hover{background-color:var(--primary-tint-08);border-color:var(--color-primary-dark);color:var(--color-primary-dark);box-shadow:var(--shadow-sm)}.btn--ghost{border-color:var(--line-strong);color:var(--text-primary);background-color:#0000}.btn--ghost:hover{background-color:var(--primary-tint-08);border-color:var(--line-accent);color:var(--color-primary)}.btn--whatsapp{background-color:var(--color-whatsapp);color:var(--text-on-dark);box-shadow:var(--shadow-sm)}.btn--whatsapp:hover{background-color:var(--color-whatsapp-hover);box-shadow:var(--shadow-whatsapp)}.btn--whatsapp:hover .btn__icon,.btn--primary.btn--cta:hover .btn__icon{transform:none}.on-dark .btn--primary{background-color:var(--color-accent);background-image:var(--grad-accent-on-dark);color:var(--color-primary-dark);box-shadow:var(--shadow-sm)}.on-dark .btn--primary:hover{background-color:var(--color-accent);box-shadow:var(--shadow-on-dark);background-image:none}.on-dark .btn--outline{border-color:var(--line-accent);color:var(--color-accent)}.on-dark .btn--outline:hover{background-color:var(--accent-tint-12);border-color:var(--color-accent);color:var(--color-accent)}.on-dark .btn--ghost:hover{background-color:var(--accent-tint-12);border-color:var(--line-accent);color:var(--text-primary)}.on-dark .btn:focus-visible{outline-color:var(--color-accent);box-shadow:0 0 0 5px var(--accent-tint-24)}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;pointer-events:none}.reveal{opacity:0;transition:opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);will-change:opacity, transform}.reveal--up{transform:perspective(900px)translateY(28px)rotateX(-8deg)}.reveal--left{transform:perspective(900px)translate(-28px)rotateY(10deg)}.reveal--right{transform:perspective(900px)translate(28px)rotateY(-10deg)}.reveal--scale{transform:perspective(900px)scale(.94)rotateX(4deg)}.reveal--fade{transform:perspective(900px)scale(.99)}@media (max-width:1024px){.reveal--left,.reveal--right{transform:perspective(900px)translateY(28px)rotateX(-8deg)}}.reveal.is-visible{opacity:1;will-change:auto;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}
