@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Syne:wght@700;800&family=JetBrains+Mono:wght@400;600&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}:root{--bg:#070504;--bg2:#0e0a07;--surface:#150f09;--surface2:#1c150d;--border:#dca05012;--text:#f2e8d8;--muted:#906848;--accent:#d4884a;--accent2:#f0a868;--glow:#d4884a24;--green:#68c89a;--card:#150f09;--nav-bg:#070504eb;--shadow:0 40px 100px #000000b8}[data-theme=light]{--bg:#fdf8f2;--bg2:#f5ede0;--surface:#fff;--surface2:#fdf9f4;--border:#0000000e;--text:#1a0e04;--muted:#7a5430;--accent:#a0521a;--accent2:#c86830;--glow:#a0521a17;--green:#1c7a50;--card:#fff;--nav-bg:#fdf8f2ed;--shadow:0 24px 64px #0000000f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;min-height:100vh}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Space Grotesk,sans-serif;line-height:1.6;overflow-x:hidden}#root{flex-direction:column;display:flex}h1,h2,h3,h4,h5,h6{color:var(--text)}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:99px}.loader{z-index:9999;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:24px;transition:opacity .6s cubic-bezier(.4,0,.2,1),visibility .6s;display:flex;position:fixed;inset:0}.loader.hide{opacity:0;visibility:hidden;pointer-events:none}.loader-container{letter-spacing:-2px;justify-content:center;align-items:center;gap:4px;font-family:Syne,monospace;font-size:4rem;font-weight:700;display:flex;position:relative}.loader-bracket-left,.loader-bracket-right{color:var(--accent);opacity:0;animation:.8s forwards fadeInBracket}.loader-bracket-left{animation-delay:0s}.loader-bracket-right{animation-delay:.2s}.loader-slash{color:var(--accent2);opacity:0;animation:.8s .4s forwards fadeInSlash;position:relative}.loader-subtitle{letter-spacing:3px;text-transform:uppercase;color:var(--muted);opacity:0;font-family:JetBrains Mono,monospace;font-size:.75rem;animation:.6s .8s forwards fadeInUp}.loader-container:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), var(--accent2), transparent);width:0;height:1px;animation:1.2s 1s forwards lineGrow;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)}@keyframes fadeInBracket{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInSlash{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes lineGrow{0%{width:0}to{width:60px}}.bg-canvas{pointer-events:none;z-index:0;width:100vw;height:100vh;position:fixed;inset:0;overflow:hidden}.fi{opacity:0;justify-content:center;align-items:center;transition:transform .3s,opacity .3s;animation:linear infinite floatUp;display:flex;position:absolute;bottom:-140px}[data-theme=dark] .fi img{filter:drop-shadow(0 0 8px #6c63ff4d)}[data-theme=light] .fi img{filter:drop-shadow(0 0 4px #4e45e533)}nav{z-index:500;height:68px;transition:all .3s;position:fixed;top:0;left:0;right:0}nav.scrolled{background:var(--nav-bg);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(24px)}.nav-c{justify-content:space-between;align-items:center;max-width:1280px;height:100%;margin:0 auto;padding:0 5%;display:flex}.logo-btn{color:var(--text);letter-spacing:-1px;cursor:pointer;background:0 0;border:none;padding:0;font-family:Syne,sans-serif;font-size:1.4rem;font-weight:800}.logo-btn span{color:var(--accent)}.nav-links{gap:4px;display:flex}.nav-links button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:7px 11px;font:500 .88rem Space Grotesk,sans-serif;transition:all .2s;position:relative}.nav-links button:hover{color:var(--text);background:var(--surface)}.nav-links button.active{color:var(--text)}.nav-links button.active:after{content:"";background:var(--accent);border-radius:99px;width:16px;height:2px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.nav-right{align-items:center;gap:10px;display:flex}.toggle-wrap{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.toggle-icon{color:var(--muted);align-items:center;display:flex}.toggle{background:var(--surface2);border:1px solid var(--border);cursor:pointer;border-radius:99px;width:48px;height:26px;transition:background .3s;position:relative}.toggle.on{background:var(--accent)}.toggle-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0000004d}.toggle.on .toggle-knob{transform:translate(22px)}.ham{background:var(--surface);border:1px solid var(--border);cursor:pointer;width:38px;height:38px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;display:none}.mob-menu{background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;display:none}.mob-menu.show{display:flex}.mob-menu button{border:none;border-bottom:1px solid var(--border);color:var(--text);text-align:left;cursor:pointer;background:0 0;padding:14px 5%;font:500 .95rem Space Grotesk,sans-serif}.wrap{width:100%;max-width:1280px;margin:0 auto}.sec{z-index:1;width:100%;padding:110px 5%;position:relative}.sec-alt{background:var(--bg2)}#home{align-items:center;min-height:100vh;padding:130px 5% 80px;display:flex}.badge{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:99px;align-items:center;gap:8px;margin-bottom:28px;padding:7px 16px;font-family:JetBrains Mono,monospace;font-size:.8rem;display:inline-flex}.dot-green{background:var(--green);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.5s infinite pulseDot}.hero-name{letter-spacing:-3px;color:var(--text);margin-bottom:14px;font-family:Syne,sans-serif;font-size:clamp(3rem,8vw,6rem);font-weight:800;line-height:1}.hero-name span{color:var(--accent);display:block}.hero-role-txt{color:var(--muted);margin-bottom:16px;font-size:clamp(1rem,2vw,1.3rem);font-weight:400}.typing-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;min-height:2rem;margin-bottom:20px;font-size:clamp(1rem,2vw,1.25rem);display:flex}.typed{color:var(--accent2);font-family:JetBrains Mono,monospace;font-weight:600}.cursor-bar{background:var(--accent);flex-shrink:0;width:2px;height:1.2em;animation:.8s step-end infinite blink;display:inline-block}.tagline{color:var(--muted);max-width:500px;margin-bottom:32px;font-size:.97rem;line-height:1.8}.cta-row{flex-wrap:wrap;gap:12px;display:flex}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:12px 22px;font:600 .9rem Space Grotesk,sans-serif;text-decoration:none;transition:all .25s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 8px 28px var(--glow)}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-2px)}.btn-outline{color:var(--text);border-color:var(--border);background:0 0}.btn-outline:hover{border-color:var(--accent);color:var(--accent2);background:var(--glow)}.btn-ghost{background:var(--surface);color:var(--muted);border-color:var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--accent)}.sec-label{text-transform:uppercase;letter-spacing:4px;color:var(--accent);text-align:left;margin-bottom:8px;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;display:block}.sec-title{letter-spacing:-2px;color:var(--text);text-align:left;margin-bottom:8px;font-family:Syne,sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:800}.sec-sub{color:var(--muted);text-align:left;max-width:520px;margin-bottom:48px;font-size:.95rem;line-height:1.7}.divider{background:linear-gradient(90deg, var(--accent), var(--accent2));border-radius:99px;width:40px;height:3px;margin:16px 0 22px}.about-grid{grid-template-columns:340px 1fr;align-items:center;gap:72px;display:grid}.about-photo{aspect-ratio:4/5;background:linear-gradient(145deg, var(--glow), var(--surface2));border:1px solid var(--border);border-radius:24px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.about-photo:before{content:"";background:radial-gradient(circle at 50% 100%, var(--glow), transparent 60%);position:absolute;inset:0}.about-photo-ring{background:linear-gradient(135deg, var(--accent), var(--accent2)) border-box;-webkit-mask-composite:destination-out;border:2px solid #0000;border-radius:26px;position:absolute;inset:-2px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:padding-box,border-box;-webkit-mask-origin:padding-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.about-photo-img{object-fit:cover;z-index:1;border-radius:24px;width:100%;height:100%;position:relative}.about-text p{color:var(--muted);margin-bottom:14px;font-size:.95rem;line-height:1.85}.stats-grid{flex-wrap:wrap;gap:16px;margin-top:28px;display:flex}.stat-box{text-align:center;background:var(--surface2);border:1px solid var(--border);border-radius:12px;flex:80px;min-width:80px;padding:16px 12px}.stat-val{color:var(--accent);letter-spacing:-1px;font-family:Syne,sans-serif;font-size:1.6rem;font-weight:800;display:block}.stat-lbl{color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;white-space:nowrap;margin-top:3px;font-size:.68rem;display:block}.edu-timeline{padding-left:36px;position:relative}.edu-timeline:before{content:"";background:linear-gradient(to bottom, var(--accent), var(--accent2), transparent);border-radius:99px;width:2px;position:absolute;top:10px;bottom:10px;left:9px}.edu-item{margin-bottom:28px;position:relative}.edu-item:last-child{margin-bottom:0}.edu-dot{border:3px solid var(--accent);background:var(--bg);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;top:18px;left:-36px}.edu-dot.completed{background:var(--accent)}.edu-dot.current{background:var(--bg);box-shadow:0 0 0 5px var(--glow)}.edu-dot.upcoming{border-color:var(--muted);opacity:.5}.edu-card{background:var(--card);border:1px solid var(--border);border-radius:16px;width:100%;padding:22px 26px;transition:all .25s;overflow:hidden}.edu-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translate(4px)}.edu-card-inner{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.edu-card-inner>div:first-child{text-align:center;flex:1;min-width:0}.edu-card h3{color:var(--text);text-align:center;word-break:break-word;margin-bottom:5px;font-family:Syne,sans-serif;font-size:1.05rem;font-weight:700;line-height:1.4}.edu-card p{color:var(--muted);text-align:center;word-break:break-word;margin-bottom:3px;font-size:.875rem;line-height:1.5}.edu-time{color:var(--accent2);text-align:center;font-family:JetBrains Mono,monospace;font-size:.75rem;display:block}.edu-badge{border-radius:99px;align-items:center;gap:4px;margin-top:10px;padding:3px 10px;font-size:.7rem;font-weight:600;display:inline-flex}.edu-badge.completed{color:var(--green);background:#4ade801f;border:1px solid #4ade8033}.edu-badge.current{background:var(--glow);color:var(--accent);border:1px solid #6c63ff4d}.edu-badge.upcoming{color:var(--muted);border:1px solid var(--border);background:#a78bfa1a}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.skill-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:26px;transition:all .25s;position:relative;overflow:hidden}.skill-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent2));transform-origin:0;height:2px;transition:all .35s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.skill-card:hover:before{transform:scaleX(1)}.skill-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-4px)}.skill-head{align-items:center;gap:12px;margin-bottom:16px;display:flex}.skill-icon-wrap{background:var(--glow);border:1px solid var(--border);width:40px;height:40px;color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.skill-head h3{color:var(--text);font-family:Syne,sans-serif;font-size:1rem;font-weight:700}.tags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tag{background:var(--surface2);color:var(--muted);border:1px solid var(--border);border-radius:8px;align-items:center;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:.78rem;transition:all .2s;display:inline-flex}.tag:hover{border-color:var(--accent);color:var(--accent2);background:var(--glow)}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;display:grid}.proj-card{background:var(--card);border:1px solid var(--border);border-radius:20px;flex-direction:column;transition:all .3s;display:flex;overflow:hidden}.proj-card:hover{box-shadow:var(--shadow);border-color:var(--accent);transform:translateY(-8px)}.proj-thumb{justify-content:center;align-items:center;height:210px;display:flex;position:relative;overflow:hidden}.proj-thumb-inner{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.proj-icon-wrap{background:var(--surface2);border:1px solid var(--border);z-index:1;border-radius:20px;justify-content:center;align-items:center;width:80px;height:80px;transition:all .3s;display:flex;position:relative}.proj-card:hover .proj-icon-wrap{transform:scale(1.08)}.proj-thumb:after{content:"";background:linear-gradient(to bottom, transparent 40%, var(--card));position:absolute;inset:0}.proj-body{flex-direction:column;flex:1;padding:22px 24px 24px;display:flex}.proj-body h3{color:var(--text);margin-bottom:6px;font-family:Syne,sans-serif;font-size:1.1rem;font-weight:700}.proj-body p{color:var(--muted);flex:1;margin-bottom:14px;font-size:.875rem;line-height:1.7}.proj-stack{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.proj-tag{border-radius:99px;padding:3px 10px;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600}.proj-actions{flex-wrap:wrap;gap:10px;display:flex}.projects-category{margin-bottom:56px}.projects-category:last-child{margin-bottom:0}.category-title{color:var(--text);border-bottom:1px solid var(--border);margin-bottom:28px;padding-bottom:12px;font-family:Syne,sans-serif;font-size:1.25rem;font-weight:700;display:inline-block}.resume-wrap{max-width:720px;margin:0 auto}.resume-card{text-align:center;border:1px solid var(--border);background:var(--card);border-radius:24px;padding:64px 48px;position:relative;overflow:hidden}.resume-card:before{content:"";background:var(--glow);filter:blur(80px);pointer-events:none;border-radius:50%;width:350px;height:350px;position:absolute;top:-100px;left:50%;transform:translate(-50%)}.resume-card>*{z-index:1;position:relative}.resume-icon-wrap{background:var(--glow);border:1px solid var(--border);width:72px;height:72px;color:var(--accent);border-radius:18px;justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.resume-card h2{letter-spacing:-1px;color:var(--text);margin-bottom:12px;font-family:Syne,sans-serif;font-size:2rem;font-weight:800}.resume-card p{color:var(--muted);margin-bottom:28px;line-height:1.75}.cta-center{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.cert-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.cert-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:16px;flex-direction:column;transition:all .25s;display:flex;overflow:hidden}.cert-card:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-5px)}.cert-thumb{height:160px;position:relative;overflow:hidden}.cert-preview-img{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.cert-card:hover .cert-preview-img{transform:scale(1.04)}.cert-overlay{opacity:0;color:#fff;letter-spacing:.5px;background:#000000a6;justify-content:center;align-items:center;gap:6px;font-size:.82rem;font-weight:600;transition:all .25s;display:flex;position:absolute;inset:0}.cert-card:hover .cert-overlay{opacity:1}.cert-body{padding:14px 16px 18px}.cert-body h3{color:var(--text);margin-bottom:4px;font-family:Syne,sans-serif;font-size:.92rem;font-weight:700;line-height:1.3}.cert-body p{margin-bottom:2px;font-size:.78rem;font-weight:600}.cert-body span{color:var(--muted);font-family:JetBrains Mono,monospace;font-size:.72rem}.contact-grid{grid-template-columns:1fr 1.5fr;align-items:start;gap:64px;display:grid}.contact-info h2{letter-spacing:-1px;color:var(--text);text-align:left;margin-bottom:8px;font-family:Syne,sans-serif;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800}.contact-info>p{color:var(--muted);margin-bottom:28px;font-size:.9rem;line-height:1.7}.contact-items{flex-direction:column;gap:14px;margin-bottom:28px;display:flex}.contact-item{align-items:center;gap:14px;display:flex}.c-icon{background:var(--glow);border:1px solid var(--border);width:44px;height:44px;color:var(--accent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.c-info{text-align:left;flex-direction:column;gap:2px;display:flex}.c-info strong{color:var(--text);margin-bottom:1px;font-size:.82rem;display:block}.c-info span{color:var(--muted);word-break:break-all;font-size:.82rem}.social-row{gap:10px;display:flex}.soc-btn{border:1px solid var(--border);background:var(--surface2);width:42px;height:42px;color:var(--muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;text-decoration:none;transition:all .25s;display:flex}.soc-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.contact-form{flex-direction:column;gap:16px;display:flex}.f-label{color:var(--muted);letter-spacing:.3px;flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;display:flex}.f-input{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;outline:none;padding:13px 16px;font:400 .93rem Space Grotesk,sans-serif;transition:all .25s}.f-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}.f-input::placeholder{color:var(--muted)}textarea.f-input{resize:vertical;min-height:130px}.form-success{color:var(--green);background:#4ade801a;border:1px solid #4ade8040;border-radius:10px;align-items:center;gap:10px;padding:14px 16px;font-size:.9rem;animation:.4s fadeIn;display:flex}footer{background:var(--bg2);border-top:1px solid var(--border);z-index:1;padding:0;position:relative}.footer-inner{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;max-width:1280px;margin:0 auto;padding:52px 5% 36px;display:grid}.footer-brand p{color:var(--muted);text-align:left;max-width:260px;margin:12px 0 20px;font-size:.875rem;line-height:1.7}.footer-social{gap:10px;display:flex}.footer-social a{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--muted);border-radius:9px;justify-content:center;align-items:center;text-decoration:none;transition:all .2s;display:flex}.footer-social a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.footer-col h4{color:var(--text);text-transform:uppercase;letter-spacing:2px;text-align:left;margin-bottom:16px;font-family:Syne,sans-serif;font-size:.85rem;font-weight:700}.footer-col ul{flex-direction:column;gap:10px;list-style:none;display:flex}.footer-col ul li button,.footer-col ul li a,.footer-col ul li span{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;font-family:inherit;font-size:.875rem;text-decoration:none;transition:all .2s;display:flex}.footer-col ul li button:hover,.footer-col ul li a:hover{color:var(--accent)}.footer-col ul li{align-items:center;gap:8px;display:flex}.footer-bottom{border-top:1px solid var(--border);text-align:left;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:1280px;margin:0 auto;padding:18px 5%;display:flex}.footer-bottom p{color:var(--muted);font-size:.82rem}.footer-bottom span{color:var(--accent)}.footer-bottom-links{gap:20px;display:flex}.footer-bottom-links a{color:var(--muted);font-size:.82rem;text-decoration:none;transition:all .2s}.footer-bottom-links a:hover{color:var(--accent)}.scroll-top{z-index:300;background:var(--accent);color:#fff;cursor:pointer;width:44px;height:44px;box-shadow:0 8px 24px var(--glow);opacity:0;border:none;border-radius:12px;justify-content:center;align-items:center;transition:transform .35s,opacity .35s;display:flex;position:fixed;bottom:28px;right:28px;transform:translateY(80px)}.scroll-top.show{opacity:1;transform:translateY(0)}.scroll-top:hover{filter:brightness(1.1);transform:translateY(-2px)}.modal-bg{z-index:9000;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#000000eb;justify-content:center;align-items:center;padding:20px;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);border:1px solid var(--border);border-radius:24px;width:min(700px,93vw);padding:36px;animation:.28s cubic-bezier(.34,1.56,.64,1) forwards popIn;position:relative}.modal-close{border:1px solid var(--border);background:var(--surface2);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:14px;right:14px}.modal-close:hover{background:var(--glow);border-color:var(--accent);color:var(--accent)}.modal-cert-img{border:1px solid var(--border);object-fit:contain;background:var(--surface2);border-radius:14px;width:100%;max-height:400px;margin-bottom:20px;display:block}.modal-box h3{color:var(--text);margin-bottom:6px;font-family:Syne,sans-serif;font-size:1.3rem;font-weight:700}.modal-box p{color:var(--muted);font-size:.88rem}.fiu{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(28px)}.fiu.visible{opacity:1;transform:translateY(0)}.d1{transition-delay:70ms}.d2{transition-delay:.14s}.d3{transition-delay:.21s}.d4{transition-delay:.28s}.d5{transition-delay:.35s}.d6{transition-delay:.42s}@keyframes floatUp{0%{opacity:0;transform:translateY(0)rotate(0)}8%{opacity:.2}88%{opacity:.15}to{opacity:0;transform:translateY(-115vh)rotate(20deg)}}@keyframes pulse{0%,to{opacity:.4;transform:scale(.97)}50%{opacity:1;transform:scale(1)}}@keyframes loadFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pulseDot{0%{box-shadow:0 0 #4ade80b3}70%{box-shadow:0 0 0 8px #4ade8000}to{box-shadow:0 0 #4ade8000}}@keyframes blink{50%{opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@media (width<=1100px){.footer-inner{grid-template-columns:1fr 1fr;gap:36px}}@media (width<=1000px){.about-grid{grid-template-columns:1fr;gap:40px}.about-photo{max-width:320px;margin:0 auto}.contact-grid{grid-template-columns:1fr;gap:40px}}@media (width<=768px){.sec{padding:72px 5%}#home{padding:110px 5% 70px}.nav-links{display:none}.ham{display:flex}.edu-timeline{padding-left:28px}.edu-dot{left:-28px}.edu-card{padding:18px 20px}.edu-card h3{font-size:.98rem}.edu-card p{font-size:.82rem}.cert-grid{grid-template-columns:1fr 1fr}.hero-name{letter-spacing:-2px}.resume-card{padding:44px 24px}.footer-inner{grid-template-columns:1fr 1fr;gap:28px}.stats-grid{gap:12px}.stat-box{flex:calc(50% - 6px);min-width:0}}@media (width<=520px){.sec{padding:64px 4%}#home{padding:100px 4% 60px}.edu-timeline{padding-left:24px}.edu-dot{width:16px;height:16px;top:20px;left:-24px}.edu-card{padding:16px}.edu-card h3{word-break:break-word;text-align:center;font-size:.92rem}.edu-card p{word-break:break-word;text-align:center;font-size:.8rem}.edu-card-inner{flex-direction:column;align-items:center;gap:8px}.edu-card-inner>div:first-child{text-align:center;width:100%}.stats-grid{gap:10px}.stat-box{flex:calc(33.33% - 7px);min-width:0;padding:12px 8px}.stat-val{font-size:1.3rem}.stat-lbl{letter-spacing:1px;font-size:.6rem}.cert-grid{grid-template-columns:1fr}.cta-row,.cta-center{flex-direction:column}.cta-row .btn,.cta-center .btn{justify-content:center;width:100%}.projects-grid,.footer-inner{grid-template-columns:1fr}.footer-bottom{text-align:center;flex-direction:column}.footer-bottom-links{justify-content:center}.resume-card{padding:36px 20px}.resume-card h2{font-size:1.5rem}}@media (width<=380px){.hero-name{letter-spacing:-1.5px;font-size:2.4rem}.edu-card h3{font-size:.86rem}.stat-box{flex:100%}.stat-lbl{white-space:normal;text-align:center}}
