:root{--motion-fast:120ms;--motion-standard:180ms;--motion-expressive:280ms;--ease-out:cubic-bezier(.22,1,.36,1)}
.btn,.theme-toggle,.feature,.plans article,.faq summary,.nav a{transition:transform var(--motion-fast) var(--ease-out),border-color var(--motion-fast) ease,background-color var(--motion-fast) ease,color var(--motion-fast) ease,box-shadow var(--motion-standard) var(--ease-out),opacity var(--motion-fast) ease}.btn:active,.theme-toggle:active{transform:scale(.975)}.btn:hover{transform:translateY(-1px)}.primary:hover{box-shadow:0 12px 30px var(--shadow)}
.hero>.eyebrow,.hero>h1,.hero>.lead,.hero>.actions,.hero>.trust{animation:heroIn var(--motion-expressive) var(--ease-out) both}.hero>h1{animation-delay:40ms}.hero>.lead{animation-delay:80ms}.hero>.actions{animation-delay:120ms}.hero>.trust{animation-delay:160ms}.chat{animation:chatIn 420ms var(--ease-out) 120ms both}.chat .bubble{animation:bubbleIn var(--motion-expressive) var(--ease-out) both}.chat .bubble:nth-of-type(2){animation-delay:230ms}.chat .bubble:nth-of-type(3){animation-delay:320ms}.chat .bubble:nth-of-type(4){animation-delay:410ms}.chat .bubble:nth-of-type(5){animation-delay:500ms}@keyframes heroIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes chatIn{from{opacity:0;transform:translateY(12px) rotate(1deg) scale(.985)}to{opacity:1;transform:rotate(1deg)}}@keyframes bubbleIn{from{opacity:0;transform:translateY(4px) scale(.985)}to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(10px)}.reveal.is-visible{opacity:1;transform:none;transition:opacity var(--motion-expressive) var(--ease-out),transform var(--motion-expressive) var(--ease-out)}.feature[data-clickable="true"]:hover,.plans article:has(a:hover){transform:translateY(-2px)}.faq details[open] summary{color:var(--accent)}
.theme-toggle .sun,.theme-toggle .moon{transition:opacity var(--motion-standard) ease,transform var(--motion-expressive) var(--ease-out)}
@media(max-width:900px){@keyframes chatIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.001ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}
