:root{--bg:#07090d;--panel:#0c1017;--text:#f3f6fb;--muted:#8e99aa;--line:#202938;--cyan:#49f6d0;--blue:#5a7cff;--pink:#ff5bd6;--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 75% 5%,#14233a 0,transparent 28%),var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;overflow-x:hidden}.noise{position:fixed;inset:0;opacity:.035;pointer-events:none;background:url('../assets/noise.svg');z-index:20}.nav{position:fixed;top:0;left:0;right:0;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid #ffffff0d;background:#07090db8;backdrop-filter:blur(18px);z-index:10}.brand{display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none;font-family:'Space Grotesk';font-weight:700}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--cyan);color:var(--cyan);font-size:11px;box-shadow:0 0 24px #49f6d033}nav{display:flex;gap:28px}nav a{color:#aeb8c7;text-decoration:none;font-size:13px}nav a:hover{color:var(--cyan)}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:22px}.section-pad{max-width:var(--max);margin:auto;padding:120px 30px}.hero{min-height:850px;padding-top:170px;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.eyebrow,.type,.index{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);font-weight:700}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 15px var(--cyan);margin-right:8px}h1,h2,h3{font-family:'Space Grotesk';margin:0}h1{font-size:clamp(52px,7vw,92px);line-height:.98;letter-spacing:-.06em;margin:22px 0}.gradient{background:linear-gradient(90deg,var(--cyan),#80a3ff 55%,var(--pink));-webkit-background-clip:text;color:transparent}.lead{max-width:680px;color:#a9b4c4;line-height:1.8;font-size:17px}.hero-actions{display:flex;gap:12px;margin:34px 0}.btn{display:inline-flex;align-items:center;gap:22px;padding:15px 19px;border:1px solid var(--line);text-decoration:none;color:#fff;font-weight:700;font-size:13px;cursor:pointer;background:transparent}.btn.primary{background:var(--cyan);color:#04100e;border-color:var(--cyan);box-shadow:0 10px 40px #49f6d01f}.hero-meta{display:flex;gap:24px;color:#647083;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.hero-terminal{background:#090d13;border:1px solid #263142;box-shadow:0 40px 100px #0008;transform:perspective(1200px) rotateY(-5deg) rotateX(2deg);transition:.5s}.hero-terminal:hover{transform:none}.terminal-top{height:42px;border-bottom:1px solid #1e2633;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 15px;color:#637085;font:11px monospace}.traffic{display:flex;gap:6px}.traffic i{width:8px;height:8px;border-radius:50%;background:#344052}.terminal-top>span:last-child{color:var(--cyan);text-align:right}.terminal-body{padding:30px;font:13px/1.7 monospace;min-height:330px}.terminal-body pre{color:#8ea2b9}.muted{color:#56647a}.cyan{color:var(--cyan)}.cursor{animation:blink 1s infinite}.split{display:grid;grid-template-columns:.65fr 1.35fr;gap:100px;border-top:1px solid var(--line)}.section-intro h2{font-size:48px;margin:10px 0}.section-intro p{color:var(--muted);max-width:260px;line-height:1.6}.index{color:#536174}.content{max-width:750px}.content p{color:#9da8b8;line-height:1.85}.content .big{font-size:26px;line-height:1.45;color:#edf1f7;font-family:'Space Grotesk'}.content a{color:var(--cyan)}.quote{border-left:2px solid var(--cyan);margin-top:30px;padding:12px 20px;font:20px 'Space Grotesk'}.stack-section,.projects{border-top:1px solid var(--line)}.stack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:45px}.skill-card{background:linear-gradient(145deg,#0e131b,#0a0d13);border:1px solid var(--line);padding:22px;min-height:155px}.skill-card.featured,.skill-card.game{border-color:#2e5b58}.skill-no{color:#4b586a;font-size:10px}.skill-card h3{margin:35px 0 18px;font-size:17px}.skill-card b{display:block;text-align:right;font-size:10px;color:#657286;margin-top:7px}.meter{height:2px;background:#202a38}.meter span{display:block;width:var(--w);height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue))}.tag-cloud,.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.tag-cloud span,.chips span{padding:7px 9px;border:1px solid var(--line);color:#68768a;font-size:10px;text-transform:uppercase}.timeline{margin-top:45px;border-left:1px solid #273243}.timeline article{display:grid;grid-template-columns:130px 1fr;gap:35px;padding:0 0 45px 30px;position:relative}.timeline article:before{content:'';position:absolute;left:-4px;top:4px;width:7px;height:7px;border-radius:50%;background:var(--bg);border:1px solid var(--cyan)}.year{font:600 12px monospace;color:var(--cyan)}.timeline h3{font-size:20px;margin-bottom:10px}.timeline p,.project-body p,.contact p{color:#8793a5;line-height:1.7;margin:0}.project-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:45px}.project-card{background:var(--panel);border:1px solid var(--line);overflow:hidden}.project-card.large{grid-row:span 2}.project-art{height:230px;position:relative;overflow:hidden}.large .project-art{height:300px}.terminal-art{background:linear-gradient(135deg,#0d1820,#101b31);padding:25px;font:700 13px monospace;color:var(--cyan)}.map{position:absolute;inset:50px 35px;background:linear-gradient(90deg,transparent 49%,#49f6d01c 50%),linear-gradient(0deg,transparent 49%,#49f6d01c 50%);background-size:55px 55px;transform:perspective(500px) rotateX(52deg) rotateZ(-10deg)}.map i{position:absolute;width:9px;height:9px;background:var(--cyan);box-shadow:0 0 20px var(--cyan);border-radius:50%}.map i:nth-child(1){left:25%;top:20%}.map i:nth-child(2){left:62%;top:42%}.map i:nth-child(3){left:40%;top:70%}.map i:nth-child(4){left:80%;top:65%}.map i:nth-child(5){left:15%;top:72%}.code-art{background:radial-gradient(circle at 70% 30%,#32264b,#0c1017 55%);padding:30px;font:700 24px 'Space Grotesk'}.code-art b{position:absolute;right:30px;bottom:25px;font:700 70px monospace;color:#ffffff12}.game-art{background:radial-gradient(circle at 50% 40%,#3d164b,#0b0e16 60%);display:grid;place-items:center}.game-art img{width:85px;filter:drop-shadow(0 0 24px #ff5bd655)}.game-art span{position:absolute;top:20px;left:20px;font:700 11px monospace;color:#ff9bea}.project-body{padding:25px}.project-body h3{font-size:23px;margin:10px 0}.project-link{color:var(--cyan);font-size:12px;text-decoration:none}.client-strip{margin-top:45px;padding:20px 0;border-block:1px solid var(--line);display:flex;gap:25px;flex-wrap:wrap;align-items:center;color:#526074;font-size:11px}.client-strip strong{color:#8995a7;font-family:'Space Grotesk'}.contact-box{background:linear-gradient(135deg,#0e171d,#0b0f16);border:1px solid #26333e;padding:55px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact h2{font-size:clamp(38px,5vw,62px);line-height:1.05;margin:15px 0}.contact{padding-bottom:100px}form{display:grid;gap:14px}label{font-size:10px;color:#647187;text-transform:uppercase;letter-spacing:.12em}input,textarea{display:block;width:100%;margin-top:7px;background:#080b10;border:1px solid #26303e;color:#fff;padding:13px;font:14px Inter;outline:none}textarea{min-height:115px}input:focus,textarea:focus{border-color:var(--cyan)}small{color:var(--cyan)}footer{border-top:1px solid var(--line);padding:25px 5vw;color:#566276;font-size:11px;display:flex;justify-content:space-between}footer a{color:#8e9bad}.reveal{opacity:0;transform:translateY(24px);transition:.7s}.reveal.visible{opacity:1;transform:none}#particles{position:fixed;inset:0;pointer-events:none;opacity:.38;z-index:-1}@keyframes blink{50%{opacity:0}}@media(max-width:850px){nav{display:none}.menu-btn{display:block}.hero,.split,.contact-box{grid-template-columns:1fr}.hero{padding-top:135px;min-height:auto}.hero-terminal{transform:none}.stack-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:1fr}.project-card.large{grid-row:auto}.hero-meta{flex-wrap:wrap}.section-pad{padding:90px 22px}.contact-box{padding:32px;gap:35px}.timeline article{grid-template-columns:80px 1fr;gap:18px}}@media(max-width:500px){h1{font-size:52px}.stack-grid{grid-template-columns:1fr 1fr}.hero-actions{flex-direction:column}.hero-meta{display:none}.section-intro h2{font-size:40px}}
