@font-face{font-family:Satoshi;src:url(/fonts/Satoshi/Satoshi-Variable.woff2) format("woff2"),url(/fonts/Satoshi/Satoshi-Variable.woff) format("woff");font-weight:300 900;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi/Satoshi-VariableItalic.woff2) format("woff2"),url(/fonts/Satoshi/Satoshi-VariableItalic.woff) format("woff");font-weight:300 900;font-style:italic;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100%}html{overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:none}body{font-family:Satoshi,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:2px solid #FFE500;outline-offset:3px;border-radius:4px}.project-card:focus-visible{outline-offset:-3px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.hero-viewport{height:100vh;height:100dvh}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes overlayPanelIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollHint{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.hero-scroll-hint{animation:scrollHint 2s ease-in-out infinite}.logo-bar-kieuk,.logo-bar-k{transform-box:fill-box;transform-origin:center;animation-duration:3s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.logo-bar-k,.logo-bar-k-fill{opacity:0}.logo-bar-kieuk{opacity:1}@keyframes logoBarAKieuk{0%,43.333%{opacity:1;transform:none}50%,93.333%{opacity:0;transform:translate(-8px,-4px) rotate(90deg) scale(.85)}to{opacity:1;transform:none}}@keyframes logoBarAK{0%,43.333%{opacity:0;transform:translate(8px,4px) rotate(-90deg) scale(.85)}50%,93.333%{opacity:1;transform:none}to{opacity:0;transform:translate(8px,4px) rotate(-90deg) scale(.85)}}@keyframes logoBarBKieuk{0%,43.333%{opacity:1;transform:none}50%,93.333%{opacity:0;transform:translate(5px,2px) rotate(-25deg) scale(.8)}to{opacity:1;transform:none}}@keyframes logoBarBK{0%,43.333%{opacity:0;transform:translate(-5px,-2px) rotate(25deg) scale(.8)}50%,93.333%{opacity:1;transform:none}to{opacity:0;transform:translate(-5px,-2px) rotate(25deg) scale(.8)}}@keyframes logoBarCKieuk{0%,43.333%{opacity:1;transform:none}50%,93.333%{opacity:0;transform:translate(-11px,11px) rotate(-45deg) scale(.8)}to{opacity:1;transform:none}}@keyframes logoBarCK{0%,43.333%{opacity:0;transform:translate(11px,-11px) rotate(45deg) scale(.8)}50%,93.333%{opacity:1;transform:none}to{opacity:0;transform:translate(11px,-11px) rotate(45deg) scale(.8)}}.logo-bar-a.logo-bar-kieuk{animation-name:logoBarAKieuk}.logo-bar-a.logo-bar-k{animation-name:logoBarAK}.logo-bar-b.logo-bar-kieuk{animation-name:logoBarBKieuk}.logo-bar-b.logo-bar-k{animation-name:logoBarBK}.logo-bar-c.logo-bar-kieuk{animation-name:logoBarCKieuk}.logo-bar-c.logo-bar-k{animation-name:logoBarCK}@keyframes logoBarKFill{0%,43.333%{opacity:0}50%,93.333%{opacity:1}to{opacity:0}}.logo-bar-k-fill{animation:logoBarKFill 3s ease-in-out infinite}.logo-o{transform-box:fill-box;transform-origin:bottom center;animation:logoOPulse 3s ease-in-out infinite}@keyframes logoOPulse{0%,43.333%{transform-origin:bottom center;transform:scale(1)}46.665%{transform-origin:bottom center;transform:scale(.8)}50%{transform-origin:bottom center;transform:scale(1)}50%{transform-origin:top center;transform:scale(1)}93.333%{transform-origin:top center;transform:scale(1)}96.665%{transform-origin:top center;transform:scale(.8)}to{transform-origin:top center;transform:scale(1)}}.icon-hover-btn{color:#fff9;transition:color .18s ease}.icon-hover-btn:hover{color:#f5f5f5}.tab-pill{background:transparent;transition:background .18s ease}.tab-pill:hover{background:#ffffff14}.carousel-dot{background:#ffffff4d}button:hover>.carousel-dot{background:#ffffff80}.blog-grid-quad-container{container-type:inline-size}.blog-grid-quad{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}@container (min-width: 860px){.blog-grid-quad{grid-template-columns:repeat(4,1fr)}}@media (prefers-reduced-motion: reduce){.hero-scroll-hint,.logo-bar-kieuk,.logo-bar-k,.logo-bar-k-fill,.logo-o{animation:none}@keyframes overlayPanelIn{0%{opacity:0;transform:none}to{opacity:1;transform:none}}}
