@font-face{font-family:Questrial;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/questrial-vietnamese-400-normal.e8YnA9wZ.woff2) format("woff2"),url(/_astro/questrial-vietnamese-400-normal.B2ptJQWX.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Questrial;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/questrial-latin-ext-400-normal.rdiUVXr0.woff2) format("woff2"),url(/_astro/questrial-latin-ext-400-normal.urOzOTIY.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Questrial;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/questrial-latin-400-normal.DNhQdR1R.woff2) format("woff2"),url(/_astro/questrial-latin-400-normal.BcF-iMQl.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-stack-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-stack-heading: "Questrial", sans-serif;--accent-color: #D0C9F1;--h1-desktop: 52px;--h2-desktop: 37px;--h3-desktop: 32px;--h4-desktop: 24px;--h5-desktop: 21px;--h6-desktop: 19px;--h1: 42px;--h2: 30px;--h3: 27px;--h4: 22px;--h5: 19px;--h6: 18px;--padding: 50px}*{box-sizing:border-box}a{color:#004dd0;text-decoration:none}a:hover{text-decoration:underline}html,body{scroll-behavior:smooth}body{background:#fff;padding:0;margin:0;color:#000;font-family:var(--font-stack-body);font-size:14px;line-height:1.7em}body .page-wrapper:after{content:"";width:100%;height:100%;position:fixed;left:0;top:0;z-index:2;opacity:0;visibility:hidden;transition:all .25s ease-in;background:linear-gradient(135deg,#6c88c7,#4a91ce 40%,#9e5bbf 75%,#6162cd)}body.menu-open .page-wrapper:after{opacity:.97;visibility:visible}.container{width:1300px;max-width:100%;margin:0 auto;padding:0 var(--padding)}@media screen and (min-width:1025px){.desktop-hidden{display:none!important}}main>section{padding:100px 0}@media screen and (min-width:768px)and (max-width:1024px){:root{--padding: 30px}}@media screen and (max-width:767px){:root{--padding: 20px}main>section{padding:60px 0}}@media screen and (max-width:480px){:root{--padding: 15px}main>section{padding:40px 0}}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:var(--font-stack-heading);font-weight:300;line-height:100%}h1,.h1{font-size:var(--h1)}h2,.h2{font-size:var(--h2)}h3,.h3{font-size:var(--h3)}h4,.h4{font-size:var(--h4)}h5,.h5{font-size:var(--h5)}h6,.h6{font-size:var(--h6)}@media screen and (min-width:1024px){body{font-size:16px}h1,.h1{font-size:var(--h1-desktop)}h2,.h2{font-size:var(--h2-desktop)}h3,.h3{font-size:var(--h3-desktop)}h4,.h4{font-size:var(--h4-desktop)}h5,.h5{font-size:var(--h5-desktop)}h6,.h6{font-size:var(--h6-desktop)}}.bottom-margin-0{margin-bottom:0;padding-bottom:0}.mtop-small{margin-top:1rem}.mbot-small{margin-bottom:1rem}.small{font-size:.8rem}.line{overflow:hidden}.page-wrapper{overflow-x:hidden}.h3.mask-reveal{display:table}.animation-container canvas{height:100%!important;width:100%!important}.badge{display:inline-flex;justify-content:center;gap:8px;padding:3px 10px;border-radius:999px;font-size:.8rem;background:#ffffff14;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);align-items:center;color:#fff}.badge svg{width:21px;height:21px}.badge.dark{background:#0000001a;color:#000;backdrop-filter:none;border:none}.badge.blue{background:#a4bcf457;color:#fff}section.projects{background:#101828;width:calc(100% - 20px);margin-left:10px;border-radius:10px;color:#fff}.hero-container{width:100%;left:0;top:0;position:relative}.animation-container{width:100%;height:100vh;left:0;top:0;position:absolute;touch-action:none;overflow:hidden;background:linear-gradient(135deg,#6c88c7,#4a91ce 40%,#9e5bbf 75%,#6162cd)}.hero-container:has(.animation-container):before{content:"";width:100%;height:100%;left:0;top:0;position:absolute;background:#00000026;z-index:1;opacity:0;animation:overlayFadeIn .6s ease .8s forwards}@keyframes overlayFadeIn{to{opacity:1}}.hero-content{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 24px;color:#fff;height:100vh;position:relative;z-index:2}.hero-title{font-size:clamp(36px,5vw,52px);line-height:1.1;font-weight:500;margin-bottom:32px;margin-top:10px}.counter{font-family:var(--font-stack-heading);color:#ffffff75}.counter span{color:#fff}.counter-container{border-top:1px rgba(255,255,255,.1882352941) solid;margin-top:20px;padding-top:20px;color:#fff;position:relative}.counter-container:after{position:absolute;width:var(--progress);height:1px;background:#fff;top:-1px;content:""}.hero-actions{display:flex;gap:14px}.service-slide h2{font-weight:500;margin:1rem 0;color:#ffffff59}.service-slide .p{line-height:160%;font-family:var(--font-stack-body);font-weight:300;margin-top:1rem;font-size:1.1rem}@media screen and (min-width:1025px){.service-slide .p{text-align:right;width:800px;max-width:100%}}@media screen and (min-width:1025px){.services-wrapper.swiper-wrapper{box-sizing:border-box}.services-content{height:80vh;position:relative;z-index:2}.services-wrapper{display:flex;flex-direction:column;align-items:end;position:relative;width:1300px!important;max-width:100%!important}.hero-container:has(.services-content){height:600vh}.service-slide{display:flex!important;color:#fff!important;flex-direction:column!important;align-items:end!important;position:absolute!important;top:0!important}.service-slide .btn{margin-top:2rem;opacity:0;transform:translateY(10px)}.service-slide:not(.active){pointer-events:none}.service-slide:not(.active) h2{opacity:0}.service-slide.active .btn{opacity:1;transform:translateY(0);transition:all .25s ease-in;transition-delay:.35s}.hero-container .swiper-pagination{display:none}}@media screen and (max-width:1024px){.services-content{padding-bottom:5rem}.animation-container{height:100%}.container.services-wrapper{width:100%;padding:0}.services-content .swiper{padding:0 30px}.services-wrapper .swiper-slide .btn{transition:all .25s ease-in .25s}.services-wrapper .swiper-slide:not(.swiper-slide-active) .p{opacity:0!important}.services-wrapper .swiper-slide:not(.swiper-slide-active) .btn{transform:translateY(10px);opacity:0}.service-slide .btn{display:table;margin-top:2rem}.hero-container .swiper-pagination{right:20px;display:table;width:auto!important;left:auto!important;bottom:5rem!important}.hero-container .swiper-pagination-bullet{width:12px;height:12px}.hero-container .swiper-pagination-bullet-active{background:#fff}}@media screen and (max-width:767px){.services-content .swiper{padding:0 20px}}@media screen and (max-width:480px){.services-content .swiper{padding:0 15px}}.hero-standard h1{margin-bottom:1rem}.hero-standard .subtitle{margin:0 0 2rem}.hero-standard.hero-container{overflow:hidden}.project-hero .animation-container{height:100%}.project-hero .hero-content,.article-hero .hero-content,.hero-standard .hero-content{min-height:66vh;padding-top:120px;padding-bottom:40px;height:auto;width:800px;margin:0 auto;max-width:100%}.project-hero .hero-content,.article-hero .hero-content{justify-content:end;width:100%}.project-hero .hero-content .project-meta,.project-hero .hero-content .article-meta,.article-hero .hero-content .project-meta,.article-hero .hero-content .article-meta{width:100%}.project-hero h1,.article-hero h1{max-width:800px}.article-hero img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover}.article-hero:before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:linear-gradient(to bottom,#0000001a,#000000e6 60%,#242330);z-index:1}.project-meta{margin-top:2rem}.project-meta,.article-meta{border-top:1px rgba(255,255,255,.4509803922) solid;padding-top:2rem}.project-meta .meta-inner,.article-meta .meta-inner{display:grid;grid-template-columns:repeat(3,1fr);max-width:800px;margin:0 auto}.project-meta .meta-inner>div,.article-meta .meta-inner>div{display:flex;flex-direction:column}.project-meta .meta-inner>div span:first-child,.article-meta .meta-inner>div span:first-child{text-transform:uppercase;line-height:120%;opacity:.7}.project-meta .meta-inner>div span:last-child,.article-meta .meta-inner>div span:last-child{font-family:var(--font-stack-heading);padding-top:5px}@media screen and (max-width:767px){.project-meta .meta-inner>div span:last-child,.article-meta .meta-inner>div span:last-child{font-size:1.2rem}}@media screen and (max-width:767px){.project-meta .meta-inner,.article-meta .meta-inner{gap:10px}}.article-hero .project-author{display:flex;align-items:center;gap:10px}.article-hero .project-author__avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;object-position:50% 0;border:2px solid rgba(255,255,255,.4);position:relative}.article-hero .project-author__name{font-size:.9rem;color:#ffffffd9;font-family:var(--font-stack-body);letter-spacing:.02em}.card{transition:transform .25s ease-in;height:100%}.card a{display:flex;padding:20px;text-decoration:none;flex-direction:column;align-items:start;height:100%}@media(pointer:fine){.card:hover{transform:scale(1.03)}}.card-0,.card-4,.card-8{--card-bg: #f3f3f3;--card-color: #000;--card-date-color: #707070;--card-tag-color: #000;--card-tag-bg: rgb(208, 201, 241, .35)}.card-0:after,.card-4:after,.card-8:after{background-image:url("data:image/svg+xml;utf8,<svg width='108' height='110' viewBox='0 0 108 110' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 0.023741C15.4524 0.023741 6.86375 0 15.3245 0H107.986C107.986 11.7463 108.005 6.15604 108.005 13.75C108.005 21.344 102.047 27.5 94.6969 27.5H54.0054C46.8444 27.5 39.9769 30.3972 34.9139 35.5545C29.8501 40.7119 27.0054 47.7068 27.0054 55V96.0521C27.0054 103.755 20.9612 110 13.5054 110C6.04953 110 12.4307 110.051 0.0053617 110.051L0 0.023741Z' fill='%23F3F3F3'/></svg>")}.card-1,.card-5,.card-6{--card-bg: #b6c5e4;--card-color: #000;--card-date-color: #4a5770;--card-tag-color: #333;--card-tag-bg: rgb(255, 255, 255, .52)}.card-1:after,.card-5:after,.card-6:after{background-image:url("data:image/svg+xml;utf8,<svg width='108' height='110' viewBox='0 0 108 110' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 0.023741C15.4524 0.023741 6.86375 0 15.3245 0H107.986C107.986 11.7463 108.005 6.15604 108.005 13.75C108.005 21.344 102.047 27.5 94.6969 27.5H54.0054C46.8444 27.5 39.9769 30.3972 34.9139 35.5545C29.8501 40.7119 27.0054 47.7068 27.0054 55V96.0521C27.0054 103.755 20.9612 110 13.5054 110C6.04953 110 12.4307 110.051 0.0053617 110.051L0 0.023741Z' fill='%23B6C5E4'/></svg>")}.card-2,.card-3,.card-7{--card-bg: #101828;--card-color: #fff;--card-date-color: rgba(255, 255, 255, .73);--card-tag-color: #000;--card-tag-bg: rgb(255, 255, 255, .72)}.card-2:after,.card-3:after,.card-7:after{background-image:url("data:image/svg+xml;utf8,<svg width='108' height='110' viewBox='0 0 108 110' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M0 0.023741C15.4524 0.023741 6.86375 0 15.3245 0H107.986C107.986 11.7463 108.005 6.15604 108.005 13.75C108.005 21.344 102.047 27.5 94.6969 27.5H54.0054C46.8444 27.5 39.9769 30.3972 34.9139 35.5545C29.8501 40.7119 27.0054 47.7068 27.0054 55V96.0521C27.0054 103.755 20.9612 110 13.5054 110C6.04953 110 12.4307 110.051 0.0053617 110.051L0 0.023741Z' fill='%23101828'/></svg>")}.card h4{font-family:var(--font-stack-heading);color:var(--card-color);font-weight:300;margin-bottom:80px;line-height:150%;margin-top:10px}.card .category{color:var(--card-tag-color);background:var(--card-tag-bg);padding:6px 12px;border-radius:30px;margin-top:auto}.card h4,.card .category{position:relative;z-index:1}.card-btn{width:48px;height:48px;border-radius:10px;background:var(--accent-color);position:absolute;right:0;bottom:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.card-btn svg{width:24px;height:24px}.card{position:relative}.card time{color:var(--card-date-color);position:relative;z-index:1}.card:before{content:"";position:absolute;border-top-left-radius:20px;border-top-right-radius:20px;border-bottom-left-radius:20px;right:0;bottom:0;width:100%;height:100%;background:var(--card-bg);clip-path:polygon(0 0,100% 0,100% calc(100% - 80px),calc(100% - 80px) calc(100% - 80px),calc(100% - 80px) 100%,0 100%);pointer-events:none}.card:after{content:"";position:absolute;right:0;bottom:0;width:88px;height:85px;background-repeat:no-repeat;background-size:contain;background-position:100% 100%;pointer-events:none}@media screen and (max-width:1024px){.card{animation:none!important;visibility:visible!important}}@media screen and (max-width:1024px){section.articles .container{padding:0}section.articles h2{padding:0 var(--padding)}.article-swiper{padding:0 var(--padding)!important}.article-swiper .swiper-slide{height:auto}}@media screen and (min-width:1024px){.article-swiper{overflow:visible!important}.article-swiper .swiper-wrapper{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;transform:translateZ(0)!important}.article-swiper .swiper-slide{width:100%!important;margin-right:0!important}}.post-main .container{width:100%;max-width:800px;padding-top:var(--padding);padding-bottom:var(--padding)}.github-dark{padding:20px;border-radius:10px}.post-main hr{height:1px;background:#d4d4d4;font-size:0;border:0}.post-main img{width:100%;height:auto;border-radius:10px;margin:10px 0}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}@media screen and (max-width:1024px){.article-grid{grid-template-columns:1fr 1fr}}@media screen and (max-width:767px){.article-grid{grid-template-columns:1fr}}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin:2rem 0}.pagination__link{display:inline-flex;justify-content:center;align-items:center;width:42px;height:42px;padding:0 .5rem;border-radius:6px;text-decoration:none;color:#374151;background-color:#fff;border:1px solid #d1d5db;transition:all .2s}.pagination__link:hover:not(.disabled){background-color:#f3f4f6;border-color:#9ca3af}.pagination__link.active{background-color:#6282ca;color:#fff;border-color:#6282ca}.pagination__link.disabled{cursor:not-allowed}.tag-filter{margin-top:.5rem}.tag-select{appearance:none;-webkit-appearance:none;background-color:#ffffff1a;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#fff;font-family:var(--font-stack-body);font-size:.95rem;height:44px;padding:0 44px 0 22px;cursor:pointer;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1L6 7L11 1' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;transition:border-color .2s,background-color .2s}.tag-select option{background:#14131e;color:#fff}.tag-select:hover{border-color:#fff6;background-color:#ffffff26}.post-main .contains-task-list{list-style:disc}.post-main .contains-task-list .task-list-item input[type=checkbox]{display:none}.nav{position:fixed;top:24px;left:50%;transform:translate(-50%);width:760px;max-width:90%;z-index:10;padding:3px 33px;border-radius:999px;backdrop-filter:blur(14px);background:#3434347d;display:flex;justify-content:space-between;align-items:center}.logo a{padding:20px 0;display:block}.logo img{width:100px;display:block}.nav-links{display:flex}@media(pointer:fine){.nav-links:hover a{opacity:.2}}.nav-links a{position:relative}@media screen and (min-width:1024px){.nav-links .active:after{content:"";position:absolute;width:70%;height:1px;left:50%;transform:translate(-50%);bottom:20px;background:#ffffffb0}}.nav-links a{color:#fff;text-decoration:none;font-size:1rem;font-weight:300;padding:21px 10px;display:flex;align-items:center;transition:opacity .2s ease-in}@media(pointer:fine){.nav-links a:hover{opacity:1}}.lang-switcher{background:#3434347d;position:fixed;right:24px;top:36px;backdrop-filter:blur(14px);z-index:11;display:flex;align-items:center;padding:8px 14px;border-radius:99px;cursor:pointer;gap:8px;user-select:none}.lang-switcher:hover{background:#343434c4}.lang-switcher .globe,.lang-switcher .arrow-down{width:24px;height:24px}.lang-switcher .globe svg,.lang-switcher .arrow-down svg{width:24px;height:24px}.current-lang,.lang-switcher .arrow-down{display:flex;align-items:center;justify-content:center}.lang-switcher .arrow-down svg{transition:transform .2s ease}.lang-switcher.active .arrow-down svg{transform:rotate(180deg)}.flag-svg{border-radius:2px;object-fit:cover;box-shadow:0 0 3px #0000004d}.lang-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#343434d9;backdrop-filter:blur(14px);border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:4px;min-width:120px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease}.lang-switcher.active .lang-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.lang-option{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;padding:8px 12px;border-radius:6px;font-size:.9rem;font-family:sans-serif;transition:background .2s}.lang-option:hover{background:#ffffff26;text-decoration:none}.mobile-lang-switcher{display:none}@media screen and (min-width:1025px){.hambaga{display:none!important}}@media screen and (max-width:1024px){.nav{width:calc(100% - 40px);max-width:100%;top:20px;padding:0 25px}.lang-switcher{display:none}.nav-links{position:fixed;left:0;opacity:0;visibility:hidden;z-index:10;top:70px;display:flex;flex-direction:column;background:#3434347d;backdrop-filter:blur(14px);width:100%;border-radius:25px}.nav-links a{font-family:var(--font-stack-heading);font-size:21px!important;padding:24px 0!important;width:100%;justify-content:center;transition:all .21s cubic-bezier(.41,0,.65,1)!important}.nav-links a:nth-child(1){transition-delay:0s!important}.nav-links a:nth-child(2){transition-delay:.03s!important}.nav-links a:nth-child(3){transition-delay:.09s!important}.nav-links a:nth-child(4){transition-delay:.12s!important}.nav-links a:nth-child(5){transition-delay:.15s!important}.nav-links a:nth-child(6){transition-delay:.18s!important}.nav-links a:nth-child(7){transition-delay:.21s!important}.nav-links a .mobile-lang-switcher{transition-delay:.21s!important}.nav-links:not(.active) a{opacity:0;transform:translateY(-20px)}.nav-links:not(.active) .mobile-lang-switcher{opacity:0;transform:translateY(-20px)}.nav-links.active{opacity:1;visibility:visible}.nav-links.active a,.nav-links.active .mobile-lang-switcher{opacity:1;transform:translateY(0)}.mobile-lang-switcher{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px 0;transition:all .21s cubic-bezier(.41,0,.65,1)}.mobile-lang-option{display:flex;align-items:center;gap:6px;color:#ffffff80;text-decoration:none;font-size:16px;font-weight:300;transition:color .2s}.mobile-lang-option.mobile-lang-active{color:#fff}.mobile-lang-divider{color:#ffffff4d;font-size:16px}}@media screen and (max-width:480px){.nav{width:calc(100% - 30px);max-width:100%;top:15px}}.contact-form{display:flex;flex-direction:column;gap:20px}.contact-form .row{display:flex;gap:16px}@media(max-width:480px){.contact-form .row{flex-direction:column}.contact-form{padding:0}}.contact-text{border-bottom:1px rgba(255,255,255,.3803921569) solid;padding-bottom:2rem;margin-bottom:2rem}section.contact{overflow:hidden;color:#fff;display:flex;align-items:center;border-bottom-left-radius:30px;border-bottom-right-radius:30px;margin-bottom:20px;position:relative}@media screen and (min-width:1025px){section.contact{min-height:100vh;padding-top:120px}section.contact .contact-img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}section.contact:before{content:"";width:100%;height:100%;position:absolute;left:0;top:0;background-image:linear-gradient(to right,#000,#0003);z-index:1}}@media screen and (max-width:1024px){section.contact{background-color:#161b22;padding:0!important}section.contact .contact-img{display:none}}section.contact .contact-icon,section.contact a{color:#fff;display:flex;text-decoration:none;gap:10px;margin-bottom:10px}section.contact .contact-icon:hover,section.contact a:hover{opacity:.8}section.contact .col2{display:grid;gap:50px;grid-template-columns:1fr 1fr;padding:100px 40px;border-radius:28px;max-width:100%;box-shadow:0 25px 50px -12px #00000080;position:relative;z-index:2}@media(max-width:1024px){section.contact .col2{display:flex;flex-direction:column;padding:80px 20px}}@media(min-width:1025px){section.contact .col2{background-color:#161b22cf;backdrop-filter:blur(5px)}}section.contact .animation-container{z-index:-1;height:100%}.about-intro{background:#101828;width:calc(100% - 20px);margin-left:10px;border-radius:10px;color:#fff;margin-top:20px}.about-intro .about-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;align-items:start}.about-intro .about-left h2{color:#fff;font-size:clamp(30px,3.5vw,48px);line-height:1.1;margin:1rem 0 0}.about-intro .about-right{display:flex;flex-direction:column;align-items:start}.about-intro .about-right p{color:#ffffffbf;margin:0 0 1.4em;line-height:1.8}.about-intro .about-right p:last-child{margin-bottom:0}@media(max-width:1024px){.about-intro .about-grid{grid-template-columns:1fr;gap:30px}.about-intro span.line{display:none}}@media(max-width:480px){.about-intro{width:calc(100% - 10px);margin-left:5px;border-radius:8px}}@media(min-width:1025px){.about-intro .about-grid{grid-template-columns:.75fr 1px 1.6fr}.about-intro span.line{height:100%;background:#344059}}.founder-section{background:#101828;width:calc(100% - 20px);margin-left:10px;border-radius:10px;color:#fff;margin-top:20px}.founder-section .founder-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;align-items:start}.founder-section .founder-left h2{color:#fff;font-size:clamp(30px,3.5vw,48px);line-height:1.1;margin:1rem 0 0}.founder-section .founder-image{border-radius:16px;overflow:hidden;aspect-ratio:3/4;margin-top:24px}.founder-section .founder-image img{width:100%;height:100%;object-fit:cover;display:block}.founder-section .founder-right{display:flex;flex-direction:column;align-items:start}.founder-section .founder-right p{color:#ffffffbf;margin:0 0 1.4em;line-height:1.8}.founder-section .founder-right p:last-child{margin-bottom:0}@media(max-width:1024px){.founder-section .founder-grid{grid-template-columns:1fr;gap:30px}.founder-section span.line{display:none}}@media(max-width:480px){.founder-section{width:calc(100% - 10px);margin-left:5px;border-radius:8px}}@media(min-width:1025px){.founder-section .founder-grid{grid-template-columns:.75fr 1px 1.6fr}.founder-section span.line{height:100%;background:#344059}}.profile-card{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:3/4;background:#000;cursor:pointer}@media screen and (max-width:480px){.profile-card{aspect-ratio:3/5}}.profile-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease-in}@media(pointer:fine){.profile-card:hover img{transform:scale(1.1)}}.profile-card .overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;padding:20px;background:linear-gradient(to top,#000,#0000);height:250px;align-self:end}.profile-card .text{position:relative;width:100%;border-top:1px rgba(255,255,255,.43) solid;padding-top:10px}.profile-card .text h5{margin:0;color:#fff;padding-right:30px}.profile-card .text p{margin:0;font-size:.95rem;font-weight:500;background:linear-gradient(to right,#fff1bd,#9451d5);background-clip:border-box;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.profile-card .linkedin{color:#fff;width:36px;height:36px;position:absolute;right:-10px;top:3px;display:flex;align-items:center;justify-content:center}.profile-card .linkedin svg{width:24px;height:24px}.profile-card--cta{display:flex;align-items:center;justify-content:center;border-radius:20px;aspect-ratio:3/4;background:#101828;border:1px solid rgba(148,81,213,.3);text-decoration:none!important;transition:all .3s ease,background .3s ease}@media screen and (max-width:480px){.profile-card--cta{aspect-ratio:3/5}}.profile-card--cta:hover{background:#081a3d}.profile-card--cta-inner{text-align:center;padding:20px}.profile-card--cta-inner p{margin:0 0 12px;font-size:1.5rem;font-weight:700;color:#fff;font-family:var(--font-stack-heading)}.profile-card--cta-inner span{font-size:.9rem;font-weight:500;background:linear-gradient(to right,#fff1bd,#9451d5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media screen and (max-width:768px){.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}}@media screen and (max-width:389px){.team-grid{grid-template-columns:1fr;gap:20px}}.stats-glass-card{display:flex;align-items:center;justify-content:space-around;width:100%;max-width:1000px;padding:40px 20px;background:#ffffff1a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:24px;border:1px solid rgba(255,255,255,.2)}.stats-glass-card .stat-item{display:flex;align-items:center;gap:20px;flex:1;flex-direction:column}.stats-glass-card .stat-value{font-size:clamp(36px,5vw,52px);font-weight:300;color:#fff;letter-spacing:-1px;font-family:var(--font-stack-heading)}.stats-glass-card .stat-label{font-size:1rem;line-height:1.3;color:#ffffffe6;font-weight:400;text-align:center}.stats-glass-card .divider{width:1px;height:100px;background:#ffffff4d}@media(max-width:768px){.stats-glass-card{flex-direction:column;gap:40px;padding:40px 20px}.stats-glass-card .divider{width:60%;height:1px}.stats-glass-card .stat-item{width:100%}.stats-glass-card .stat-value{font-size:3rem}}.project-list-item{display:flex;align-items:center;padding:21px 0;border-bottom:1px rgba(255,255,255,.51) solid;cursor:pointer;color:#fff;text-decoration:none}.project-list-item .project-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px white solid;border-radius:50%}.project-list-item .project-icon svg{width:14px;height:14px}@media(pointer:fine){.project-list-item:hover{text-decoration:none}.project-list-item:hover .project-icon{background:#fff}.project-list-item:hover .project-icon svg{filter:invert(1)}}@media screen and (max-width:767px){.project-list-item{flex-direction:column;align-items:start;position:relative;padding-right:50px}.project-list-item h4.project-name{margin:10px 0}.project-list-item .project-icon{position:absolute;right:0;top:50%;transform:translateY(-50%)}}.project-description .logo{text-align:left}.project-description .logo img{max-width:200px;height:auto;max-height:200px;object-fit:contain;width:auto}.project-description .description-content{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin:0 auto 5rem}@media screen and (min-width:1025px){.project-description .description-content>div:first-child{border-right:1px solid #e0e0e0;padding-right:50px}}@media screen and (max-width:1024px){.project-description .description-content{display:block}}.template2 .logo{margin-bottom:2rem}.template2 .description-content{grid-template-columns:1fr}.template2 .container.col2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}@media screen and (max-width:1024px){.template2 .container.col2{display:block}}.template2 .container.col2 .logo{justify-content:start}@media screen and (min-width:768px){h4.project-name{margin:0 0 0 18px}.project-service{margin-left:auto}.preview-container{position:fixed;left:0;top:0;pointer-events:none;z-index:10;display:none;background:#fff;color:#101828;padding:6px 14px;border-radius:100px;font-size:14px;font-weight:600;white-space:nowrap}.preview-container.active{display:block}}.services-accordion-wrapper{background-color:#ececec;display:flex;flex-direction:column;align-items:center;width:calc(100% - 20px);margin-top:10px;margin-left:10px;border-radius:10px}.services-accordion-wrapper .accordion-list{width:100%;max-width:900px;border-bottom:1px solid #ccc;margin:0 auto}.services-accordion-wrapper .accordion-item{border-top:1px solid #ccc}.services-accordion-wrapper .accordion-header{width:100%;display:flex;justify-content:space-between;padding:40px 0;background:none;border:none;cursor:pointer}.services-accordion-wrapper .header-left{display:flex;align-items:center;gap:20px}.services-accordion-wrapper .number{color:#999;font-size:1.2rem;font-family:var(--font-stack-heading)}.services-accordion-wrapper .title{font-size:1.6rem;color:#000;text-align:left}@media screen and (max-width:767px){.services-accordion-wrapper .title{font-size:1.2rem}}@media(pointer:fine){.services-accordion-wrapper .accordion-list:hover .title{opacity:.5}.services-accordion-wrapper .accordion-list .accordion-item:hover .title{opacity:1}}.services-accordion-wrapper .icon{position:relative;width:24px;height:24px}.services-accordion-wrapper .icon:before,.services-accordion-wrapper .icon:after{content:"";position:absolute;background-color:#111;top:50%;left:50%;transform:translate(-50%,-50%);transition:transform .3s ease}.services-accordion-wrapper .icon:before{width:20px;height:2px}.services-accordion-wrapper .icon:after{width:2px;height:20px}.services-accordion-wrapper .accordion-item.active .icon:after{transform:translate(-50%,-50%) rotate(90deg)}.services-accordion-wrapper .accordion-content{overflow:hidden;transition:max-height .4s ease-in-out}.services-accordion-wrapper .content-inner{padding-bottom:40px;max-width:700px}@media screen and (min-width:768px){.services-accordion-wrapper .content-inner{padding-left:2.75rem}}.services-accordion-wrapper .cta-container{margin-top:2rem;display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.services-accordion-wrapper .cta-container .btn{margin:0}.footer-wrapper{background:linear-gradient(135deg,#6c88c7,#4a91ce 40%,#9e5bbf 75%,#6162cd);color:#fff;padding:60px 0;border-top-left-radius:30px;border-top-right-radius:30px}.footer-wrapper .btn{display:inline-flex}.footer-wrapper .top-section{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px}.footer-wrapper .h3{margin:20px 0}.footer-nav{display:flex;margin-bottom:10px}@media screen and (max-width:480px){.footer-nav{width:100%;justify-content:space-between}}@media(pointer:fine){.footer-nav:hover a{opacity:.2}}.footer-nav a{color:#fff;text-decoration:none;font-size:1rem;font-weight:400;transition:opacity .2s ease-in;padding:2px 10px}@media screen and (max-width:480px){.footer-nav a{padding:2px 5px}}@media(pointer:fine){.footer-nav a:hover{opacity:1}}.footer-wrapper .divider{border:none;border-top:1px solid rgba(255,255,255,.4);margin:0 0 30px}.footer-wrapper .bottom-section{display:flex;justify-content:center}.footer-wrapper .copyright{font-size:.8rem;opacity:.8;max-width:600px;line-height:150%}@media(max-width:768px){.footer-wrapper .top-section{flex-direction:column;align-items:flex-start;gap:40px}.footer-wrapper .footer-nav{flex-wrap:wrap}}.hambaga{background-color:transparent;border:none;cursor:pointer;display:flex;padding:0}.hambaga svg{width:50px;height:50px}.hambaga .line{fill:none;stroke:#fff;stroke-width:6;transition:stroke-dasharray .6s cubic-bezier(.4,0,.2,1),stroke-dashoffset .6s cubic-bezier(.4,0,.2,1)}.hambaga .line1{stroke-dasharray:60 207;stroke-width:6}.hambaga .line2{stroke-dasharray:60 60;stroke-width:6}.hambaga .line3{stroke-dasharray:60 207;stroke-width:6}.hambaga.active .line1{stroke-dasharray:90 207;stroke-dashoffset:-134;stroke-width:6}.hambaga.active .line2{stroke-dasharray:1 60;stroke-dashoffset:-30;stroke-width:6}.hambaga.active .line3{stroke-dasharray:90 207;stroke-dashoffset:-134;stroke-width:6}button,.btn{height:44px;padding:0 22px;border-radius:999px;font-size:1rem;font-weight:500;border:none;cursor:pointer;text-decoration:none;display:flex;align-items:center;justify-content:center;font-family:var(--font-stack-body);overflow:hidden;text-decoration:none!important}.flip-text{display:block;position:relative;transition:transform .4s cubic-bezier(.76,0,.24,1);line-height:44px;white-space:nowrap}.flip-text:after{content:attr(data-text);position:absolute;top:100%;left:0;width:100%;height:100%}@media(pointer:fine){.btn:hover .flip-text{transform:translateY(-100%)}}button.primary,.btn.primary{background:#fff;color:#000}button.black,.btn.black{background:#000;color:#fff}button.ghost,.btn.ghost{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.12)}button.centered,.btn.centered{display:table;margin:50px auto 0;line-height:44px}input,textarea{background-color:#1f242c;border:1px solid #30363d;border-radius:8px;padding:14px 16px;color:#fff;font-size:1rem;width:100%;font-family:var(--font-stack-body);outline:none;transition:border-color .2s,box-shadow .2s}input::placeholder,textarea::placeholder{color:#8b949e}input:focus,textarea:focus{border-color:#8b2cf5;box-shadow:0 0 0 2px #8b2cf533}textarea{resize:none}.contact-form button{background-color:#8b2cf5;color:#fff;border:none;border-radius:10px;padding:14px;font-size:1rem;font-weight:500;cursor:pointer;margin-top:10px;transition:background-color .2s,transform .1s}.contact-form button:hover{background-color:#7a25d9}.contact-form button:active{transform:scale(.98)}.contact-form button:disabled{opacity:.6;cursor:not-allowed}.form-message{font-size:.9rem;border-radius:8px;padding:0;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.form-message--success{max-height:100px;padding:12px 16px;background:#22c55e1f;color:#4ade80;border:1px solid rgba(34,197,94,.25)}.form-message--error{max-height:100px;padding:12px 16px;background:#ef44441f;color:#f87171;border:1px solid rgba(239,68,68,.25)}.text-reveal,.add-transition{visibility:hidden}.transition-done{animation-duration:.75s}.fade-in{animation-name:fadeIn}.fade-in-left{animation-name:fadeInLeft}.fade-in-up{animation-name:fadeInUp}.fade-in-right{animation-name:fadeInRight}.fade-in-down{animation-name:fadeInDown}@keyframes fadeInDown{0%{opacity:0;transform:translate3d(0,-8%,0)}to{opacity:1;transform:none}}@keyframes fadeInLeft{0%{opacity:0;transform:translate3d(8%,0,0)}to{opacity:1;transform:none}}@keyframes fadeInRight{0%{opacity:0;transform:translate3d(-8%,0,0)}to{opacity:1;transform:none}}@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,8%,0)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mask-reveal{clip-path:inset(0 100% 0 0);opacity:1}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
