.btn{--btn-bg:var(--green-grad);--btn-fg:#fff;justify-content:center;gap:.55em;padding:.95rem 1.6rem;border-radius:var(--r-pill);font-family:var(--font-text);font-size:var(--text-sm);font-weight:600;letter-spacing:-.01em;line-height:1;white-space:nowrap;isolation:isolate;transition:box-shadow var(--dur-normal) var(--ease-out-expo),transform var(--dur-fast) ease,color var(--dur-normal) ease,background-color var(--dur-normal) ease,border-color var(--dur-normal) ease;will-change:transform}.btn,.btn__label{display:inline-flex;align-items:center;position:relative}.btn__label{gap:.5em;z-index:1}.btn__arrow{transition:transform var(--dur-normal) var(--ease-out-expo)}.btn:hover .btn__arrow{transform:translateX(3px)}.btn--primary{background:var(--green-grad);color:var(--btn-fg);box-shadow:var(--shadow-sm)}.btn--primary:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,#0e7a3b,#0a5c2d);opacity:0;z-index:0;transition:opacity var(--dur-normal) ease}.btn--primary:hover{box-shadow:0 8px 28px rgba(31,168,85,.4)}.btn--primary:hover:before{opacity:1}.btn--outline{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-strong)}.btn--outline:hover{box-shadow:inset 0 0 0 1.5px var(--green-500);color:var(--green-600)}.btn--ghost{background:transparent;color:var(--ink);padding-inline:.4rem}.btn--ghost:hover{color:var(--green-600)}.btn:active{transform:scale(.98)}