:root{--bg:#050b18;--bg-2:#0a1628;--surface:#ffffff0a;--surface-2:#ffffff14;--border:#00e5ff1f;--border-hover:#00e5ff59;--text:#e2e8f0;--text-muted:#64748b;--text-sub:#94a3b8;--accent:#00e5ff;--accent-dark:#00b8d9;--accent-glow:#00e5ff40;--accent-tint:#00e5ff14;--radius:14px;--shadow:0 8px 32px #00000080;--shadow-glow:0 0 40px #00e5ff26;--transition:.25s ease;--max-w:1200px;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font:16px/1.6 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}p{margin:0}h1,h2,h3{color:var(--text);margin:0;font-weight:700;line-height:1.15}#root{min-height:100svh}.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 2rem}.section-label{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;font-size:.72rem;font-weight:700;display:inline-block}.btn{cursor:pointer;transition:all var(--transition);border:none;border-radius:8px;align-items:center;gap:.45rem;padding:.65rem 1.4rem;font-family:inherit;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:#050b18}.btn-primary:hover{background:var(--accent-dark);box-shadow:0 0 24px var(--accent-glow);transform:translateY(-1px)}.btn-outline{color:var(--accent);background:0 0;border:1px solid #00e5ff73}.btn-outline:hover{background:var(--accent-tint);border-color:var(--accent)}.chip{background:var(--accent-tint);color:var(--accent);border:1px solid #00e5ff2e;border-radius:20px;padding:.25rem .7rem;font-size:.75rem;font-weight:500;display:inline-block}.fade-up{opacity:0;transition:opacity .55s,transform .55s;transform:translateY(24px)}.fade-up.is-visible{opacity:1;transform:translateY(0)}.navbar{z-index:100;-webkit-backdrop-filter:blur(16px);transition:border-color var(--transition), box-shadow var(--transition);background:#050b18b3;border-bottom:1px solid #00e5ff14;position:fixed;top:0;left:0;right:0}.navbar.scrolled{border-bottom-color:#00e5ff26;box-shadow:0 4px 24px #0006}.nav-inner{justify-content:center;align-items:center;height:64px;display:flex;position:relative}.nav-logo{letter-spacing:-.03em;color:var(--accent);align-items:center;gap:.1rem;font-size:1.35rem;font-weight:800;display:flex}.nav-logo-sub{color:var(--text-sub);letter-spacing:.08em;text-transform:uppercase;margin-left:.6rem;font-size:.65rem;font-weight:500;display:none}@media (width>=640px){.nav-logo-sub{display:block}}.nav-links{align-items:center;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.nav-links a{color:var(--text-sub);transition:color var(--transition), background var(--transition);border-radius:6px;padding:.4rem .85rem;font-size:.88rem;font-weight:500}.nav-links a:hover{color:var(--text);background:var(--surface-2)}.nav-links a.active{color:var(--accent)}.nav-socials{align-items:center;gap:.5rem;display:flex}.nav-social-btn{width:34px;height:34px;color:var(--text-sub);background:var(--surface);border:1px solid var(--border);transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:8px;justify-content:center;align-items:center;display:flex}.nav-social-btn:hover{color:var(--accent);background:var(--accent-tint);border-color:#00e5ff59}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:4px;display:none;position:absolute;right:0}.hamburger span{background:var(--text-sub);height:2px;transition:background var(--transition);border-radius:2px;display:block}.hamburger:hover span{background:var(--accent)}.mobile-nav{border-top:1px solid var(--border);background:#050b18f7;flex-direction:column;padding:.75rem 1.5rem 1.25rem;display:flex}.mobile-nav a{color:var(--text-sub);border-bottom:1px solid var(--border);transition:color var(--transition);padding:.75rem 0;font-size:.95rem;font-weight:500}.mobile-nav a:last-child{border-bottom:none}.mobile-nav a:hover{color:var(--accent)}@media (width<=767px){.nav-links,.nav-socials{display:none}.hamburger{display:flex}}#hero{text-align:center;justify-content:center;align-items:center;width:100%;min-height:100vh;padding-top:64px;display:flex;position:relative;overflow:hidden}.globe-wrap{pointer-events:none;z-index:0;width:min(780px,92vw);height:min(780px,92vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.globe{background:radial-gradient(circle at 38% 36%,#00b4dc38 0%,#003c641f 35%,#000f280f 60%,#0000 72%);border:1px solid #00e5ff2e;border-radius:50%;width:100%;height:100%;animation:6s ease-in-out infinite globe-pulse;position:relative;overflow:hidden;box-shadow:0 0 80px #00e5ff1a,0 0 180px #00e5ff0d,inset 0 0 80px #00e5ff0a}@keyframes globe-pulse{0%,to{box-shadow:0 0 80px #00e5ff1a,0 0 180px #00e5ff0d,inset 0 0 80px #00e5ff0a}50%{box-shadow:0 0 100px #00e5ff2e,0 0 220px #00e5ff14,inset 0 0 100px #00e5ff12}}.globe:before{content:"";background-image:repeating-linear-gradient(0deg,#0000,#0000 39px,#00e5ff12 40px),repeating-linear-gradient(90deg,#0000,#0000 39px,#00e5ff12 40px);border-radius:50%;position:absolute;inset:0}.globe-ring{border:1px solid #00e5ff1a;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.globe-ring-1{width:110%;height:110%}.globe-ring-2{opacity:.6;width:125%;height:125%}.globe-ring-3{opacity:.35;width:142%;height:142%}.hero-content{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:.9rem;width:85%;max-width:560px;display:flex;position:relative}.hero-photo-wrap{display:inline-block;position:relative}.hero-photo{object-fit:cover;border:2px solid #00e5ff66;border-radius:16px;width:240px;height:290px;box-shadow:0 0 40px #00e5ff33,0 0 80px #00e5ff14,0 20px 60px #00000080}.hero-photo-placeholder{width:240px;height:290px;color:var(--accent);letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(135deg,#00e5ff1a 0%,#0032504d 100%);border:2px solid #00e5ff66;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;display:flex;box-shadow:0 0 40px #00e5ff26,0 20px 60px #00000080}.hero-name{letter-spacing:-.03em;color:var(--text);margin:0;font-size:clamp(2rem,5vw,3.25rem);font-weight:800}.hero-name span{color:var(--accent)}.hero-roles{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.role-tag{color:var(--text-sub);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;align-items:center;gap:.4rem;padding:.35rem .9rem;font-size:.82rem;font-weight:500;display:inline-flex}.hero-desc{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #00e5ff1a;border-radius:14px;max-width:560px;padding:1.25rem 1.75rem}.hero-desc p{color:var(--text-sub);font-size:.95rem;line-height:1.7}.hero-cta{flex-wrap:wrap;justify-content:center;gap:.85rem;display:flex}@media (width<=480px){.hero-photo,.hero-photo-placeholder{width:160px;height:195px}.hero-name{font-size:1.75rem}}#about{background:var(--bg-2);padding:6rem 0}.about-grid{grid-template-columns:1fr;align-items:start;gap:3rem;display:grid}@media (width>=768px){.about-grid{grid-template-columns:1fr 1fr;gap:4rem}}.about-text h2{margin-bottom:1.5rem;font-size:clamp(1.6rem,3vw,2.25rem)}.about-text p{color:var(--text-sub);margin-bottom:1.25rem;line-height:1.75}.about-text p:last-of-type{margin-bottom:2rem}blockquote{border-left:2px solid var(--accent);color:var(--text-muted);margin:2rem 0;padding-left:1.25rem;font-size:1rem;font-style:italic}.about-stats{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1.5rem 1.25rem}.stat-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-glow);transform:translateY(-3px)}.stat-number{color:var(--accent);letter-spacing:-.03em;margin-bottom:.35rem;font-size:2rem;font-weight:800}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;font-size:.78rem;font-weight:500}#expertise{background:var(--bg);padding:6rem 0}.expertise-header{text-align:left;margin-bottom:3.5rem}.expertise-header h2{margin-bottom:.75rem;font-size:clamp(1.6rem,3vw,2.25rem)}.expertise-header p{color:var(--text-sub);max-width:480px}.expertise-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;display:grid}.exp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);padding:2rem 1.75rem}.exp-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-glow);transform:translateY(-5px)}.exp-icon{background:var(--accent-tint);width:48px;height:48px;color:var(--accent);border:1px solid #00e5ff2e;border-radius:12px;justify-content:center;align-items:center;margin-bottom:1.25rem;display:flex}.exp-card h3{margin-bottom:.6rem;font-size:1.05rem;font-weight:700}.exp-card p{color:var(--text-sub);margin-bottom:1.25rem;font-size:.88rem;line-height:1.65}.exp-tags{flex-wrap:wrap;gap:.4rem;display:flex}#projects{background:var(--bg-2);padding:6rem 0}.projects-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:3rem;display:flex}.projects-header h2{font-size:clamp(1.6rem,3vw,2.25rem)}.projects-note{color:var(--text-muted);font-size:.88rem}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.proj-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);flex-direction:column;height:100%;display:flex;overflow:hidden}.proj-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-glow);transform:translateY(-4px)}.proj-banner{opacity:.85;justify-content:center;align-items:center;height:150px;font-size:2.5rem;display:flex;position:relative}.proj-badge{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:#00e5ff26;border:1px solid #00e5ff40;border-radius:20px;padding:.25rem .6rem;font-size:.65rem;font-weight:700;position:absolute;top:.75rem;right:.75rem}.proj-body{flex-direction:column;flex:1;padding:1.5rem;display:flex}.proj-body h3{margin-bottom:.5rem;font-size:1rem;font-weight:700}.proj-body p{color:var(--text-sub);margin-bottom:1.25rem;font-size:.86rem;line-height:1.65}.proj-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:auto;padding-top:1.25rem;display:flex}.proj-tags{flex-wrap:wrap;gap:.35rem;display:flex}.btn-sm{border:1px solid var(--border);color:var(--text-muted);cursor:default;opacity:.5;background:0 0;border-radius:6px;padding:.35rem .9rem;font-size:.8rem;font-weight:600}#contact{background:var(--bg);padding:6rem 0}.contact-inner{width:100%}.contact-inner h2{margin-bottom:1rem;font-size:clamp(1.6rem,3vw,2.25rem)}.contact-inner>p{color:var(--text-sub);margin-bottom:2.5rem;font-size:1rem;line-height:1.7}.contact-links{flex-wrap:wrap;gap:1rem;margin-top:.5rem;display:flex}footer{background:var(--bg-2);border-top:1px solid var(--border)}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.75rem 0;display:flex}.footer-name{color:var(--text);font-size:.9rem;font-weight:700}.footer-name span{color:var(--accent)}.footer-meta{color:var(--text-muted);margin-top:.2rem;font-size:.78rem}.footer-li{color:var(--text-muted);border:1px solid var(--border);background:var(--surface);width:36px;height:36px;transition:color var(--transition), border-color var(--transition), background var(--transition);border-radius:8px;justify-content:center;align-items:center;display:flex}.footer-li:hover{color:var(--accent);background:var(--accent-tint);border-color:#00e5ff59}
