.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius);font-size:var(--fs-sm);font-weight:600;text-decoration:none;cursor:pointer;transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);border:1px solid transparent}.btn.primary,.btn-primary{background:var(--primary);color:#fff}.btn.ghost{background:transparent;color:var(--primary);border-color:var(--primary)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.btn.primary:hover,.btn-primary:hover{background:var(--primary-dark)}.btn:active{transform:none;box-shadow:none}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--secondary)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}@media(hover:hover)and (pointer:fine){.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg),0 0 12px var(--primary);border-color:transparent}}.navbar{top:0;background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,250,246,.94));color:var(--ink,#172033)}.hero{background:var(--bg);color:var(--text);padding:var(--space-8) 0;text-align:center}.grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
