*{margin:0;padding:0;box-sizing:border-box}body{overflow-x:hidden;font-family:Bai Jamjuree,sans-serif;font-optical-sizing:auto;font-style:normal;position:relative}a{transition:.5s ease}a:focus,a:focus-visible{outline:none;box-shadow:none}a,a:hover{text-decoration:none}ul,li{list-style-type:none;margin:0;padding:0}@keyframes marqueeanimation{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@keyframes stonerotate{0%{transform:translateY(0) rotate(0)}to{transform:translateY(110%) rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{50%{border-color:transparent}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse{0%{box-shadow:0 0 #0abf8eb3}70%{box-shadow:0 0 0 10px #0abf8e00}to{box-shadow:0 0 #0abf8e00}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes scrollDot{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}@keyframes particleFloat{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) rotate(720deg);opacity:0}}@keyframes badgeFloat{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-5px) rotate(1deg)}75%{transform:translateY(5px) rotate(-1deg)}}.hero-fade-in{animation:fadeInUp 1s ease-out forwards}.hero-slide-left{animation:slideInLeft .8s ease-out forwards}.hero-slide-right{animation:slideInRight .8s ease-out forwards}.typing-text{overflow:hidden;border-right:3px solid #0abf8e;white-space:nowrap;animation:typing 3s steps(30,end),blink .75s step-end infinite}.floating-element{animation:float 6s ease-in-out infinite}.pulse-animation{animation:pulse 2s infinite}.scroll-dot{width:2px;height:8px;background:#fff;border-radius:2px;animation:scrollDot 2s infinite}.badge-up{animation:badgeFloat 4s ease-in-out infinite}.badge-down{animation:badgeFloat 4s ease-in-out infinite reverse}.pulse-ring{width:8px;height:8px;border-radius:50%;background:#0abf8e4d;animation:pulse 2s infinite}.btn-cv:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0abf8e4d}.btn-work:hover{transform:translateY(-2px);border-color:#0abf8e;color:#0abf8e;background:#0abf8e1a}.stat-number{transition:all .6s ease-out}.particle{position:absolute;pointer-events:none;opacity:.3;animation:particleFloat 15s linear infinite}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-180deg) scale(.5)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes waveText{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #0abf8e4d}50%{box-shadow:0 0 40px #0abf8e99}}@keyframes morphShape{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}}.hero-slide-top{animation:slideInFromTop .8s ease-out forwards}.hero-slide-bottom{animation:slideInFromBottom .8s ease-out forwards}.hero-scale-in{animation:scaleIn .6s ease-out forwards}.wave-text{animation:waveText 2s ease-in-out infinite}.glow-effect{animation:glowPulse 3s ease-in-out infinite}.morph-shape{animation:morphShape 8s ease-in-out infinite}.glass-card{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}
