@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg:#0b0b12;--bg-elevated:#12121c;--bg-card:#15151f;--border:#232335;--text:#f2f1f7;--text-muted:#a5a3b8;--text-faint:#6f6d82;--accent:#8b5cf6;--accent-light:#c4b5fd;--accent-dim:#8b5cf626;--moon:#f3f1fb;--font-display:"Space Grotesk", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--max-width:1080px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.6}.global-constellation{z-index:0;pointer-events:none;position:fixed;inset:0}.global-constellation svg{width:100%;height:100%}.global-dot{fill:var(--moon);opacity:.2;transform-origin:50%;transform-box:fill-box;animation:3s ease-in-out infinite twinkle-dot}@keyframes twinkle-dot{0%,to{opacity:.15;transform:scale(.8)}50%{opacity:.9;transform:scale(1.3)}}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(800px 500px at 15% -10%,#8b5cf62e,#0000 60%),radial-gradient(600px 400px at 100% 20%,#c4b5fd14,#0000 60%);position:fixed;inset:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}section{z-index:1;padding:96px 0;position:relative}.eyebrow{font-family:var(--font-mono);letter-spacing:.04em;color:var(--accent-light);text-transform:uppercase;align-items:center;gap:8px;margin-bottom:16px;font-size:13px;display:inline-flex}.eyebrow:before{content:"";background:linear-gradient(135deg, var(--moon), var(--accent));clip-path:polygon(50% 0%,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0% 50%,38% 38%);width:9px;height:9px;box-shadow:0 0 8px 1px var(--accent)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);font-weight:600}h2{margin-bottom:12px;font-size:clamp(28px,4vw,38px)}.section-intro{max-width:620px;color:var(--text-muted);margin-bottom:48px;font-size:17px}.btn{font-family:var(--font-body);cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:12px 22px;font-size:15px;font-weight:600;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg, var(--accent), #6d28d9);color:#fff;box-shadow:0 0 #8b5cf600}.btn-primary:hover{box-shadow:0 8px 24px -6px #8b5cf699}.btn-ghost{border-color:var(--border);color:var(--text);background:0 0}.btn-ghost:hover{border-color:var(--accent);background:var(--accent-dim)}code,pre{font-family:var(--font-mono)}.site-header{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#0b0b12bf;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;height:72px;display:flex}.logo{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.logo-mark{border-radius:6px;flex-shrink:0;width:34px;height:auto}.nav-links{align-items:center;gap:8px;display:flex}.nav-links a{color:var(--text-muted);border-radius:8px;padding:8px 14px;font-size:14px;font-weight:500;transition:color .15s,background .15s}.nav-links a:hover{color:var(--text);background:var(--bg-elevated)}.nav-toggle{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:none}.nav-mobile{border-bottom:1px solid var(--border);background:var(--bg);flex-direction:column;gap:4px;padding:8px 24px 20px;display:none}.nav-mobile a{color:var(--text-muted);border-radius:8px;padding:10px 8px;font-size:15px}.nav-mobile.open{display:flex}.nav-cta{white-space:nowrap;font-weight:600;border:1px solid var(--accent)!important;color:var(--text)!important;border-radius:999px!important;padding:9px 18px!important;font-size:13.5px!important}.nav-cta:hover{background:var(--accent-dim)}.hero{text-align:left;padding-top:96px;padding-bottom:60px}.hero .container{grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;display:grid}.hero h1{font-size:clamp(32px,5vw,50px);line-height:1.12}.hero h1 .accent{background:linear-gradient(100deg, var(--moon) 0%, var(--accent-light) 35%, var(--accent) 75%);color:#0000;-webkit-background-clip:text;background-clip:text}.hero p{max-width:560px;color:var(--text-muted);margin-top:20px;font-size:18px}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.hero-features{flex-wrap:wrap;gap:24px;margin-top:44px;display:flex}.hero-features span{color:var(--text-muted);align-items:center;gap:8px;font-size:13.5px;display:flex}.hero-features svg{width:16px;height:16px;color:var(--accent-light)}.hero-visual{justify-content:center;align-items:center;display:flex;position:relative}.code-window{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;width:100%;max-width:420px;overflow:hidden;box-shadow:0 30px 60px -20px #0009}.code-window-bar{background:var(--bg-elevated);border-bottom:1px solid var(--border);gap:6px;padding:12px 16px;display:flex}.code-window-bar span{border-radius:50%;width:10px;height:10px}.code-window-body{flex-direction:column;gap:10px;padding:20px;display:flex}.code-line{background:linear-gradient(90deg, var(--accent), var(--accent-light));opacity:.85;border-radius:4px;height:10px}.hero-orb{filter:drop-shadow(0 0 18px #c4b5fd8c);opacity:.95;width:150px;height:150px;animation:5s ease-in-out infinite float;position:absolute;top:-44px;right:-16px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.stars{pointer-events:none;position:absolute;inset:0;overflow:hidden}.star{background:linear-gradient(135deg, var(--moon), var(--accent-light));clip-path:polygon(50% 0%,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0% 50%,38% 38%);animation:3.5s ease-in-out infinite twinkle;position:absolute}@keyframes twinkle{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:.9;transform:scale(1.05)}}.services-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;display:grid}.service-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:28px;transition:border-color .2s,transform .2s}.service-card:hover{border-color:var(--accent);transform:translateY(-3px)}@media (width>=860px){.service-card:nth-child(2),.service-card:nth-child(4){margin-top:28px}.service-card:nth-child(odd) .service-icon{background:var(--accent-dim)}.service-card:nth-child(2n) .service-icon{color:var(--moon);background:#f3f1fb1a}}.service-icon{background:var(--accent-dim);width:44px;height:44px;color:var(--accent-light);border-radius:12px;justify-content:center;align-items:center;margin-bottom:18px;display:flex}.service-icon svg{width:22px;height:22px}.service-card h3{margin-bottom:8px;font-size:17px}.service-card p{color:var(--text-muted);font-size:14px}.tech-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:14px;display:grid}.tech-item{background:var(--bg-card);border:1px solid var(--border);text-align:center;color:var(--text);border-radius:12px;padding:20px 12px;font-size:13.5px;font-weight:600;transition:border-color .2s,transform .2s}.tech-item:hover{border-color:var(--accent);transform:translateY(-2px)}.constellation-wrap{height:300px;margin-top:8px;display:none;position:relative}.tech-grid-mobile{display:grid}@media (width>=760px){.constellation-wrap{display:block}.tech-grid-mobile{display:none}}.constellation-lines{width:100%;height:100%;position:absolute;inset:0}.constellation-lines polyline{fill:none;stroke:var(--border);stroke-width:.3px;opacity:.8}.constellation-node{flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;transform:translate(-50%,-50%)}.node-dot{background:radial-gradient(circle at 35% 35%, var(--moon), var(--accent) 75%);border-radius:50%;width:12px;height:12px;animation:3.5s ease-in-out infinite twinkle;box-shadow:0 0 12px 2px #8b5cf68c}.node-label{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;background:var(--bg-card);border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:12.5px}.contact-bar{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;grid-template-columns:1fr auto;align-items:center;gap:24px;padding:36px 40px;display:grid;position:relative;overflow:hidden}.contact-bar-info{flex-wrap:wrap;gap:32px;display:flex}.contact-bar-item{align-items:center;gap:12px;display:flex}.contact-bar-item .service-icon{width:40px;height:40px;margin-bottom:0}.contact-bar-item span{color:var(--text-faint);font-size:12px;display:block}.contact-bar-item strong{color:var(--text);font-size:14.5px}.contact-cta{border:1px solid var(--border);background:linear-gradient(135deg,#8b5cf62e,#c4b5fd0d);border-radius:16px;max-width:320px;padding:24px 28px}.contact-cta p:first-child{color:var(--text);margin-bottom:6px;font-size:15px;font-weight:600}.contact-cta p{color:var(--text-muted);margin-bottom:14px;font-size:13.5px}.about-grid{grid-template-columns:1.2fr 1fr;align-items:start;gap:56px;display:grid}.about-text p{color:var(--text-muted);margin-bottom:16px;font-size:16px}.skills-list{flex-direction:column;gap:10px;display:flex}.skill-group h4{font-family:var(--font-mono);color:var(--accent-light);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:12.5px}.skill-pills{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.skill-pill{background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:6px 12px;font-size:13.5px}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:14px;transition:border-color .2s,transform .2s;display:flex;overflow:hidden}.project-card:hover{border-color:var(--accent);transform:translateY(-3px)}.project-thumb{background:linear-gradient(135deg, var(--bg-elevated), var(--bg));justify-content:center;align-items:center;height:150px;display:flex;position:relative;overflow:hidden}.project-thumb img{object-fit:cover;object-position:top;width:100%;height:100%}.project-thumb-placeholder{flex-direction:column;gap:6px;width:70%;display:flex}.project-thumb-placeholder span{background:var(--border);border-radius:4px;height:8px}.project-thumb-placeholder span:first-child{background:var(--accent-dim);width:90%}.project-thumb-placeholder span:nth-child(2){width:60%}.project-thumb-placeholder span:nth-child(3){width:75%}.project-card-body{flex-direction:column;flex-grow:1;gap:14px;padding:0 28px 28px;display:flex}.project-card-top{justify-content:space-between;align-items:flex-start;display:flex}.project-status{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:4px 10px;font-size:11px}.status-live{color:#86efac;background:#86efac1a;border:1px solid #86efac40}.status-soon{color:var(--text-faint);background:var(--bg-elevated);border:1px solid var(--border)}.project-card h3{font-size:19px}.project-card p{color:var(--text-muted);flex-grow:1;font-size:14.5px}.project-tags{flex-wrap:wrap;gap:6px;display:flex}.project-tags span{font-family:var(--font-mono);color:var(--text-faint);font-size:11.5px}.project-links{gap:16px;margin-top:4px;display:flex}.project-links a{color:var(--accent-light);align-items:center;gap:6px;font-size:13.5px;font-weight:600;display:flex}.project-links a:hover{color:var(--text)}.project-links .disabled{color:var(--text-faint);cursor:default;pointer-events:none}.docs-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;overflow:hidden}.docs-panel-header{border-bottom:1px solid var(--border);background:var(--bg-elevated);align-items:center;gap:10px;padding:14px 20px;display:flex}.docs-dot{border-radius:50%;width:10px;height:10px}.docs-panel-header span{font-family:var(--font-mono);color:var(--text-faint);font-size:13px}.docs-body{padding:32px}.docs-block{margin-bottom:32px}.docs-block:last-child{margin-bottom:0}.docs-block h4{font-family:var(--font-display);color:var(--text);align-items:center;gap:8px;margin-bottom:10px;font-size:16px;display:flex}.docs-block p{color:var(--text-muted);margin-bottom:10px;font-size:15px}.docs-block pre{background:var(--bg);border:1px solid var(--border);color:var(--accent-light);border-radius:10px;padding:16px 18px;font-size:13px;line-height:1.6;overflow-x:auto}.docs-block ul{flex-direction:column;gap:8px;list-style:none;display:flex}.docs-block li{color:var(--text-muted);padding-left:18px;font-size:14.5px;position:relative}.docs-block li:before{content:"→";color:var(--accent);position:absolute;left:0}.docs-stack-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;display:grid}.docs-stack-item{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px}.docs-stack-item span{font-family:var(--font-mono);color:var(--text-faint);text-transform:uppercase;margin-bottom:4px;font-size:11px;display:block}.docs-stack-item strong{color:var(--text);font-size:14.5px;font-weight:600}.contact-panel{border:1px solid var(--border);text-align:center;background:linear-gradient(135deg,#8b5cf61f,#c4b5fd0a);border-radius:20px;padding:56px}.contact-panel h2{margin-bottom:12px}.contact-panel p{color:var(--text-muted);max-width:480px;margin:0 auto 32px}.contact-links{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.site-footer{border-top:1px solid var(--border);padding:32px 0}.site-footer .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.site-footer p{color:var(--text-faint);font-size:13.5px}.footer-social{gap:16px;display:flex}.footer-social a{color:var(--text-faint)}.footer-social a:hover{color:var(--accent-light)}@media (width<=860px){.about-grid,.hero .container{grid-template-columns:1fr}.hero-visual{order:-1;margin-bottom:8px}.code-window{max-width:340px}.contact-bar{grid-template-columns:1fr}.contact-cta{max-width:none}}@media (width<=720px){.nav-links{display:none}.nav-toggle{display:flex}section{padding:64px 0}.hero{padding-top:56px}.contact-panel{padding:36px 24px}.docs-body{padding:22px}}
.contact-cta{max-width:380px}.contact-form{flex-direction:column;gap:10px;display:flex}.contact-form input,.contact-form textarea{width:100%;font-family:var(--font-body);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px;outline:none;padding:11px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.contact-form textarea{resize:vertical;min-height:96px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-faint)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.contact-form .btn{justify-content:center}.contact-form .btn:disabled{opacity:.7;cursor:wait;transform:none}.contact-form-hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-cta .contact-form-status{margin:0;font-size:13.5px}.contact-cta .contact-form-status:empty{display:none}.contact-form-status.is-ok{color:#86efac}.contact-form-status.is-error{color:#fca5a5}@media (width<=860px){.contact-cta{max-width:none}}.project-thumb{height:180px;border-bottom:1px solid var(--border)}.project-thumb img{transition:transform .5s}.project-card:hover .project-thumb img{transform:scale(1.04)}.status-concept{color:var(--accent-light);background:var(--accent-dim);border:1px solid #8b5cf659;white-space:nowrap}.project-card-top{gap:12px}