@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--color-bg: #0a0f1a;--color-bg-elevated: #0f172a;--color-surface: #1e293b;--color-text: #f8fafc;--color-text-muted: #94a3b8;--color-accent: #38bdf8;--color-accent-secondary: #818cf8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}a{color:var(--color-accent)}a:hover{color:#0ea5e9}button{font-family:inherit}img{max-width:100%;height:auto}@media(prefers-reduced-motion:reduce){.animate-on-scroll,.animate-on-scroll.animate-in,.hero-animate .hero-badge,.hero-animate .hero-greeting,.hero-animate .hero-name,.hero-animate .hero-title,.hero-animate .hero-tagline,.hero-animate .hero-cta,.hero-animate .hero-terminal-wrapper{animation:none!important;transition:none!important}.animate-on-scroll{opacity:1;transform:none}.animate-stagger .skills-grid>*,.animate-stagger .projects-grid>*,.animate-stagger .contact-options>*{opacity:1;transform:none}}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1)}.animate-on-scroll.animate-in{opacity:1;transform:translateY(0)}.animate-on-scroll.fadeUp{transform:translateY(40px)}.animate-on-scroll.fadeUp.animate-in{transform:translateY(0)}.animate-on-scroll.fade,.animate-on-scroll.fade.animate-in{transform:none}.animate-on-scroll.scale{transform:translateY(20px) scale(.95)}.animate-on-scroll.scale.animate-in{transform:translateY(0) scale(1)}.animate-stagger.animate-on-scroll{opacity:1;transform:none}.animate-stagger .skills-grid>*,.animate-stagger .projects-grid>*,.animate-stagger .contact-options>*{opacity:0;transform:translateY(25px);transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1)}.animate-stagger.animate-in .skills-grid>*:nth-child(1),.animate-stagger.animate-in .projects-grid>*:nth-child(1),.animate-stagger.animate-in .contact-options>*:nth-child(1){transition-delay:0ms}.animate-stagger.animate-in .skills-grid>*:nth-child(2),.animate-stagger.animate-in .projects-grid>*:nth-child(2),.animate-stagger.animate-in .contact-options>*:nth-child(2){transition-delay:.06s}.animate-stagger.animate-in .skills-grid>*:nth-child(3),.animate-stagger.animate-in .projects-grid>*:nth-child(3),.animate-stagger.animate-in .contact-options>*:nth-child(3){transition-delay:.12s}.animate-stagger.animate-in .skills-grid>*:nth-child(4),.animate-stagger.animate-in .projects-grid>*:nth-child(4){transition-delay:.18s}.animate-stagger.animate-in .skills-grid>*:nth-child(5),.animate-stagger.animate-in .projects-grid>*:nth-child(5){transition-delay:.24s}.animate-stagger.animate-in .skills-grid>*:nth-child(6),.animate-stagger.animate-in .projects-grid>*:nth-child(6){transition-delay:.3s}.animate-stagger.animate-in .skills-grid>*:nth-child(n+7),.animate-stagger.animate-in .projects-grid>*:nth-child(n+7){transition-delay:.36s}.animate-stagger.animate-in .skills-grid>*,.animate-stagger.animate-in .projects-grid>*,.animate-stagger.animate-in .contact-options>*{opacity:1;transform:translateY(0)}.hero-animate .hero-badge{animation:heroFadeIn .8s ease-out .2s both}.hero-animate .hero-greeting{animation:heroFadeIn .8s ease-out .3s both}.hero-animate .hero-name{animation:heroFadeIn .8s ease-out .4s both}.hero-animate .hero-title{animation:heroFadeIn .8s ease-out .5s both}.hero-animate .hero-tagline{animation:heroFadeIn .8s ease-out .6s both}.hero-animate .hero-cta{animation:heroFadeIn .8s ease-out .75s both}.hero-animate .hero-terminal-wrapper{animation:heroFadeInUp 1s ease-out .4s both}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes heroFadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.btn{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease}@media(min-width:769px){.nav-link{position:relative}.nav-link:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:#38bdf8;transition:width .3s ease,left .3s ease}.nav-link:hover:after{width:100%;left:0}}.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0a0f1acc;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid rgba(56,189,248,.08);transform:translateY(0);opacity:1;transition:transform .4s ease,opacity .3s ease,background .3s ease,border-color .3s ease}.header:hover{border-bottom-color:#38bdf826}.header--hidden{transform:translateY(-100%);opacity:0;pointer-events:none}.nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;max-width:1200px;margin:0 auto}.logo{font-size:1.5rem;font-weight:700;color:#f8fafc;text-decoration:none;letter-spacing:-.02em}.logo span{color:#38bdf8}.nav-links{display:flex;list-style:none;margin:0;padding:0;gap:.5rem}.nav-link{background:none;border:none;color:#94a3b8;font-size:.95rem;font-weight:500;cursor:pointer;padding:.5rem 1rem;border-radius:8px;transition:color .2s,background .2s}.nav-link:hover{color:#38bdf8;background:#38bdf81a}.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}.menu-toggle span{width:24px;height:2px;background:#f8fafc;border-radius:2px;transition:transform .3s,opacity .3s}.menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media(max-width:768px){.menu-toggle{display:flex}.nav-links{position:fixed;top:60px;right:-100%;flex-direction:column;background:#0a0f1afa;width:100%;max-width:280px;padding:1.5rem;border-bottom-left-radius:12px;border-left:1px solid rgba(148,163,184,.1);transition:right .3s ease}.nav-links.open{right:0}.nav-link{text-align:left;padding:1rem;font-size:1rem;border-radius:8px}}.code-typing-effect{position:relative;width:100%;max-width:580px;background:#0f172af2;border:1px solid rgba(56,189,248,.25);border-radius:16px;overflow:hidden;box-shadow:0 0 0 1px #38bdf81a,0 25px 50px -12px #00000080,0 0 80px -20px #38bdf84d;animation:code-container-float 5s ease-in-out infinite,shadow-pulse 3s ease-in-out infinite alternate,border-breathe 3s ease-in-out infinite alternate}@keyframes code-container-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes shadow-pulse{0%,to{box-shadow:0 0 0 1px #38bdf814,0 25px 50px -12px #00000080,0 0 60px -15px #38bdf833}50%{box-shadow:0 0 0 1px #38bdf81f,0 25px 50px -12px #00000080,0 0 60px -15px #38bdf859}}@keyframes border-breathe{0%{border-color:#38bdf82e}to{border-color:#38bdf873}}.code-typing-effect:before{content:"";position:absolute;inset:0;border-radius:16px;padding:1px;background:linear-gradient(135deg,#38bdf880,#6366f14d,#10b98133,#38bdf880);background-size:200% 200%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:border-glow 4s ease-in-out infinite;pointer-events:none}@keyframes border-glow{0%,to{background-position:0% 50%;opacity:.7}50%{background-position:100% 50%;opacity:1}}.terminal-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#1e293bcc;border-bottom:1px solid rgba(148,163,184,.1)}.terminal-dots{display:flex;gap:6px}.dot{width:12px;height:12px;border-radius:50%}.dot-red{background:#ff5f56;box-shadow:0 0 8px #ff5f5680}.dot-yellow{background:#ffbd2e;box-shadow:0 0 8px #ffbd2e80}.dot-green{background:#27ca40;box-shadow:0 0 8px #27ca4080}.terminal-title{font-size:.75rem;color:#64748b;font-family:JetBrains Mono,monospace}.terminal-body{padding:1.25rem 1.5rem;position:relative}.terminal-prompt{font-family:JetBrains Mono,Fira Code,monospace;font-size:.8rem;margin-bottom:.75rem}.prompt-user{color:#38bdf8}.prompt-at{color:#64748b}.prompt-host{color:#10b981}.prompt-arrow{color:#f59e0b;margin-left:.25rem}.code-block{margin:0;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.9rem;line-height:1.7;color:#e2e8f0;white-space:pre-wrap;word-break:break-all;position:relative}.code-block code{color:inherit}.cursor{display:inline-block;width:10px;height:1.2em;background:#38bdf8;margin-left:2px;vertical-align:text-bottom;animation:cursor-blink 1s step-end infinite,cursor-glow 2s ease-in-out infinite;box-shadow:0 0 10px #38bdf899}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes cursor-glow{0%,to{box-shadow:0 0 10px #38bdf899}50%{box-shadow:0 0 20px #38bdf8e6,0 0 30px #38bdf866}}.dot{animation:dot-idle 3s ease-in-out infinite}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes dot-idle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.code-typing-effect:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(56,189,248,.6),rgba(99,102,241,.4),transparent);pointer-events:none;z-index:2;box-shadow:0 0 15px #38bdf84d}@keyframes scan-line{0%{top:0;opacity:.4}15%{opacity:1}85%{opacity:1}to{top:100%;opacity:.4}}.terminal-glow{position:absolute;inset:-1px;border-radius:16px;background:linear-gradient(135deg,rgba(56,189,248,.1) 0%,transparent 50%,rgba(99,102,241,.05) 100%);pointer-events:none;z-index:-1}@media(prefers-reduced-motion:reduce){.code-typing-effect,.code-typing-effect:before,.code-typing-effect:after,.cursor,.dot{animation:none!important}.code-typing-effect{border-color:#38bdf84d}}@media(max-width:640px){.code-typing-effect{max-width:100%}.terminal-body{padding:1rem 1.25rem}.code-block{font-size:.8rem}}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:6rem 1.5rem 4rem;position:relative;overflow:hidden}.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(56,189,248,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.4) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 50%,black 20%,transparent 70%);mask-image:radial-gradient(ellipse 80% 70% at 50% 50%,black 20%,transparent 70%);pointer-events:none;animation:grid-shift 3s linear infinite}@keyframes grid-shift{0%{background-position:0 0}to{background-position:60px 60px}}.hero-bg-mesh{position:absolute;inset:0;background:radial-gradient(ellipse 50% 40% at 20% 30%,rgba(56,189,248,.08) 0%,transparent 50%),radial-gradient(ellipse 40% 50% at 80% 70%,rgba(99,102,241,.06) 0%,transparent 50%),radial-gradient(ellipse 60% 30% at 50% 80%,rgba(16,185,129,.04) 0%,transparent 50%);animation:mesh-float 8s ease-in-out infinite;pointer-events:none}@keyframes mesh-float{0%,to{opacity:1;transform:scale(1) translate(0)}33%{opacity:.9;transform:scale(1.05) translate(2%,1%)}66%{opacity:1;transform:scale(.98) translate(-1%,-2%)}}.hero-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hero-particle{position:absolute;width:6px;height:6px;background:#38bdf866;border-radius:50%;animation:particle-float 8s ease-in-out infinite}.hero-particle:nth-child(1){left:5%;top:15%;animation-delay:0s;animation-duration:9s}.hero-particle:nth-child(2){left:18%;top:45%;animation-delay:-1s;animation-duration:11s}.hero-particle:nth-child(3){left:28%;top:75%;animation-delay:-2s;animation-duration:8s}.hero-particle:nth-child(4){left:42%;top:10%;animation-delay:-3s;animation-duration:10s}.hero-particle:nth-child(5){left:55%;top:55%;animation-delay:-.5s;animation-duration:12s}.hero-particle:nth-child(6){left:68%;top:25%;animation-delay:-2.5s;animation-duration:9s}.hero-particle:nth-child(7){left:78%;top:70%;animation-delay:-1.5s;animation-duration:10s}.hero-particle:nth-child(8){left:92%;top:40%;animation-delay:-3.5s;animation-duration:11s}.hero-particle:nth-child(9){left:12%;top:60%;animation-delay:-2s;animation-duration:8s}.hero-particle:nth-child(10){left:35%;top:35%;animation-delay:-1s;animation-duration:10s}.hero-particle:nth-child(11){left:50%;top:85%;animation-delay:-3s;animation-duration:9s}.hero-particle:nth-child(12){left:62%;top:5%;animation-delay:-.5s;animation-duration:11s}.hero-particle:nth-child(13){left:8%;top:85%;animation-delay:-2.5s;animation-duration:10s}.hero-particle:nth-child(14){left:88%;top:15%;animation-delay:-1.5s;animation-duration:8s}.hero-particle:nth-child(15){left:22%;top:25%;animation-delay:-3s;animation-duration:11s}.hero-particle:nth-child(16){left:72%;top:85%;animation-delay:-.8s;animation-duration:9s}.hero-particle:nth-child(17){left:45%;top:45%;animation-delay:-2.2s;animation-duration:10s}.hero-particle:nth-child(18){left:95%;top:65%;animation-delay:-1.8s;animation-duration:8s}.hero-particle:nth-child(19){left:2%;top:40%;animation-delay:-3.2s;animation-duration:11s}.hero-particle:nth-child(20){left:58%;top:70%;animation-delay:-.3s;animation-duration:9s}.hero-particle:nth-child(3),.hero-particle:nth-child(6),.hero-particle:nth-child(11),.hero-particle:nth-child(14){background:#6366f159}.hero-particle:nth-child(5),.hero-particle:nth-child(9),.hero-particle:nth-child(16),.hero-particle:nth-child(20){background:#10b9814d}@keyframes particle-float{0%,to{transform:translate(0) scale(1);opacity:.4}25%{transform:translate(15px,-20px) scale(1.2);opacity:.7}50%{transform:translate(-10px,10px) scale(.9);opacity:.5}75%{transform:translate(-5px,-15px) scale(1.1);opacity:.6}}.hero-line-accent{position:absolute;width:1px;height:100%;background:linear-gradient(to bottom,transparent,rgba(56,189,248,.15) 20%,rgba(56,189,248,.1) 50%,transparent 80%);left:15%;animation:line-flow 5s ease-in-out infinite}.hero-line-accent--right{left:85%;animation-delay:-2.5s;background:linear-gradient(to bottom,transparent,rgba(99,102,241,.12) 30%,rgba(99,102,241,.08) 60%,transparent)}@keyframes line-flow{0%,to{opacity:.3;transform:scaleY(.8)}50%{opacity:.7;transform:scaleY(1)}}@media(prefers-reduced-motion:reduce){.hero-grid-bg,.hero-bg-mesh,.hero-particles .hero-particle,.hero-line-accent{animation:none!important}}.hero-glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;pointer-events:none;animation:glow-float 8s ease-in-out infinite}.hero-glow-1{width:400px;height:400px;background:#38bdf826;top:-100px;right:-50px;animation-delay:0s}.hero-glow-2{width:300px;height:300px;background:#6366f11f;bottom:20%;left:-80px;animation-delay:-3s}.hero-glow-3{width:200px;height:200px;background:#10b9811a;bottom:-50px;right:20%;animation-delay:-5s}@keyframes glow-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-20px) scale(1.05)}66%{transform:translate(-15px,10px) scale(.95)}}.hero-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;width:100%;max-width:1200px;margin:0 auto;position:relative;z-index:1}.hero-content{text-align:left}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#38bdf81a;border:1px solid rgba(56,189,248,.2);border-radius:100px;font-size:.8rem;color:#38bdf8;margin-bottom:1.5rem;animation:badge-pulse 2s ease-in-out infinite}.hero-badge-dot{width:6px;height:6px;background:#38bdf8;border-radius:50%;box-shadow:0 0 10px #38bdf8;animation:dot-pulse 1.5s ease-in-out infinite}@keyframes badge-pulse{0%,to{border-color:#38bdf833}50%{border-color:#38bdf866}}@keyframes dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.hero-greeting{font-size:1rem;color:#38bdf8;font-weight:500;margin-bottom:.5rem;letter-spacing:.15em;text-transform:uppercase}.hero-name{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;color:#f8fafc;line-height:1.1;letter-spacing:-.03em;margin-bottom:.5rem;background:linear-gradient(135deg,#f8fafc,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-title{font-size:clamp(1.25rem,2.5vw,1.5rem);color:#94a3b8;font-weight:500;margin-bottom:1rem}.hero-tagline{font-size:1.125rem;color:#64748b;max-width:440px;margin-bottom:2rem;line-height:1.7}.hero-cta{display:flex;flex-wrap:wrap;gap:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.75rem;font-size:1rem;font-weight:600;border-radius:10px;text-decoration:none;transition:all .3s ease;cursor:pointer}.btn-primary{background:linear-gradient(135deg,#38bdf8,#0ea5e9);color:#0f172a;box-shadow:0 4px 20px #38bdf84d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #38bdf866}.btn-secondary{background:transparent;color:#94a3b8;border:2px solid rgba(148,163,184,.3)}.btn-secondary:hover{border-color:#38bdf8;color:#38bdf8;background:#38bdf80d}.hero-terminal-wrapper{position:relative}.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:1}.hero-scroll span{font-size:1rem;color:#64748b;text-transform:uppercase;letter-spacing:.1em}.scroll-indicator{width:24px;height:40px;border:2px solid rgba(148,163,184,.3);border-radius:12px;position:relative}.scroll-indicator:after{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:4px;height:8px;background:#38bdf8;border-radius:2px;animation:scroll-bounce 2s infinite}@keyframes scroll-bounce{0%,to{opacity:1;transform:translate(-50%) translateY(0)}50%{opacity:.5;transform:translate(-50%) translateY(8px)}}@media(max-width:1024px){.hero-layout{grid-template-columns:1fr;gap:3rem;text-align:center}.hero-content{text-align:center}.hero-tagline{margin-left:auto;margin-right:auto}.hero-cta{justify-content:center}.hero-terminal-wrapper{order:-1;max-width:100%}}@media(max-width:640px){.hero-badge{font-size:.75rem;padding:.4rem .8rem}}.about{padding:6rem 1.5rem;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(56,189,248,.04) 0%,transparent 50%),#0f172a66}.about-content{max-width:700px;margin:0 auto}.about-text p{font-size:1.125rem;line-height:1.8;color:#94a3b8;margin-bottom:2rem}.about-info{display:flex;flex-wrap:wrap;gap:1.5rem 2rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.8rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.info-item span:last-child,.info-item a{font-size:1rem;color:#f8fafc;text-decoration:none}.info-item a:hover{color:#38bdf8}.experience{padding:6rem 1.5rem;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(99,102,241,.05) 0%,transparent 50%),#0f172a80}.experience-timeline-wrapper{margin-top:2.5rem}.experience-timeline{list-style:none;padding:0;margin:0;max-width:720px;margin-inline:auto}.experience-item{display:grid;grid-template-columns:auto 1fr;column-gap:1.5rem;position:relative}.experience-item+.experience-item{margin-top:2.5rem}.experience-marker{position:relative;display:flex;flex-direction:column;align-items:center}.experience-dot{width:12px;height:12px;border-radius:999px;background:#38bdf8;box-shadow:0 0 0 3px #38bdf84d}.experience-line{flex:1;width:2px;margin-top:.5rem;background:linear-gradient(to bottom,#94a3b866,#94a3b81a)}.experience-item:last-child .experience-line{display:none}.experience-content{padding:1rem 1.25rem;border-radius:14px;background:#0f172ae6;border:1px solid rgba(148,163,184,.18);box-shadow:0 16px 40px #0f172a73}.experience-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;margin-bottom:.25rem}.experience-company{font-size:1.1rem;font-weight:600;color:#e2e8f0;margin:0}.experience-years{font-size:.85rem;color:#94a3b8;padding:.15rem .6rem;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#0f172ae6}.experience-role{margin:.25rem 0 .5rem;font-size:.95rem;color:#cbd5f5;font-weight:500}.experience-description{margin:0;font-size:.9rem;color:#94a3b8;line-height:1.7}@media(max-width:640px){.experience-item{column-gap:1rem}.experience-content{padding:.9rem 1rem}}.education{padding:6rem 1.5rem;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(56,189,248,.04) 0%,transparent 50%),#0f172a80}.education-timeline-wrapper{margin-top:2.5rem}.education-timeline{list-style:none;padding:0;margin:0;max-width:720px;margin-inline:auto}.education-item{display:grid;grid-template-columns:auto 1fr;column-gap:1.5rem;position:relative}.education-item+.education-item{margin-top:2.5rem}.education-marker{position:relative;display:flex;flex-direction:column;align-items:center}.education-dot{width:12px;height:12px;border-radius:999px;background:#38bdf8;box-shadow:0 0 0 3px #38bdf84d}.education-line{flex:1;width:2px;margin-top:.5rem;background:linear-gradient(to bottom,#94a3b866,#94a3b81a)}.education-item:last-child .education-line{display:none}.education-content{padding:1rem 1.25rem;border-radius:14px;background:#0f172ae6;border:1px solid rgba(148,163,184,.18);box-shadow:0 16px 40px #0f172a73}.education-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;margin-bottom:.25rem}.education-school{font-size:1.1rem;font-weight:600;color:#e2e8f0;margin:0}.education-years{font-size:.85rem;color:#94a3b8;padding:.15rem .6rem;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#0f172ae6}.education-degree{margin:.25rem 0 .5rem;font-size:.95rem;color:#cbd5f5;font-weight:500}.education-description{margin:0;font-size:.9rem;color:#94a3b8;line-height:1.7}@media(max-width:640px){.education-item{column-gap:1rem}.education-content{padding:.9rem 1rem}}.skills{padding:6rem 1.5rem;background:#0f172a4d}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;max-width:800px;margin:0 auto}.skill-card{padding:1rem 1.25rem;background:#1e293b80;border:1px solid rgba(148,163,184,.08);border-radius:12px;color:#e2e8f0;font-weight:500;font-size:.95rem;text-align:center;transition:all .3s ease;align-items:center;justify-content:center;display:flex}.skill-card:hover{border-color:#38bdf84d;background:#38bdf814;transform:translateY(-3px);box-shadow:0 10px 30px #38bdf81a}.projects{padding:6rem 1.5rem;background:radial-gradient(ellipse 80% 50% at 50% 100%,rgba(99,102,241,.05) 0%,transparent 50%),#0f172a66}.projects-grid{margin-top:2rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.project-card{background:#1e293b66;border:1px solid rgba(148,163,184,.08);border-radius:16px;overflow:hidden;transition:all .3s ease}.project-card:hover{transform:translateY(-6px);border-color:#38bdf840;box-shadow:0 25px 50px -12px #0006,0 0 40px -10px #38bdf826}.project-card.featured{border-color:#38bdf826}.project-image{position:relative;aspect-ratio:16/10;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-card:hover .project-image img{transform:scale(1.05)}.project-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,23,42,.95),transparent 60%);display:flex;align-items:flex-end;opacity:0;transition:opacity .3s ease}.project-card:hover .project-overlay{opacity:1}.project-links{display:flex;gap:.75rem;padding:1rem 1.25rem;width:100%}.project-link{padding:.5rem 1rem;background:#38bdf8;color:#0f172a;font-size:.9rem;font-weight:600;border-radius:8px;text-decoration:none;transition:all .2s}.project-link:hover{background:#0ea5e9}.project-content{padding:1.5rem}.project-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem;margin-bottom:.5rem;flex-wrap:wrap}.project-content h3{font-size:1.25rem;color:#f8fafc;margin:0;font-weight:600}.project-year{font-size:.75rem;color:#94a3b8;padding:.1rem .6rem;border-radius:999px;border:1px solid rgba(148,163,184,.35);background:#0f172ae6;flex-shrink:0;max-width:130px;text-align:center;overflow:hidden}@media(max-width:640px){.project-header{flex-direction:column;align-items:flex-start;gap:.25rem}.project-year{max-width:100%;align-self:flex-start}}.project-content p{font-size:.95rem;color:#94a3b8;line-height:1.6;margin-bottom:1rem;white-space:pre-line}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{font-size:.75rem;padding:.25rem .6rem;background:#38bdf826;color:#38bdf8;border-radius:6px}@media(max-width:640px){.projects-grid{grid-template-columns:1fr}}.contact{padding:6rem 1.5rem 4rem;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(56,189,248,.03) 0%,transparent 50%)}.contact-intro{text-align:center;color:#94a3b8;font-size:1.125rem;max-width:500px;margin-left:auto;margin-right:auto;margin-bottom:3rem}.contact-options{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-bottom:3rem}.contact-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;min-width:240px;background:#1e293b66;border:1px solid rgba(148,163,184,.08);border-radius:16px;text-decoration:none;transition:all .3s ease}.contact-card:hover{border-color:#38bdf84d;transform:translateY(-4px);box-shadow:0 20px 40px #38bdf814}.contact-icon{font-size:2rem}.contact-label{font-size:.8rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.contact-value{font-size:1rem;color:#f8fafc;font-weight:500}.social-links{display:flex;justify-content:center;gap:1rem;margin-bottom:4rem}.social-link{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#1e293b80;border:1px solid rgba(148,163,184,.08);border-radius:12px;color:#94a3b8;transition:all .3s ease}.social-link:hover{color:#38bdf8;border-color:#38bdf84d;background:#38bdf81a;transform:translateY(-2px)}.footer{text-align:center;padding-top:2rem;border-top:1px solid rgba(148,163,184,.1)}.footer p{font-size:.9rem;color:#64748b}.section-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:#f8fafc;text-align:center;margin-bottom:1rem;letter-spacing:-.02em;position:relative}.section-title:after{content:"";display:block;width:60px;height:4px;background:linear-gradient(90deg,#38bdf8,#818cf8);border-radius:2px;margin:1rem auto 0}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}
