@font-face{font-family:Teko;src:url(/assets/Teko-Light-B4Zo36sk.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Teko;src:url(/assets/Teko-Regular-BDk4ab2U.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Teko;src:url(/assets/Teko-Medium-D8KtDmQP.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Teko;src:url(/assets/Teko-SemiBold-BlG2EUP8.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Teko;src:url(/assets/Teko-Bold-CSxKt53_.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Gafata;src:url(/assets/Gafata-Regular-Dbl4FA8c.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--color-bg-primary: #0f1419;--color-bg-secondary: #151c24;--color-bg-tertiary: #1a232d;--color-bg-elevated: #1f2937;--color-text-primary: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-accent: #3b82f6;--color-accent-dim: #2563eb;--color-accent-glow: rgba(59, 130, 246, .35);--color-accent-subtle: rgba(59, 130, 246, .12);--color-secondary: #60a5fa;--color-secondary-glow: rgba(96, 165, 250, .3);--glass-bg: rgba(21, 28, 36, .6);--glass-bg-hover: rgba(26, 35, 45, .75);--glass-bg-solid: rgba(21, 28, 36, .85);--glass-border: rgba(59, 130, 246, .15);--glass-border-hover: rgba(59, 130, 246, .4);--font-display: "Teko", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Gafata", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--font-size-7xl: 4.5rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--max-width: 1200px;--container-padding: var(--spacing-6);--border-radius: .75rem;--border-radius-lg: 1rem;--border-radius-xl: 1.5rem;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--glow-accent: 0 4px 25px var(--color-accent-glow);--glow-accent-sm: 0 2px 15px var(--color-accent-glow);--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1);--color-warm: #fbbf24;--color-warm-glow: rgba(251, 191, 36, .3);--color-warm-subtle: rgba(251, 191, 36, .1);--gradient-hero: linear-gradient(135deg, var(--color-accent) 0%, var(--color-secondary) 50%, #93c5fd 100%);--gradient-text: linear-gradient(135deg, #f1f5f9 0%, var(--color-accent) 40%, var(--color-secondary) 80%, #93c5fd 100%)}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes floatReverse{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(20px) rotate(-5deg)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px var(--color-accent-glow),0 0 40px #3b82f633}50%{box-shadow:0 0 30px var(--color-accent-glow),0 0 60px #3b82f64d}}@keyframes subtleRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes scrollBounce{0%,20%,50%,80%,to{transform:translateY(0) translate(-50%)}40%{transform:translateY(-10px) translate(-50%)}60%{transform:translateY(-5px) translate(-50%)}}.animate-fade-up{animation:fadeUp .8s ease forwards;opacity:0}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}.animate-delay-5{animation-delay:.5s}.animate-delay-6{animation-delay:.6s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none;transition:all var(--transition-base)}button{font-family:inherit;cursor:pointer;border:none;background:none}ul,ol{list-style:none}::selection{background-color:var(--color-accent);color:#fff}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.1;color:var(--color-text-primary);letter-spacing:-.02em}h1{font-size:var(--font-size-4xl);font-weight:700}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}@media(min-width:768px){h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-4xl)}}@media(min-width:1024px){h1{font-size:var(--font-size-6xl)}}p{color:var(--color-text-secondary);max-width:65ch}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--container-padding)}.section{padding:var(--spacing-16) 0}@media(min-width:768px){.section{padding:var(--spacing-24) 0}}.section-title{text-align:center;margin-bottom:var(--spacing-12);position:relative}.section-title h2{margin-bottom:var(--spacing-4);background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}.section-title h2:after{content:"";display:block;width:60px;height:3px;background:linear-gradient(90deg,var(--color-accent),var(--color-secondary));margin:var(--spacing-4) auto 0;border-radius:2px}.section-title p{margin:0 auto;font-size:var(--font-size-lg);color:var(--color-text-muted);max-width:500px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-8);font-family:var(--font-display);font-size:var(--font-size-base);font-weight:500;letter-spacing:.02em;border-radius:var(--border-radius);transition:all var(--transition-bounce);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-dim) 100%);color:var(--color-bg-primary);box-shadow:var(--glow-accent-sm)}.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:var(--glow-accent),0 10px 30px #2563eb4d}.btn-primary:active{transform:translateY(-1px) scale(1)}.btn-secondary{background-color:transparent;color:var(--color-text-primary);border:2px solid var(--glass-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle);box-shadow:var(--glow-accent-sm);transform:translateY(-3px)}.btn-secondary:active{transform:translateY(-1px)}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;background-color:#0f1419d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border)}.navbar-container{display:flex;align-items:center;justify-content:space-between;height:72px}.navbar-logo{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em}.navbar-logo:hover{color:var(--color-accent)}.navbar-links{display:none;gap:var(--spacing-8)}@media(min-width:768px){.navbar-links{display:flex}}.navbar-links a{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);position:relative;padding:var(--spacing-2) 0}.navbar-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-accent);box-shadow:var(--glow-accent-sm);transition:width var(--transition-base)}.navbar-links a:hover{color:var(--color-text-primary)}.navbar-links a:hover:after{width:100%}.navbar-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--color-text-primary);transition:color var(--transition-fast)}.navbar-toggle:hover{color:var(--color-accent)}@media(min-width:768px){.navbar-toggle{display:none}}.navbar-toggle .menu-icon{width:24px;height:24px}.mobile-menu{position:absolute;top:72px;left:0;right:0;background-color:#0f1419f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);padding:var(--spacing-4) 0;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--transition-base)}.mobile-menu.active{opacity:1;visibility:visible;transform:translateY(0)}@media(min-width:768px){.mobile-menu{display:none!important}}.mobile-menu a{display:block;padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-base);font-weight:500;color:var(--color-text-secondary)}.mobile-menu a:hover{color:var(--color-accent);background-color:var(--glass-bg)}.hero{min-height:100vh;display:flex;align-items:center;padding-top:72px;background:transparent;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(59,130,246,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.05) 1px,transparent 1px);background-size:80px 80px;pointer-events:none}.hero-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0}.hero-orb-1{width:300px;height:300px;top:-100px;right:-50px;background:radial-gradient(circle,rgba(59,130,246,.2) 0%,transparent 70%);animation:float 8s ease-in-out infinite}.hero-orb-2{width:200px;height:200px;bottom:10%;left:-50px;background:radial-gradient(circle,rgba(96,165,250,.15) 0%,transparent 70%);animation:floatReverse 10s ease-in-out infinite}.hero-orb-3{width:150px;height:150px;top:30%;right:10%;background:radial-gradient(circle,rgba(251,191,36,.12) 0%,transparent 70%);animation:float 12s ease-in-out infinite;animation-delay:-3s}.hero-line{position:absolute;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);height:1px;pointer-events:none;opacity:.3;z-index:0}.hero-line-1{width:200px;top:25%;left:5%;transform:rotate(-15deg);animation:fadeIn 2s ease forwards;animation-delay:1s;opacity:0}.hero-line-2{width:150px;bottom:30%;right:8%;transform:rotate(20deg);animation:fadeIn 2s ease forwards;animation-delay:1.3s;opacity:0}.hero-content{text-align:center;max-width:800px;margin:0 auto;position:relative;z-index:1}.hero-image-wrapper{position:relative;width:180px;height:180px;margin:0 auto var(--spacing-8)}.hero-image-ring{position:absolute;inset:-8px;border-radius:50%;border:2px dashed rgba(37,99,235,.3);animation:subtleRotate 30s linear infinite}.hero-image-ring-inner{position:absolute;inset:-4px;border-radius:50%;background:linear-gradient(135deg,var(--color-accent),var(--color-secondary),var(--color-warm));opacity:.2;animation:pulseGlow 4s ease-in-out infinite}.hero-image{width:100%;height:100%;border-radius:50%;overflow:hidden;border:3px solid var(--color-accent);box-shadow:var(--glow-accent);transition:all var(--transition-base);position:relative;z-index:1}.hero-image:hover{transform:scale(1.05);box-shadow:0 0 40px var(--color-accent-glow),0 0 80px #3b82f64d}.hero-image img{width:100%;height:100%;object-fit:cover}@media(min-width:768px){.hero-image-wrapper{width:200px;height:200px}}.hero-subtitle{display:inline-block;font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:500;color:var(--color-accent);text-transform:uppercase;letter-spacing:.2em;margin-bottom:var(--spacing-4);padding:var(--spacing-2) var(--spacing-5);background:var(--color-accent-subtle);border:1px solid rgba(37,99,235,.2);border-radius:var(--border-radius);position:relative}.hero-subtitle:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--color-accent);border-radius:2px}.hero h1{margin-bottom:var(--spacing-6);background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:var(--font-size-5xl)}@media(min-width:768px){.hero h1{font-size:var(--font-size-6xl)}}@media(min-width:1024px){.hero h1{font-size:var(--font-size-7xl)}}.hero-tagline{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-10);line-height:1.8;max-width:600px;margin-left:auto;margin-right:auto}@media(min-width:768px){.hero-tagline{font-size:var(--font-size-xl)}}.hero-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-4);justify-content:center}.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);animation:scrollBounce 2s ease-in-out infinite;cursor:pointer;opacity:.6;transition:opacity var(--transition-base)}.scroll-indicator:hover{opacity:1}.scroll-indicator span{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.scroll-indicator-arrow{width:24px;height:24px;border-right:2px solid var(--color-accent);border-bottom:2px solid var(--color-accent);transform:rotate(45deg)}.about{background-color:transparent;position:relative;overflow:hidden}.about:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--glass-border),transparent)}.about:after{content:"";position:absolute;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.1) 0%,transparent 70%);top:-150px;right:-100px;pointer-events:none;animation:float 15s ease-in-out infinite}.about-content{display:grid;gap:var(--spacing-12);align-items:start;position:relative;z-index:1}@media(min-width:768px){.about-content{grid-template-columns:1.1fr .9fr;gap:var(--spacing-10)}}.about-text{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--spacing-8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;transition:all var(--transition-base)}.about-text:before{content:"";position:absolute;left:0;top:var(--spacing-6);bottom:var(--spacing-6);width:4px;background:linear-gradient(to bottom,var(--color-accent),var(--color-secondary));border-radius:2px}.about-text:hover{border-color:var(--glass-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.about-text h3{margin-bottom:var(--spacing-4);color:var(--color-accent);font-size:var(--font-size-xl)}.about-text p{font-size:var(--font-size-base);line-height:1.9;color:var(--color-text-secondary)}.about-skills{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--spacing-8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.skills-title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-6);color:var(--color-text-primary)}.skills-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.skill-badge{display:inline-flex;align-items:center;padding:var(--spacing-2) var(--spacing-5);background-color:var(--color-bg-tertiary);border:1px solid var(--glass-border);border-radius:var(--border-radius-xl);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);transition:all var(--transition-bounce);position:relative}.skill-badge:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle);box-shadow:var(--glow-accent-sm);transform:translateY(-3px) scale(1.02)}.experience{background-color:transparent;position:relative}.experience:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--glass-border),transparent)}.experience-content{display:flex;flex-direction:column;gap:var(--spacing-12)}.experience-section{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--spacing-8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.experience-heading{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:2px solid var(--color-accent);display:inline-block}.timeline{position:relative;padding-left:var(--spacing-8)}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--color-accent),var(--color-secondary),var(--glass-border))}.timeline-item{position:relative;padding-bottom:var(--spacing-8)}.timeline-item:last-child{padding-bottom:0}.timeline-marker{position:absolute;left:calc(-1 * var(--spacing-8) - 5px);top:0;width:12px;height:12px;background-color:var(--color-accent);border-radius:50%;border:3px solid var(--color-bg-secondary);box-shadow:var(--glow-accent-sm);transition:all var(--transition-base)}.timeline-item:hover .timeline-marker{transform:scale(1.4);box-shadow:0 0 15px var(--color-accent-glow),0 0 30px #3b82f64d}.timeline-content{background:var(--color-bg-secondary);padding:var(--spacing-6);border-radius:var(--border-radius-lg);border:1px solid var(--glass-border);transition:all var(--transition-bounce)}.timeline-content:hover{border-color:var(--glass-border-hover);box-shadow:var(--shadow-md);transform:translate(4px)}.timeline-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-2)}.timeline-header h4{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0}.timeline-badge{display:inline-block;padding:var(--spacing-1) var(--spacing-3);background:var(--color-accent-subtle);color:var(--color-accent);font-size:var(--font-size-xs);font-weight:600;border-radius:var(--border-radius);text-transform:uppercase;letter-spacing:.05em;border:1px solid rgba(0,212,255,.2)}.timeline-company{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--spacing-1)}.timeline-period{display:inline-block;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-4)}.timeline-highlights{list-style:none;padding-left:0}.timeline-highlights li{position:relative;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--spacing-2);padding-left:var(--spacing-5)}.timeline-highlights li:before{content:"▸";position:absolute;left:0;color:var(--color-accent)}.timeline-highlights li:last-child{margin-bottom:0}.education-grid{display:grid;gap:var(--spacing-6)}@media(min-width:768px){.education-grid{grid-template-columns:repeat(2,1fr)}}.education-card{background:var(--color-bg-secondary);padding:var(--spacing-6);border-radius:var(--border-radius);border:1px solid var(--glass-border);transition:all var(--transition-base)}.education-card:hover{border-color:var(--glass-border-hover);transform:translateY(-2px);box-shadow:var(--glow-accent-sm)}.education-card h4{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-2)}.education-school{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--spacing-1)}.education-location{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-3)}.education-year{display:inline-block;padding:var(--spacing-1) var(--spacing-3);background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-dim) 100%);color:var(--color-bg-primary);font-size:var(--font-size-xs);font-weight:600;border-radius:var(--border-radius)}.certificates-grid{display:grid;gap:var(--spacing-4)}@media(min-width:640px){.certificates-grid{grid-template-columns:repeat(2,1fr)}}.certificate-card{display:flex;align-items:flex-start;gap:var(--spacing-4);padding:var(--spacing-4);background:var(--color-bg-secondary);border-radius:var(--border-radius);border:1px solid var(--glass-border);transition:all var(--transition-base)}.certificate-card:hover{border-color:var(--glass-border-hover);background:var(--glass-bg-hover)}.certificate-icon{font-size:var(--font-size-2xl);flex-shrink:0}.certificate-info h4{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-1)}.certificate-info p{font-size:var(--font-size-xs);color:var(--color-text-muted)}.projects{background-color:transparent;position:relative}.projects:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--glass-border),transparent)}.projects-grid{display:grid;gap:var(--spacing-6)}@media(min-width:640px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}.project-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);overflow:hidden;transition:all var(--transition-bounce);position:relative}.project-card:before{content:attr(data-project-num);position:absolute;top:var(--spacing-4);left:var(--spacing-4);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#0f1419e6;border:1px solid var(--glass-border);border-radius:50%;font-family:var(--font-display);font-size:var(--font-size-sm);font-weight:600;color:var(--color-accent);z-index:3;opacity:0;transform:scale(.8);transition:all var(--transition-bounce)}.project-card:hover:before{opacity:1;transform:scale(1)}.project-card:hover{transform:translateY(-8px);border-color:var(--glass-border-hover);box-shadow:var(--glow-accent-sm),0 20px 40px #0f172a26}.project-image{aspect-ratio:16 / 10;background:linear-gradient(135deg,var(--color-bg-tertiary) 0%,var(--color-bg-elevated) 100%);display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--glass-border);position:relative}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,opacity var(--transition-base)}.project-card:hover .project-image img{transform:scale(1.08)}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;background:#0f1419d9;border:1px solid var(--glass-border);border-radius:50%;color:var(--color-text-primary);font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all var(--transition-base);z-index:2}.project-card:hover .carousel-btn{opacity:1}.carousel-btn:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:var(--glow-accent-sm)}.carousel-prev{left:8px}.carousel-next{right:8px}.carousel-dots{position:absolute;bottom:8px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:2}.carousel-dot{width:8px;height:8px;border-radius:50%;background:#f1f5f94d;border:none;cursor:pointer;transition:all var(--transition-base);padding:0}.carousel-dot:hover{background:#f1f5f999}.carousel-dot.active{background:var(--color-accent);box-shadow:var(--glow-accent-sm)}.project-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.project-placeholder svg{width:48px;height:48px;color:var(--color-text-muted);opacity:.5}.project-content{padding:var(--spacing-6)}.project-content h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-2);color:var(--color-text-primary)}.project-content p{font-size:var(--font-size-sm);margin-bottom:var(--spacing-4);line-height:1.7;color:var(--color-text-secondary)}.project-tech{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.project-tech span{font-size:var(--font-size-xs);padding:var(--spacing-1) var(--spacing-3);background:var(--color-accent-subtle);color:var(--color-accent);border-radius:var(--border-radius);font-weight:500;border:1px solid rgba(0,212,255,.2)}.project-links{display:flex;gap:var(--spacing-4)}.project-links a{display:inline-flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted)}.project-links a:hover{color:var(--color-accent)}.project-links svg{width:16px;height:16px}.contact{background-color:transparent;position:relative}.contact:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--glass-border),transparent)}.contact-content{max-width:600px;margin:0 auto;text-align:center}.contact-email{display:inline-flex;align-items:center;gap:var(--spacing-3);font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-8);padding:var(--spacing-4) var(--spacing-6);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);transition:all var(--transition-base)}.contact-email:hover{border-color:var(--color-accent);color:var(--color-accent);box-shadow:var(--glow-accent-sm)}.contact-email svg{width:24px;height:24px}.contact-social{display:flex;justify-content:center;gap:var(--spacing-4);margin-bottom:var(--spacing-12)}.social-link{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--color-text-secondary);transition:all var(--transition-base)}.social-link:hover{border-color:var(--color-accent);color:var(--color-accent);box-shadow:var(--glow-accent);transform:translateY(-3px)}.social-link svg{width:22px;height:22px}.contact-form{margin-top:var(--spacing-8);text-align:left;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--spacing-8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-group{margin-bottom:var(--spacing-5)}.form-group label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--spacing-2)}.form-group input,.form-group textarea{width:100%;padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-base);font-family:inherit;color:var(--color-text-primary);background-color:var(--color-bg-tertiary);border:1px solid var(--glass-border);border-radius:var(--border-radius);transition:all var(--transition-base)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--glow-accent-sm)}.form-group textarea{min-height:140px;resize:vertical}.footer{background-color:#0f1419e6;border-top:1px solid var(--glass-border);padding:var(--spacing-8) 0}.footer-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-4);text-align:center}@media(min-width:768px){.footer-content{flex-direction:row;justify-content:space-between;text-align:left}}.footer-logo{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary)}.footer-text{font-size:var(--font-size-sm);color:var(--color-text-muted)}.footer-social{display:flex;gap:var(--spacing-4)}.footer-social a{color:var(--color-text-muted);transition:all var(--transition-base)}.footer-social a:hover{color:var(--color-accent)}.footer-social svg{width:20px;height:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.mx-auto{margin-left:auto;margin-right:auto}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0f1419}::-webkit-scrollbar-thumb{background:#374151;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#4b5563}
