.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-8);padding:10px 18px;border-radius:var(--r-pill);font-size:var(--t-13);font-weight:600;letter-spacing:-0.005em;border:0;cursor:pointer;overflow:hidden;isolation:isolate;white-space:nowrap;transition:transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out),color var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out),border-color var(--t-fast) var(--ease-out)}.btn::before{content:"";position:absolute;inset:0;background:transparent;transition:background var(--t-fast) var(--ease-out);pointer-events:none;z-index:-1}.btn:hover::before{background:var(--state-hover)}.btn:focus-visible::before{background:var(--state-focus)}.btn:active::before{background:var(--state-pressed)}.btn:active{transform:scale(0.97)}.btn[disabled],.btn[aria-disabled='true']{opacity:0.5;cursor:not-allowed;transform:none!important}.btn[disabled]::before{background:transparent!important}.btn--primary{background:var(--ink);color:var(--paper)}body[data-surface="workshop"] .btn--primary{background:var(--paper);color:var(--ink)}.btn--primary:hover::before{background:rgba(247,245,240,0.10)}.btn--primary:active::before{background:rgba(247,245,240,0.16)}body[data-surface="workshop"] .btn--primary:hover::before{background:rgba(14,18,24,0.08)}body[data-surface="workshop"] .btn--primary:active::before{background:rgba(14,18,24,0.14)}body[data-surface="workshop"] .home-ev .btn--primary,body[data-surface="workshop"] .blog-article .btn--primary,body[data-surface="workshop"] .legal .btn--primary{background:var(--ink);color:var(--paper)}body[data-surface="workshop"] .cta-panel .btn--primary{background:var(--paper);color:var(--ink)}body[data-surface="workshop"] .btn--primary{animation:cta-charge 3.4s ease-in-out infinite}@keyframes cta-charge{0%,100%{box-shadow:0 0 0 1px rgba(37,181,168,0.40),0 0 24px 0 rgba(37,181,168,0.62)}50%{box-shadow:0 0 0 1px rgba(46,91,255,0.45),0 0 34px 2px rgba(46,91,255,0.72)}}body[data-surface="workshop"] .btn--primary::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 33%,rgba(255,255,255,0.88) 50%,transparent 67%);transform:translateX(-160%);animation:cta-sheen 3.4s ease-in-out infinite}@keyframes cta-sheen{0%,58%{transform:translateX(-160%)}78%,100%{transform:translateX(160%)}}body[data-surface="workshop"] .btn--primary:hover{transform:translateY(-1px) scale(1.015);animation-duration:1.6s}body[data-surface="workshop"] .btn--primary:hover::after{animation-duration:1.6s}@media (prefers-reduced-motion:reduce){body[data-surface="workshop"] .btn--primary{animation:none;box-shadow:0 0 0 1px rgba(46,91,255,0.30),0 0 18px -2px rgba(46,91,255,0.50)}body[data-surface="workshop"] .btn--primary::after{display:none}}.cta-panel{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--paper);border-radius:var(--r-xl);padding:var(--s-64) var(--s-32);text-align:center}.cta-panel::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(247,245,240,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(247,245,240,0.04) 1px,transparent 1px);background-size:24px 24px}.cta-panel::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 80% at 50% -10%,rgba(37,181,168,0.20),transparent 70%),radial-gradient(50% 70% at 85% 110%,rgba(232,169,60,0.12),transparent 70%)}.cta-panel__eyebrow{display:block;font-family:var(--font-mono);font-size:var(--t-12);letter-spacing:0.14em;text-transform:uppercase;color:var(--lock);margin-bottom:var(--s-12)}.cta-panel h2{font-size:var(--t-40);line-height:1.08;letter-spacing:-0.015em;margin:0 0 var(--s-12);color:var(--paper)}.cta-panel p{font-size:var(--t-17);line-height:1.55;color:rgba(247,245,240,0.72);margin:0 auto var(--s-24);max-width:460px}@media (max-width:600px){.cta-panel{padding:var(--s-48) var(--s-20)}.cta-panel h2{font-size:var(--t-32)}}.btn--tonal{background:var(--signal-bg-strong);color:var(--signal)}.btn--tonal:hover{background:rgba(46,91,255,0.20)}.btn--tonal:active{background:rgba(46,91,255,0.26)}.btn--ghost,.btn--outlined{background:transparent;color:var(--on-surface);border:1px solid var(--ink-faint)}body[data-surface="workshop"] .btn--ghost,body[data-surface="workshop"] .btn--outlined{color:var(--paper);border-color:rgba(247,245,240,0.18)}.btn--block{width:100%}.btn--lg{padding:14px 24px;font-size:var(--t-15)}.btn--sm{padding:6px 12px;font-size:var(--t-12)}@media (max-width:600px){.btn--sm{min-height:var(--tap-min);padding:8px 14px}}.btn-label{display:inline-block}.field{display:flex;flex-direction:column;gap:var(--s-8)}.field__label{font-size:var(--t-12);font-weight:600;color:var(--on-surface-muted);letter-spacing:0.04em;text-transform:uppercase}.field__hint{font-size:var(--t-12);color:var(--on-surface-muted)}.field__error{font-size:var(--t-12);color:var(--alert)}.input{appearance:none;background:var(--surface-1);border:1px solid var(--ink-faint);border-radius:var(--r-md);padding:12px 14px;font-size:16px;color:var(--on-surface);transition:border-color var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out),background var(--t-fast) var(--ease-out)}.input:hover{border-color:var(--ink-muted)}.input:focus{outline:none;border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-bg)}.card{background:var(--surface-1);border-radius:var(--r-lg);padding:var(--s-24);box-shadow:var(--shadow-card)}.card--inset{background:var(--surface-2);box-shadow:none}.card--well{background:var(--surface-3);box-shadow:none}.card--hero{border-radius:var(--r-xl);padding:var(--s-32)}.card--clickable{cursor:pointer;transition:transform var(--t-ui) var(--ease-emphasized),box-shadow var(--t-ui) var(--ease-emphasized)}.card--clickable:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}.badge{display:inline-flex;align-items:center;gap:var(--s-8);padding:5px 12px 5px 10px;border-radius:var(--r-pill);background:var(--ink-faint);color:var(--on-surface);font-size:var(--t-12);font-weight:600;letter-spacing:0.02em;text-transform:uppercase}.badge__dot{width:8px;height:8px;border-radius:50%;background:var(--ink-muted);position:relative}.badge--lock .badge__dot{background:var(--lock)}.badge--receipt .badge__dot{background:var(--receipt)}.badge--alert .badge__dot{background:var(--alert)}.badge--signal .badge__dot{background:var(--signal)}.badge--signal .badge__dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;background:var(--signal);opacity:0.45;transform:scale(1);animation:badge-dot-pulse 1.6s ease-out infinite;pointer-events:none}@keyframes badge-dot-pulse{0%{transform:scale(1);opacity:0.45}70%{transform:scale(2.2);opacity:0}100%{transform:scale(2.2);opacity:0}}.badge--resting .badge__dot::after{content:none}.badge--lock{background:var(--lock-bg);color:#135f59}.badge--receipt{background:var(--receipt-bg);color:#7a5614}.badge--alert{background:var(--alert-bg);color:#841c2c}.badge--signal{background:var(--signal-bg);color:var(--signal)}.receipt{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:var(--t-12);background:var(--ink-faint);border-radius:var(--r-xs);padding:4px 8px;color:var(--stone)}body[data-surface="workshop"] .receipt{background:rgba(247,245,240,0.08);color:rgba(247,245,240,0.85)}.eyebrow{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-11);text-transform:uppercase;letter-spacing:0.16em;font-weight:700;color:var(--stone);margin-bottom:var(--s-8)}body[data-surface="workshop"] .eyebrow{color:var(--receipt)}.lede{font-size:var(--t-17);line-height:1.55;color:var(--on-surface-muted);margin:0 0 var(--s-24);max-width:560px}.divider{height:1px;background:var(--ink-whisper);margin:var(--s-32) 0}.stack-8>* + *{margin-top:var(--s-8)}.stack-12>* + *{margin-top:var(--s-12)}.stack-16>* + *{margin-top:var(--s-16)}.stack-24>* + *{margin-top:var(--s-24)}.stack-32>* + *{margin-top:var(--s-32)}.empty{text-align:center;padding:var(--s-48) var(--s-24);color:var(--on-surface-muted)}.empty h3{color:var(--on-surface);margin-bottom:var(--s-8)}