*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Sarabun,sans-serif}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#9b30ff66;border-radius:3px}.hero-gradient-text{display:inline-block;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}:root{--ease-out-cubic: cubic-bezier(.33, 1, .68, 1);--ease-out-sine: cubic-bezier(.61, 1, .88, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out-cubic: cubic-bezier(.65, 0, .35, 1);--ease-in-out-sine: cubic-bezier(.37, 0, .63, 1);--m-step: 55ms}@keyframes m-soft-rise{0%{opacity:0;transform:translateY(28px);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes m-fade-slide{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes m-scroll-reveal{0%{opacity:0;transform:translateY(40px) scale(.98)}to{opacity:1;transform:none}}@keyframes m-list-stagger{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes m-grid-wave{0%{opacity:0;transform:translateY(24px) scale(.94)}to{opacity:1;transform:none}}@keyframes m-fade{0%{opacity:0}to{opacity:1}}@keyframes m-progress-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes m-width-reveal{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes m-pop-scale{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes m-highlight-sweep{0%{transform:translate(-120%) skew(-18deg)}to{transform:translate(220%) skew(-18deg)}}@keyframes m-light-sweep{0%{transform:translate(-100%)}35%,to{transform:translate(100%)}}@keyframes m-glow-pulse{0%{box-shadow:0 0 18px 0 var(--m-glow, rgba(255, 0, 102, .35))}to{box-shadow:0 0 44px 6px var(--m-glow, rgba(255, 0, 102, .35))}}@keyframes m-snap-in{0%{opacity:0;transform:translateY(-45%)}to{opacity:1;transform:none}}@keyframes m-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.m-reveal:not(.is-in){opacity:0}.m-reveal.is-in{animation:m-scroll-reveal .9s var(--ease-out-cubic) var(--m-delay, 0ms) backwards}.m-reveal.m-soft-rise.is-in{animation-name:m-soft-rise;animation-timing-function:var(--ease-out-sine)}.m-reveal.m-fade-slide.is-in{animation-name:m-fade-slide;animation-duration:.6s}.m-group:not(.is-in) .m-item{opacity:0}.m-group.is-in .m-item{animation:m-list-stagger .76s var(--ease-out-cubic) backwards;animation-delay:calc(min(var(--i, 0),14) * var(--m-step))}.m-group.m-grid.is-in .m-item{animation-name:m-grid-wave;animation-duration:.9s;animation-delay:calc(min(var(--i, 0),12)*70ms)}.m-group:not(.is-in) .m-fill{transform:scaleX(0)}.m-group.is-in .m-fill{transform-origin:left center;animation:m-progress-fill 1.2s var(--ease-out-cubic) backwards;animation-delay:calc(.2s + min(var(--i, 0),14) * var(--m-step))}.m-group:not(.is-in) .m-underline{transform:scaleX(0)}.m-group.is-in .m-underline{animation:m-width-reveal .65s var(--ease-out-cubic) .35s backwards}.m-group.is-in .m-pop{animation:m-pop-scale .52s var(--ease-out-back) calc(.3s + min(var(--i, 0),14) * var(--m-step)) backwards}.m-sweep-once{position:relative;overflow:hidden}.m-sweep-once:after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translate(-120%) skew(-18deg);pointer-events:none}.m-group.is-in .m-sweep-once:after{animation:m-highlight-sweep .82s var(--ease-in-out-cubic) calc(.7s + min(var(--i, 0),12)*70ms) 1 both}.m-light-sweep{position:relative;overflow:hidden}.m-light-sweep:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 25%,rgba(255,255,255,.55) 50%,transparent 75%);transform:translate(-100%);pointer-events:none;animation:m-light-sweep 2.7s var(--ease-in-out-cubic) 1.6s infinite}.m-glow{animation:m-glow-pulse 1.1s var(--ease-in-out-sine) infinite alternate}.m-tick{display:inline-block;animation:m-snap-in .38s var(--ease-out-cubic)}.m-skeleton{background:linear-gradient(90deg,var(--m-sk-a, rgba(128,128,128,.12)) 25%,var(--m-sk-b, rgba(128,128,128,.24)) 50%,var(--m-sk-a, rgba(128,128,128,.12)) 75%);background-size:200% 100%;animation:m-shimmer 1.2s linear infinite;border-radius:8px}.m-num{font-variant-numeric:tabular-nums}.m-lift{transition:transform .18s var(--ease-out-cubic),box-shadow .18s var(--ease-out-cubic),border-color .18s var(--ease-out-cubic)}.m-scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:101;transform-origin:left center;transform:scaleX(0);pointer-events:none}[data-motion=subtle] .m-reveal.is-in,[data-motion=subtle] .m-group.is-in .m-item{animation-name:m-fade;animation-duration:.5s}[data-motion=subtle] .m-glow,[data-motion=subtle] .m-light-sweep:after,[data-motion=subtle] .m-sweep-once:after,[data-motion=subtle] .m-tick{animation:none}[data-motion=subtle] .m-group.is-in .m-pop{animation-name:m-fade;animation-timing-function:ease-out}[data-motion=off] *,[data-motion=off] *:before,[data-motion=off] *:after{animation:none!important;transition:none!important}[data-motion=off] .m-reveal,[data-motion=off] .m-item,[data-motion=off] .m-fill,[data-motion=off] .m-underline{opacity:1!important;transform:none!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}.m-reveal,.m-item,.m-fill,.m-underline{opacity:1!important;transform:none!important}html{scroll-behavior:auto}}
