@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--bg-color: #030303;--surface-color: #0d0d0d;--glass-bg: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .08);--glass-bg-hover: rgba(255, 255, 255, .06);--glass-border-hover: rgba(255, 255, 255, .15);--text-primary: #ffffff;--text-secondary: #a1a1aa;--accent-cyan: #00f2fe;--accent-blue: #4facfe;--accent-django: #092e20;--accent-flutter: #02569b;--accent-go: #00add8;--font-sans: "Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-sans);background:var(--bg-color);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.text-gradient{background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-cyan) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px;transition:all .3s ease}.glass-panel:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translateY(-4px);box-shadow:0 12px 32px #00f2fe1a}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn 1s ease forwards}.animate-slide-up{opacity:0;animation:slideUp .8s cubic-bezier(.16,1,.3,1) forwards}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.app-layout{min-height:100vh;display:flex;flex-direction:column}.nav-bar{position:fixed;top:1rem;left:50%;transform:translate(-50%);width:calc(100% - 2rem);max-width:1200px;z-index:50;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.nav-content{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0}.logo{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}.nav-links{display:flex;gap:2rem;align-items:center}.nav-links a{font-size:.95rem;font-weight:500;color:var(--text-secondary);transition:color .2s ease}.nav-links a:hover{color:var(--text-primary)}@media(max-width:768px){.nav-links{display:none}}main{padding-top:6rem;flex:1}.hero-section{min-height:calc(100vh - 6rem);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;padding-top:4rem;padding-bottom:4rem}@media(max-width:992px){.hero-section{grid-template-columns:1fr;text-align:left;gap:3rem}}.hero-content{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem}.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:999px;font-size:.875rem;font-weight:500;color:var(--accent-cyan)}.badge-dot{width:8px;height:8px;border-radius:50%;background-color:var(--accent-cyan);box-shadow:0 0 8px var(--accent-cyan)}.hero-title{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:800;line-height:1.1;letter-spacing:-.02em}.hero-subtitle{font-size:1.125rem;color:var(--text-secondary);max-width:600px;line-height:1.7}.hero-actions{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}.cta-button{display:flex;align-items:center;gap:.5rem}.hero-visual{position:relative;display:flex;justify-content:center;align-items:center;height:100%}.glow-sphere{position:absolute;border-radius:50%;filter:blur(80px);z-index:-1;opacity:.5;animation:pulseGlow 8s infinite alternate}.main-glow{width:300px;height:300px;background:var(--accent-blue);top:50%;left:50%;transform:translate(-50%,-50%)}.secondary-glow{width:250px;height:250px;background:var(--accent-green);bottom:0;right:0;animation-delay:2s}.code-window{width:100%;max-width:500px;background:#0a0a0a99;border-radius:12px;overflow:hidden;box-shadow:0 24px 48px #0006}.window-header{display:flex;gap:8px;padding:12px 16px;background:#ffffff0d;border-bottom:1px solid var(--glass-border)}.window-dot{width:12px;height:12px;border-radius:50%}.window-dot.red{background:#ff5f56}.window-dot.yellow{background:#ffbd2e}.window-dot.green{background:#27c93f}.code-content{padding:24px;font-family:Menlo,Monaco,Courier New,monospace;font-size:.9rem;line-height:1.6;color:#e2e8f0;overflow-x:auto}.code-content code{white-space:pre-wrap;color:#a8b2d1}.base-button{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-weight:600;transition:all .2s ease;cursor:pointer;border:transparent;outline:none;font-family:inherit;gap:.5rem}.base-button:active{transform:scale(.98)}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-md{padding:.75rem 1.5rem;font-size:1rem}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.btn-primary{background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-cyan) 100%);color:#fff;box-shadow:0 4px 14px #00f2fe33}.btn-primary:hover{box-shadow:0 6px 20px #00f2fe66;filter:brightness(1.1)}.btn-secondary{background:transparent;border:1px solid var(--glass-border);color:var(--text-primary)}.btn-secondary:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.btn-glass{background:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border);color:var(--text-primary)}.btn-glass:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:0 4px 14px #ffffff0d}.expertise-section{padding-top:6rem;padding-bottom:6rem}.section-header{text-align:center;max-width:800px;margin:0 auto 4rem}.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;margin-bottom:1rem}.section-subtitle{font-size:1.125rem;color:var(--text-secondary)}.expertise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.expertise-card{transition:transform .3s ease,box-shadow .3s ease;height:100%}.skill-icon-wrapper{background:#ffffff0d;width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;border:1px solid var(--glass-border);box-shadow:inset 0 0 20px #ffffff05}.skill-title{font-size:1.25rem;font-weight:700;margin-bottom:.75rem;color:var(--text-primary)}.skill-description{font-size:.95rem;color:var(--text-secondary);line-height:1.6}.card-wrapper{padding:2rem;display:flex;flex-direction:column;gap:1rem}.card-wrapper:hover{box-shadow:0 12px 32px var(--card-glow, rgba(0, 242, 254, .1))}.geospatial-section{padding-top:6rem;padding-bottom:6rem}.geospatial-content{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:24px}@media(max-width:992px){.geospatial-content{grid-template-columns:1fr}}.geo-visual{position:relative;background:var(--surface-color);min-height:400px;display:flex;align-items:center;justify-content:center;overflow:hidden}.map-grid{position:absolute;width:200%;height:200%;background-image:linear-gradient(rgba(0,242,254,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,242,254,.1) 1px,transparent 1px);background-size:40px 40px;transform:perspective(500px) rotateX(60deg) translateY(-100px);animation:gridMove 20s linear infinite}@keyframes gridMove{0%{transform:perspective(500px) rotateX(60deg) translateY(0);background-position:0 0}to{transform:perspective(500px) rotateX(60deg) translateY(0);background-position:0 40px}}.radar-sweep{position:absolute;width:300px;height:300px;border-radius:50%;border:1px solid rgba(0,242,254,.2);background:conic-gradient(from 0deg,rgba(0,242,254,.3) 0%,transparent 60%);animation:radarSpin 4s linear infinite}@keyframes radarSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pulse-point{position:absolute;width:12px;height:12px;background:var(--accent-cyan);border-radius:50%;box-shadow:0 0 15px var(--accent-cyan)}.pulse-point:after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid var(--accent-cyan);animation:ping 2s cubic-bezier(0,0,.2,1) infinite}@keyframes ping{75%,to{transform:scale(2.5);opacity:0}}.p1{top:30%;left:40%}.p2{top:60%;left:70%;animation-delay:1s}.p3{top:75%;left:25%;animation-delay:.5s}.geo-features{padding:4rem 3rem;display:flex;flex-direction:column;gap:3rem;background:#0006}.feature-item{display:flex;gap:1.5rem}.feature-icon{width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#00f2fe0d;border:1px solid rgba(0,242,254,.1);border-radius:12px}.feature-item h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.feature-item p{color:var(--text-secondary);line-height:1.6}.project-link{color:var(--text-primary);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;transition:color .2s ease}.project-link:hover{color:var(--accent-cyan)}.project-link .link-icon{opacity:0;transform:translate(-4px);transition:all .2s ease}.project-link:hover .link-icon{opacity:1;transform:translate(0)}.experience-section{padding-top:6rem;padding-bottom:6rem}.timeline-container{max-width:800px;margin:0 auto;position:relative;padding-left:2rem}.timeline-container:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--glass-border)}.timeline-item{position:relative;margin-bottom:3rem}.timeline-item:last-child{margin-bottom:0}.timeline-dot{position:absolute;left:-2rem;top:1.5rem;transform:translate(-50%,-50%);width:16px;height:16px;border-radius:50%;background:var(--accent-cyan);box-shadow:0 0 10px var(--accent-cyan);border:3px solid var(--surface-color)}.timeline-content{padding:2rem;transition:transform .3s ease}.timeline-content:hover{transform:translate(8px)}.timeline-period{font-size:.875rem;font-weight:600;color:var(--accent-blue);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem;display:block}.timeline-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.timeline-company{font-size:1.125rem;font-weight:500;color:var(--text-secondary);margin-bottom:1rem}.timeline-description{color:var(--text-secondary);line-height:1.6}.contact-section{padding-top:6rem;padding-bottom:8rem}.contact-card{max-width:800px;margin:0 auto;padding:4rem 2rem;text-align:center;position:relative;overflow:hidden}.contact-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary)}.contact-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.contact-icon{margin-bottom:1rem}.contact-title{font-size:clamp(2rem,4vw,2.5rem);font-weight:800}.contact-subtitle{font-size:1.125rem;color:var(--text-secondary);line-height:1.6}.rate-badge{display:inline-block;margin-top:.5rem;padding:.25rem .75rem;background:#00f2fe1a;color:var(--accent-cyan);border-radius:999px;font-weight:600;font-size:.875rem}.contact-methods-wrapper{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:2rem;width:100%}.email-container{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#0006;border:1px solid var(--glass-border);border-radius:12px;cursor:pointer;transition:all .2s ease}.email-container:hover{border-color:var(--accent-cyan);background:#00f2fe0d}.email-text{font-size:1.125rem;font-weight:500;color:var(--text-primary)}.copy-button{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.email-container:hover .copy-button{color:var(--text-primary)}
