/* Search icon and sticky search */
.search{transition:filter .25s ease}.search-icon{position:absolute;left:18px;top:18px;width:21px;height:21px;stroke:#7d89a2;stroke-width:2;fill:none;pointer-events:none}.search input{padding-left:51px}.search.search-float{animation:searchIn .28s cubic-bezier(.22,1,.36,1)}

/* Calm, performant page motion */
.hero h1{animation:rise .65s cubic-bezier(.22,1,.36,1) both}.hero .muted{animation:rise .65s .1s cubic-bezier(.22,1,.36,1) both}.hero .search{animation:rise .65s .18s cubic-bezier(.22,1,.36,1) both}.section{animation:rise .55s cubic-bezier(.22,1,.36,1) both}.section:nth-of-type(2){animation-delay:.08s}.site{animation:cardIn .42s cubic-bezier(.22,1,.36,1) both}.site:nth-child(2n){animation-delay:.04s}.site:nth-child(3n){animation-delay:.08s}.site:hover .icon{transform:rotate(-7deg) scale(1.1)}.icon{transition:transform .22s ease}.letters a{transition:transform .2s ease,background .2s ease}.letters a:hover{transform:translateY(-2px);background:#dbe4ff}

/* Floating action buttons */
.floating{gap:12px}.floating .float-btn{position:relative;width:48px;height:48px;border:1px solid #e6eaff;border-radius:16px;background:linear-gradient(145deg,#fff,#eef2ff);display:grid;place-items:center;color:#506af4;box-shadow:0 8px 22px #253c8c24;transition:transform .22s ease,box-shadow .22s ease}.floating .float-btn:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 15px 30px #253c8c38}.floating .float-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.floating .float-btn::after{content:attr(data-tip);position:absolute;right:60px;white-space:nowrap;background:#202a46;color:#fff;border-radius:7px;padding:4px 9px;font-size:12px;opacity:0;transform:translateX(5px);pointer-events:none;transition:.2s}.floating .float-btn:hover::after{opacity:1;transform:translateX(0)}.feedback-float{animation:softPulse 2.6s ease-in-out infinite}.donate-float{color:#e66d45!important;background:linear-gradient(145deg,#fff9f4,#fff0e7)!important}.top-float{animation:rise .25s ease both}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes searchIn{from{opacity:0;transform:translate(-50%,-9px)}to{opacity:1;transform:translate(-50%,0)}}@keyframes softPulse{0%,100%{box-shadow:0 8px 22px #253c8c24}50%{box-shadow:0 10px 27px #536df56b}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media(max-width:600px){.floating .float-btn::after{display:none}.floating .float-btn{border-radius:50%}}
