*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#08090a;--bg-2:#0e1012;--panel:#111315;--line:rgba(255,255,255,.09);--line-strong:rgba(255,255,255,.16);--fg:#f2f4f3;--muted:#8b9296;--dim:#5d6468;--accent:#c8f751;--accent-dim:rgba(200,247,81,.12);--mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;--r:14px;--max:1240px}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(900px 500px at 15% -10%,rgba(200,247,81,.07),transparent 60%),radial-gradient(700px 500px at 90% 10%,rgba(80,140,255,.06),transparent 60%)}body:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.35;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(circle at 50% 0%,#000 0%,transparent 70%);-webkit-mask-image:radial-gradient(circle at 50% 0%,#000 0%,transparent 70%)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--accent);color:#08090a}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:24px;position:relative;z-index:1}#progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--accent);z-index:100;box-shadow:0 0 12px var(--accent)}header{position:fixed;top:0;left:0;right:0;z-index:90;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(8,9,10,.72);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}header.stuck{border-bottom-color:var(--line);background:rgba(8,9,10,.92)}.nav{display:flex;align-items:center;justify-content:space-between;height:68px;gap:20px}.logo{font-family:var(--mono);font-size:.9rem;font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:9px}.logo b,.foot-brand b{color:var(--accent)}.logo .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:pulse 2.2s infinite}@keyframes pulse{50%{opacity:.25;transform:scale(.7)}}.nav-links{display:flex;align-items:center;gap:6px}.nav-links a{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:9px 13px;border-radius:8px;transition:.2s}.nav-links a:hover{color:var(--fg);background:rgba(255,255,255,.05)}.nav-cta{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-strong);padding:10px 16px;border-radius:8px;color:var(--fg);transition:.22s;white-space:nowrap}.nav-cta:hover{background:var(--accent);border-color:var(--accent);color:#08090a}.burger{display:none;width:42px;height:42px;border:1px solid var(--line-strong);border-radius:8px;background:none;cursor:pointer;position:relative}.burger span{position:absolute;left:11px;width:18px;height:1.5px;background:var(--fg);transition:.25s}.burger span:nth-child(1){top:15px}.burger span:nth-child(2){top:20px}.burger span:nth-child(3){top:25px}.burger.open span:nth-child(1){top:20px;transform:rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){top:20px;transform:rotate(-45deg)}#mobile-menu{display:none;position:fixed;inset:68px 0 auto;z-index:89;background:rgba(8,9,10,.98);border-bottom:1px solid var(--line);padding:18px 24px 26px;backdrop-filter:blur(14px)}#mobile-menu.show{display:block}#mobile-menu a{display:block;padding:13px 0;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}#mobile-menu a:last-child{border:0;color:var(--accent)}.hero{position:relative;padding:150px 0 100px;z-index:1}.badge{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border:1px solid rgba(200,247,81,.3);background:var(--accent-dim);padding:8px 14px;border-radius:100px;margin-bottom:32px}.badge i{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 1.8s infinite}h1{font-size:clamp(2.9rem,8.4vw,7rem);line-height:.94;letter-spacing:-.045em;font-weight:800;text-transform:uppercase;margin-bottom:28px}h1 .l2{display:block;color:transparent;-webkit-text-stroke:1.4px rgba(255,255,255,.55)}.lead{max-width:560px;color:var(--muted);font-size:clamp(1rem,2.1vw,1.16rem);margin-bottom:38px}.lead strong{color:var(--fg);font-weight:600}.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:64px}.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;border-radius:10px;font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;transition:.22s;border:1px solid transparent}.btn-primary{background:var(--accent);color:#08090a}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(200,247,81,.24)}.btn-ghost{border-color:var(--line-strong);color:var(--fg)}.btn-ghost:hover{background:rgba(255,255,255,.06);transform:translateY(-2px)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;max-width:640px}.stat{background:var(--bg);padding:22px}.stat b{display:block;font-size:clamp(1.7rem,4vw,2.4rem);font-weight:800;letter-spacing:-.04em;line-height:1}.stat span{font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}section{position:relative;z-index:1;padding:100px 0}.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:56px;border-bottom:1px solid var(--line);padding-bottom:26px}.sec-num{font-family:var(--mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:14px}h2{font-size:clamp(2rem,5vw,3.6rem);line-height:1.02;letter-spacing:-.04em;font-weight:800;text-transform:uppercase}.sec-head p{max-width:400px;color:var(--muted);font-size:.95rem}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.card{background:linear-gradient(160deg,rgba(255,255,255,.035),rgba(255,255,255,.008));border:1px solid var(--line);border-radius:var(--r);padding:30px;transition:.28s;position:relative;overflow:hidden}.card:after{content:"";position:absolute;inset:0;opacity:0;transition:.3s;pointer-events:none;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(200,247,81,.09),transparent 65%)}.card:hover{border-color:rgba(200,247,81,.34);transform:translateY(-4px)}.card:hover:after{opacity:1}.card .idx{font-family:var(--mono);font-size:.7rem;color:var(--dim);letter-spacing:.2em;display:block;margin-bottom:22px}.card h3{font-size:1.4rem;letter-spacing:-.02em;margin-bottom:12px;font-weight:700}.card p{color:var(--muted);font-size:.92rem;margin-bottom:22px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tags li{list-style:none;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:6px 10px;border-radius:5px}.band{margin-top:18px;border:1px solid rgba(200,247,81,.22);border-radius:var(--r);background:linear-gradient(105deg,rgba(200,247,81,.1),rgba(200,247,81,.02));padding:34px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}.band h3{font-size:clamp(1.2rem,2.6vw,1.6rem);letter-spacing:-.02em;margin-bottom:6px}.band p{color:var(--muted);font-size:.92rem}.grid-proj{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:20px}.proj{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--panel);transition:.3s;display:flex;flex-direction:column}.proj:hover{transform:translateY(-5px);border-color:var(--line-strong)}.proj .thumb{aspect-ratio:16/10;position:relative;overflow:hidden;border-bottom:1px solid var(--line);display:grid;place-items:center;padding:22px}.proj .thumb:before{content:"";position:absolute;inset:0;opacity:.5;background:radial-gradient(circle at 30% 20%,var(--tint),transparent 70%)}.tint-blue{--tint:#4f8cff}.tint-purple{--tint:#a06bff}.tint-green{--tint:#2fd6a5}.tint-orange{--tint:#ffb02e}.tint-pink{--tint:#ff6b8a}.tint-cyan{--tint:#5ad1ff}.mock{position:relative;width:100%;max-width:290px;background:#15181a;border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:hidden;box-shadow:0 22px 50px rgba(0,0,0,.55);transition:.4s}.proj:hover .mock{transform:scale(1.04) rotate(-.6deg)}.mock .mbar{display:flex;gap:5px;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04)}.mock .mbar i{width:6px;height:6px;border-radius:50%;background:#3f4548}.mock .mbody{padding:14px 12px 18px}.mock .mh{height:9px;width:62%;border-radius:3px;background:rgba(255,255,255,.55);margin-bottom:7px}.mock .ms{height:5px;width:88%;border-radius:3px;background:rgba(255,255,255,.16);margin-bottom:5px}.mock .ms.short{width:54%}.mock .mrow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:12px}.mock .mrow div{height:34px;border-radius:4px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.06)}.mock .mbtn{height:16px;width:74px;border-radius:3px;margin-top:13px;background:var(--tint)}.proj .meta{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}.proj .row{display:flex;align-items:center;justify-content:space-between;gap:12px}.proj .year{font-family:var(--mono);font-size:.66rem;color:var(--dim);letter-spacing:.14em}.proj .kind{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border:1px solid rgba(200,247,81,.28);padding:4px 8px;border-radius:4px}.proj h3{font-size:1.22rem;letter-spacing:-.02em}.proj .url{font-family:var(--mono);font-size:.72rem;color:var(--muted)}.proj p{font-size:.87rem;color:var(--muted);flex:1}.proj .foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid var(--line);margin-top:6px}.proj .stack{font-family:var(--mono);font-size:.62rem;color:var(--dim);letter-spacing:.06em}.proj .go{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg);display:flex;align-items:center;gap:6px;transition:.2s}.proj .go:hover{color:var(--accent);gap:11px}.about{display:grid;grid-template-columns:1fr;gap:44px}.about h2 span{color:var(--dim)}.about p{color:var(--muted);margin-bottom:18px;font-size:1rem}.about p strong{color:var(--fg)}.about-intro{margin-top:24px}.features{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.feat{background:var(--bg);padding:22px}.feat h4{font-size:.95rem;margin-bottom:6px;display:flex;align-items:center;gap:8px}.feat h4:before{content:"▹";color:var(--accent);font-size:.85rem}.feat p{font-size:.82rem;color:var(--muted);margin:0}.contact{display:grid;grid-template-columns:1fr;gap:40px}.contact-intro{color:var(--muted);margin-top:22px}.clist{display:flex;flex-direction:column;gap:12px;margin-top:32px}.clist a,.clist div{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:10px;padding:15px 18px;transition:.22s}.clist a:hover{border-color:rgba(200,247,81,.4);background:rgba(200,247,81,.05);transform:translateX(4px)}.clist .k{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);display:block}.clist .v{font-size:.9rem;color:var(--fg)}.clist .ico{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--accent);font-size:.9rem}.terminal{background:#0c0e10;border:1px solid var(--line-strong);border-radius:12px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.5)}.terminal .tbar{display:flex;align-items:center;gap:7px;padding:12px 15px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.03)}.terminal .tbar i{width:9px;height:9px;border-radius:50%;background:#3a3f42}.terminal .tbar i:first-child{background:#ff5f57}.terminal .tbar i:nth-child(2){background:#febc2e}.terminal .tbar i:nth-child(3){background:#28c840}.terminal .tbar span{margin-left:8px;font-family:var(--mono);font-size:.7rem;color:var(--dim)}form{padding:26px}.field{margin-bottom:16px}.field label{display:block;font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-bottom:7px}.field input,.field textarea,.field select{width:100%;background:#0a0c0d;border:1px solid var(--line);border-radius:7px;padding:12px 14px;color:var(--fg);font-family:var(--sans);font-size:.92rem;transition:.2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);outline:none;background:#0d1011}.field textarea{resize:vertical;min-height:104px}.field select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.send{width:100%;margin-top:8px;background:var(--accent);color:#08090a;border:0;border-radius:8px;padding:15px;font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;cursor:pointer;transition:.22s}.send:hover{filter:brightness(1.08);box-shadow:0 12px 30px rgba(200,247,81,.22)}.send:disabled{opacity:.55;cursor:wait}.form-status{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:8px;font-family:var(--mono);font-size:.76rem;display:none}.form-status.show{display:block}.form-status.success{border-color:rgba(200,247,81,.4);background:rgba(200,247,81,.08);color:var(--accent)}.form-status.error{border-color:rgba(255,95,87,.4);background:rgba(255,95,87,.08);color:#ff8b85}.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}footer{border-top:1px solid var(--line);padding:52px 0 34px;position:relative;z-index:1;background:var(--bg-2)}.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;margin-bottom:40px}.foot-brand{font-family:var(--mono);font-size:1.1rem;font-weight:700;margin-bottom:10px}.foot-top p{color:var(--dim);font-size:.85rem;max-width:300px}.foot-links{display:flex;flex-wrap:wrap;gap:36px}.foot-col h5{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-bottom:12px}.foot-col a{display:block;font-size:.86rem;color:var(--muted);padding:4px 0;transition:.2s}.foot-col a:hover{color:var(--accent)}.foot-bot{border-top:1px solid var(--line);padding-top:22px;font-family:var(--mono);font-size:.68rem;color:var(--dim);letter-spacing:.08em}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}.reveal.in{opacity:1;transform:none}@media(min-width:900px){.about{grid-template-columns:1.15fr .85fr;gap:60px;align-items:start}}@media(min-width:960px){.contact{grid-template-columns:.85fr 1.15fr;gap:56px}}@media(max-width:860px){.nav-links,.nav-cta{display:none}.burger{display:block}.hero{padding-top:120px}section{padding:74px 0}.stats{grid-template-columns:1fr 1fr 1fr}.stat{padding:16px}.band{padding:26px}.foot-links{gap:26px}}@media(max-width:560px){.two{grid-template-columns:1fr}.grid-proj{grid-template-columns:1fr}.features{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}.reveal{opacity:1;transform:none}}