@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations");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}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.woff2) format("woff2-variations");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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.woff2) format("woff2-variations");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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.woff2) format("woff2-variations");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{--bg: #07080d;--surface: #11131d;--line: #232838;--text: #e7e9f0;--muted: #969cb0;--faint: #5d6478;--a1: #7c5cff;--a2: #21d4c4;--a3: #ff7a59;--glow: rgba(124, 92, 255, .35);--r: 16px;--maxw: 1080px;--font-sans: "Inter Variable", "Inter", system-ui, -apple-system, sans-serif;--font-display: "Space Grotesk Variable", "Space Grotesk", var(--font-sans)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:-.02em}a{color:inherit;text-decoration:none}#progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--a1),var(--a2),var(--a3));z-index:100}.bg-fx{position:fixed;inset:0;z-index:-1;overflow:hidden}.blob{position:absolute;border-radius:50%;filter:blur(90px)}.blob.b1{width:540px;height:540px;background:radial-gradient(circle,var(--a1),transparent 70%);top:-160px;left:-120px;opacity:.45;animation:drift1 22s ease-in-out infinite}.blob.b2{width:480px;height:480px;background:radial-gradient(circle,var(--a2),transparent 70%);top:30%;right:-160px;opacity:.3;animation:drift2 26s ease-in-out infinite}.blob.b3{width:420px;height:420px;background:radial-gradient(circle,var(--a3),transparent 70%);bottom:-160px;left:30%;opacity:.18;animation:drift3 30s ease-in-out infinite}@keyframes drift1{50%{transform:translate(80px,60px) scale(1.1)}}@keyframes drift2{50%{transform:translate(-70px,40px) scale(1.15)}}@keyframes drift3{50%{transform:translate(40px,-60px) scale(1.05)}}.grain{position:absolute;inset:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);background:#07080d8c;border-bottom:1px solid transparent;transition:border-color .3s,background .3s}nav.scrolled{border-color:var(--line);background:#07080dcc}nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{font-family:var(--font-display);font-weight:700;font-size:1.05rem}.brand .dot{color:var(--a1)}.navlinks{display:flex;gap:28px;font-size:.92rem}.navlinks a{color:var(--muted);transition:color .2s}.navlinks a:hover{color:var(--text)}@media(max-width:640px){.navlinks{display:none}}section{padding:110px 0;position:relative}.eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.22em;color:var(--a2);font-weight:600;margin-bottom:14px}.section-title{font-size:clamp(1.7rem,4vw,2.5rem);font-weight:700;margin-bottom:14px}.lead{color:var(--muted);max-width:620px;font-size:1.05rem}.hero{padding:150px 0 120px;position:relative}.hero .wrap{position:relative;z-index:1}.hero h1{font-size:clamp(2.8rem,8vw,5.2rem);line-height:1.02;font-weight:700}.hero h1 .grad{background:linear-gradient(110deg,var(--a1),var(--a2) 50%,var(--a3),var(--a1));background-size:250% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 8s linear infinite}@keyframes shimmer{to{background-position:250% center}}.hero .tag{margin-top:22px;font-size:clamp(1.1rem,2.6vw,1.5rem);color:var(--text);font-weight:500}.hero .intro{margin-top:18px;max-width:560px;color:var(--muted);font-size:1.08rem}.cta-row{margin-top:38px;display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:9px;padding:12px 22px;border-radius:999px;font-weight:500;font-size:.95rem;border:1px solid var(--line);color:var(--text);transition:transform .35s cubic-bezier(.2,.6,.2,1),border-color .2s,background .2s,box-shadow .2s;will-change:transform}.btn:hover{border-color:var(--a1)}.btn.primary{background:linear-gradient(110deg,var(--a1),var(--a2));border-color:transparent;color:#07080d;font-weight:600;box-shadow:0 8px 30px -8px var(--glow)}.btn.primary:hover{box-shadow:0 12px 40px -8px var(--glow)}.about-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}.about-grid p{color:var(--muted);margin-bottom:16px}.about-grid p strong{color:var(--text);font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.chip{font-size:.82rem;padding:7px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted)}@media(max-width:760px){.about-grid{grid-template-columns:1fr;gap:28px}}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:44px}@media(max-width:760px){.cards{grid-template-columns:1fr}}.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transform-style:preserve-3d;transition:transform .2s ease-out,border-color .25s;will-change:transform}.card .glow{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(300px circle at var(--gx, 50%) var(--gy, 50%),rgba(124,92,255,.12),transparent 60%)}.card:hover .glow{opacity:1}.card:before{content:"";position:absolute;inset:0;z-index:3;border-radius:var(--r);padding:1px;background:linear-gradient(130deg,var(--a1),var(--a2));opacity:0;pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;transition:opacity .3s}.card:hover:before{opacity:1}.card-media{position:relative;height:168px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line)}.card-media.icon-bg{background:radial-gradient(120% 120% at 30% 0%,rgba(124,92,255,.22),transparent 60%),var(--surface)}.card-media img.icon{width:92px;height:92px;border-radius:22px;box-shadow:0 14px 40px -12px #000000b3}.card-media img.poster{width:100%;height:100%;object-fit:cover}.card-body{padding:22px 24px 24px;position:relative;z-index:4}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card h3{font-size:1.3rem;font-weight:600}.badge{font-size:.72rem;font-weight:600;padding:4px 11px;border-radius:999px;letter-spacing:.04em}.badge.live{background:#21d4c424;color:var(--a2);border:1px solid rgba(33,212,196,.3)}.badge.dev{background:#ff7a591f;color:var(--a3);border:1px solid rgba(255,122,89,.3)}.card p{color:var(--muted);font-size:.95rem;margin-bottom:16px}.card-links{display:flex;gap:16px;font-size:.88rem;font-weight:500}.card-links a{color:var(--a1);transition:color .2s}.card-links a:hover{color:var(--a2)}.card-links span{color:var(--faint)}.timeline{margin-top:44px;position:relative;padding-left:28px}.timeline:before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--a1),var(--a2),transparent)}.tl-item{position:relative;padding-bottom:36px}.tl-item:last-child{padding-bottom:0}.tl-item:before{content:"";position:absolute;left:-27px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--a1)}.tl-item .when{font-size:.82rem;color:var(--a2);font-weight:600;letter-spacing:.04em}.tl-item h3{font-size:1.15rem;margin:4px 0 2px}.tl-item .where{color:var(--muted);font-size:.95rem}.tl-item .desc{color:var(--faint);font-size:.92rem;margin-top:6px}.contact{text-align:center}.contact .section-title{font-size:clamp(2rem,5vw,3rem)}.contact-mail{display:inline-block;margin-top:22px;font-family:var(--font-display);font-size:clamp(1.3rem,4vw,2.2rem);font-weight:600;background:linear-gradient(110deg,var(--a1),var(--a2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.socials{margin-top:30px;display:flex;gap:16px;justify-content:center}.socials a{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:var(--surface);border:1px solid var(--line);color:var(--muted);transition:color .2s,border-color .2s,box-shadow .2s;will-change:transform}.socials a:hover{color:var(--text);border-color:var(--a1)}.socials svg{width:20px;height:20px}footer{padding:40px 0 60px;text-align:center;color:var(--faint);font-size:.85rem;border-top:1px solid var(--line)}footer a{color:var(--muted);transition:color .2s}footer a:hover{color:var(--text)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1)}.reveal.in{opacity:1;transform:none}.word{display:inline-block;opacity:0;transform:translateY(.5em);transition:opacity .5s,transform .5s}.word.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal,.word{opacity:1!important;transform:none!important;transition:none}html{scroll-behavior:auto}.blob,.hero h1 .grad{animation:none}}.legal{max-width:680px}.legal h1{font-size:clamp(2rem,5vw,2.8rem);margin-bottom:8px}.legal h2{font-size:1.1rem;margin:32px 0 8px;color:var(--text)}.legal p,.legal address{color:var(--muted);font-style:normal}.legal .card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px 28px;margin-top:8px}.legal .muted{color:var(--faint);font-size:.85rem;margin-top:40px}.legal a{color:var(--a2)}.legal a:hover{color:var(--a1)}.back{font-size:.9rem;color:var(--muted)}.back:hover{color:var(--text)}
