:root{--bg-primary-hsl:0, 0%, 98%;--bg-secondary-hsl:0, 0%, 100%;--bg-glass-hsl:0, 0%, 100%;--text-primary-hsl:240, 10%, 4%;--text-secondary-hsl:240, 5%, 35%;--text-muted-hsl:240, 4%, 60%;--accent-hsl:12, 90%, 55%;--accent-light-hsl:12, 90%, 65%;--border-color-hsl:240, 5.9%, 90%;--border-glass-hsl:240, 5.9%, 93%;--bg-primary:hsl(var(--bg-primary-hsl));--bg-secondary:hsl(var(--bg-secondary-hsl));--bg-glass:hsla(var(--bg-glass-hsl), .85);--text-primary:hsl(var(--text-primary-hsl));--text-secondary:hsl(var(--text-secondary-hsl));--text-muted:hsl(var(--text-muted-hsl));--accent:hsl(var(--accent-hsl));--accent-light:hsl(var(--accent-light-hsl));--accent-glow:hsla(var(--accent-hsl), .1);--border-color:hsl(var(--border-color-hsl));--border-glass:hsl(var(--border-glass-hsl));--shadow-color-rgb:0, 0, 0;--shadow-sm:0 1px 2px 0 rgba(var(--shadow-color-rgb), .05);--shadow-md:0 4px 6px -1px rgba(var(--shadow-color-rgb), .03), 0 2px 4px -1px rgba(var(--shadow-color-rgb), .02);--shadow-lg:0 10px 15px -3px rgba(var(--shadow-color-rgb), .03), 0 4px 6px -2px rgba(var(--shadow-color-rgb), .02);--shadow-glow:0 0 20px hsla(var(--accent-hsl), .2);--font-heading:"Outfit", "Inter", system-ui, -apple-system, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.563rem;--text-2xl:1.953rem;--text-3xl:2.441rem;--text-4xl:3.052rem;--text-5xl:3.815rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--lh-tight:1.15;--lh-snug:1.3;--lh-normal:1.5;--lh-relaxed:1.625;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1536px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--backdrop-blur:blur(12px);--transition-fast:.15s ease;--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1)}@media (prefers-color-scheme:dark){:root:not(.light){--bg-primary-hsl:240, 10%, 4%;--bg-secondary-hsl:240, 5.9%, 10%;--bg-glass-hsl:240, 5.9%, 10%;--text-primary-hsl:0, 0%, 98%;--text-secondary-hsl:240, 5%, 70%;--text-muted-hsl:240, 4%, 50%;--border-color-hsl:240, 5.9%, 20%;--border-glass-hsl:240, 5.9%, 25%;--bg-primary:hsl(var(--bg-primary-hsl));--bg-secondary:hsl(var(--bg-secondary-hsl));--bg-glass:hsla(var(--bg-glass-hsl), .85);--text-primary:hsl(var(--text-primary-hsl));--text-secondary:hsl(var(--text-secondary-hsl));--text-muted:hsl(var(--text-muted-hsl));--accent-glow:hsla(var(--accent-hsl), .2);--border-color:hsl(var(--border-color-hsl));--border-glass:hsl(var(--border-glass-hsl));--shadow-sm:0 1px 2px 0 rgba(var(--shadow-color-rgb), .3);--shadow-md:0 4px 6px -1px rgba(var(--shadow-color-rgb), .4), 0 2px 4px -1px rgba(var(--shadow-color-rgb), .2);--shadow-lg:0 10px 15px -3px rgba(var(--shadow-color-rgb), .5), 0 4px 6px -2px rgba(var(--shadow-color-rgb), .3);--shadow-glow:0 0 25px hsla(var(--accent-hsl), .3)}}:root.dark{--bg-primary-hsl:240, 10%, 4%;--bg-secondary-hsl:240, 5.9%, 10%;--bg-glass-hsl:240, 5.9%, 10%;--text-primary-hsl:0, 0%, 98%;--text-secondary-hsl:240, 5%, 70%;--text-muted-hsl:240, 4%, 50%;--border-color-hsl:240, 5.9%, 20%;--border-glass-hsl:240, 5.9%, 25%;--bg-primary:hsl(var(--bg-primary-hsl));--bg-secondary:hsl(var(--bg-secondary-hsl));--bg-glass:hsla(var(--bg-glass-hsl), .85);--text-primary:hsl(var(--text-primary-hsl));--text-secondary:hsl(var(--text-secondary-hsl));--text-muted:hsl(var(--text-muted-hsl));--accent-glow:hsla(var(--accent-hsl), .2);--border-color:hsl(var(--border-color-hsl));--border-glass:hsl(var(--border-glass-hsl));--shadow-sm:0 1px 2px 0 rgba(var(--shadow-color-rgb), .3);--shadow-md:0 4px 6px -1px rgba(var(--shadow-color-rgb), .4), 0 2px 4px -1px rgba(var(--shadow-color-rgb), .2);--shadow-lg:0 10px 15px -3px rgba(var(--shadow-color-rgb), .5), 0 4px 6px -2px rgba(var(--shadow-color-rgb), .3);--shadow-glow:0 0 25px hsla(var(--accent-hsl), .3)}:root.light{--bg-primary-hsl:0, 0%, 98%;--bg-secondary-hsl:0, 0%, 100%;--bg-glass-hsl:0, 0%, 100%;--text-primary-hsl:240, 10%, 4%;--text-secondary-hsl:240, 5%, 35%;--text-muted-hsl:240, 4%, 60%;--border-color-hsl:240, 5.9%, 90%;--border-glass-hsl:240, 5.9%, 93%;--bg-primary:hsl(var(--bg-primary-hsl));--bg-secondary:hsl(var(--bg-secondary-hsl));--bg-glass:hsla(var(--bg-glass-hsl), .85);--text-primary:hsl(var(--text-primary-hsl));--text-secondary:hsl(var(--text-secondary-hsl));--text-muted:hsl(var(--text-muted-hsl));--accent-glow:hsla(var(--accent-hsl), .1);--border-color:hsl(var(--border-color-hsl));--border-glass:hsl(var(--border-glass-hsl));--shadow-sm:0 1px 2px 0 rgba(var(--shadow-color-rgb), .05);--shadow-md:0 4px 6px -1px rgba(var(--shadow-color-rgb), .03), 0 2px 4px -1px rgba(var(--shadow-color-rgb), .02);--shadow-lg:0 10px 15px -3px rgba(var(--shadow-color-rgb), .03), 0 4px 6px -2px rgba(var(--shadow-color-rgb), .02);--shadow-glow:0 0 20px hsla(var(--accent-hsl), .2)}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;border:2px solid #0000;display:inline-flex}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-light));color:var(--bg-secondary);box-shadow:var(--shadow-md)}.btn-primary:hover{box-shadow:var(--shadow-lg), var(--shadow-glow);transform:translateY(-2px)}.btn-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{background-color:var(--border-color);transform:translateY(-2px)}.btn-outline{color:var(--accent);border-color:var(--accent);background-color:#0000}.btn-outline:hover{background-color:var(--accent-glow);transform:translateY(-2px)}.btn-ghost{color:var(--text-secondary);background-color:#0000}.btn-ghost:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-8);transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal)}.card:not(.project-card):hover{border-color:var(--accent-light);box-shadow:var(--shadow-lg);transform:translateY(-5px)}.card-title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-3)}.theme-toggle{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;width:42px;height:42px;transition:color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{color:var(--accent);border-color:var(--accent);background-color:var(--bg-secondary)}.project-card-link{color:inherit;cursor:pointer;height:100%;text-decoration:none;display:block}.project-card-link--disabled{cursor:default;pointer-events:none}.project-card{border-radius:var(--radius-lg);height:100%;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);flex-direction:column;padding:0;display:flex;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-lg), var(--shadow-glow);border-color:var(--accent-light);transform:translateY(-6px)}.project-card-image-wrapper{background-color:var(--border-color);width:100%;height:180px;position:relative;overflow:hidden}.project-card-image{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.project-card:hover .project-card-image{transform:scale(1.05)}.project-card-image-placeholder{background:linear-gradient(135deg, var(--bg-secondary), var(--border-color));justify-content:center;align-items:center;width:100%;height:180px;font-size:2.5rem;display:flex}.project-card-content{padding:var(--space-6);flex-direction:column;flex-grow:1;display:flex}.project-card-title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.project-card-description{font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--lh-normal);color:var(--text-secondary);margin-bottom:var(--space-4);flex-grow:1}.project-card-tags{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.project-tag{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--accent);background-color:var(--accent-glow);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1px solid hsla(var(--accent-hsl), .15)}.project-card-actions{gap:var(--space-3);margin-top:auto;display:flex}.project-card-btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);flex:1}.timeline{max-width:800px;padding:var(--space-8) 0;margin:0 auto;position:relative}.timeline-item{gap:var(--space-6);display:flex;position:relative}.timeline-marker{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.timeline-marker-dot{border-radius:var(--radius-full);background-color:var(--bg-secondary);border:3px solid var(--accent);z-index:2;width:16px;height:16px;transition:transform var(--transition-fast), background-color var(--transition-fast)}.timeline-item:hover .timeline-marker-dot{background-color:var(--accent);transform:scale(1.2)}.timeline-marker-line{background-color:var(--border-color);width:2px;margin:var(--space-1) 0;flex-grow:1}.timeline-item:last-child .timeline-marker-line{display:none}.timeline-content-wrapper{padding-bottom:var(--space-8);flex-grow:1}.timeline-year{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--accent);margin-bottom:var(--space-1);background-color:var(--accent-glow);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);display:inline-block}.timeline-title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-1)}.timeline-company{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--space-3)}.timeline-description{font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--lh-normal);color:var(--text-secondary);margin-bottom:var(--space-4)}.timeline-tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.timeline-tag{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);background-color:var(--bg-secondary);border:1px solid var(--border-color);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);line-height:var(--lh-relaxed);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal), color var(--transition-normal);overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-weight-bold);line-height:var(--lh-tight);color:var(--text-primary);letter-spacing:-.025em}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}code{font-family:var(--font-mono);background-color:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-color);padding:.2em .4em;font-size:.875em}.container{width:100%;max-width:var(--container-xl);padding-left:var(--space-6);padding-right:var(--space-6);margin-left:auto;margin-right:auto}@media (width<=480px){.container{padding-left:var(--space-4);padding-right:var(--space-4)}}.glass-panel{background-color:var(--bg-glass);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--border-glass)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}.animate-slide-up{animation:slideUp var(--transition-slow) forwards}.glow-effect{position:relative}.glow-effect:after{content:"";border-radius:inherit;box-shadow:var(--shadow-glow);opacity:0;transition:opacity var(--transition-normal);z-index:-1;position:absolute;inset:0}.glow-effect:hover:after{opacity:1}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.main-content{padding-top:var(--space-20);flex-direction:column;flex-grow:1;display:flex}.navbar{height:var(--space-20);z-index:100;transition:background-color var(--transition-normal), border-color var(--transition-normal), height var(--transition-normal), box-shadow var(--transition-normal), backdrop-filter var(--transition-normal);background-color:#0000;border-bottom:1px solid #0000;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.navbar-scrolled{height:var(--space-16);background-color:var(--bg-glass);-webkit-backdrop-filter:var(--backdrop-blur);box-shadow:var(--shadow-md);border-bottom:1px solid var(--border-glass)}.navbar-container{justify-content:space-between;align-items:center;width:100%;display:flex}.nav-logo{font-family:var(--font-heading);font-weight:var(--font-weight-extrabold);font-size:var(--text-xl);background:linear-gradient(135deg, var(--accent), var(--accent-light));-webkit-text-fill-color:transparent;align-items:center;gap:var(--space-2);-webkit-background-clip:text;display:flex}.nav-toggle{cursor:pointer;z-index:110;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:24px;height:18px;padding:0;display:none}.hamburger-line{background-color:var(--text-primary);border-radius:var(--radius-full);width:100%;height:2px;transition:transform var(--transition-normal), opacity var(--transition-normal)}.nav-toggle-active .hamburger-line:first-child{transform:translateY(8px)rotate(45deg)}.nav-toggle-active .hamburger-line:nth-child(2){opacity:0}.nav-toggle-active .hamburger-line:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.nav-menu{align-items:center;display:flex}.nav-links{gap:var(--space-8);align-items:center;list-style:none;display:flex}.nav-link{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);padding:var(--space-1) 0;position:relative}.nav-link:hover{color:var(--text-primary)}.nav-link:after{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-light));width:0;height:2px;transition:width var(--transition-normal);position:absolute;bottom:0;left:0}.nav-link:hover:after{width:100%}@media (width<=767px){.nav-toggle{display:flex}.nav-backdrop{z-index:104;animation:fadeIn var(--transition-normal) forwards;background-color:#00000080;position:fixed;inset:0}.nav-menu{background-color:var(--bg-secondary);border-left:1px solid var(--border-color);width:80%;max-width:300px;height:100vh;padding:var(--space-24) var(--space-8) var(--space-8);transition:right var(--transition-normal);z-index:105;box-shadow:var(--shadow-lg);flex-direction:column;justify-content:flex-start;align-items:flex-start;position:fixed;top:0;right:-100%}.nav-menu-open{right:0}.nav-links{align-items:flex-start;gap:var(--space-6);flex-direction:column;width:100%}.theme-toggle-container{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-color);justify-content:flex-start;width:100%;display:flex}}.hero-section{padding:var(--space-24) 0;min-height:calc(100vh - var(--space-20));background:radial-gradient(circle at 80% 20%, var(--accent-glow) 0%, transparent 40%);align-items:center;display:flex}@media (width<=480px){.hero-section{padding:var(--space-12) 0;min-height:unset}}.hero-grid{gap:var(--space-16);grid-template-columns:1.2fr .8fr;align-items:center;display:grid}@media (width<=968px){.hero-grid{gap:var(--space-12);text-align:center;grid-template-columns:1fr}}.hero-subtitle{text-transform:uppercase;letter-spacing:.15em;font-size:var(--text-sm);color:var(--accent);margin-bottom:var(--space-4);font-weight:600}.hero-title{font-size:var(--text-5xl);line-height:var(--lh-tight);margin-bottom:var(--space-6)}@media (width<=768px){.hero-title{font-size:var(--text-3xl)}}@media (width<=480px){.hero-title{font-size:var(--text-2xl)}}.hero-title span{background:linear-gradient(135deg, var(--accent), var(--accent-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero-description{font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:var(--space-12);max-width:600px}@media (width<=968px){.hero-description{margin-left:auto;margin-right:auto}}.hero-cta{gap:var(--space-4);display:flex}@media (width<=968px){.hero-cta{justify-content:center}}@media (width<=480px){.hero-cta{flex-direction:column;width:100%}.hero-cta .btn{justify-content:center;width:100%}}.hero-visual{justify-content:center;align-items:center;display:flex;position:relative}.hero-blob{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);filter:blur(8px);opacity:.8;z-index:1;border-radius:60% 40% 30% 70%/60% 30% 70% 40%;width:320px;height:320px;animation:8s ease-in-out infinite alternate blob-morph;position:absolute}@media (width<=480px){.hero-blob{width:220px;height:220px}}.hero-image-container{border:4px solid var(--bg-primary);width:280px;height:280px;box-shadow:var(--shadow-lg);z-index:2;background:var(--bg-secondary);border-radius:50%;overflow:hidden}@media (width<=480px){.hero-image-container{width:200px;height:200px}}.hero-image{object-fit:cover;width:100%;height:100%}.hero-image-placeholder{background:linear-gradient(45deg, var(--bg-secondary), var(--border-color));justify-content:center;align-items:center;width:100%;height:100%;font-size:3rem;display:flex}@keyframes blob-morph{0%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}}.footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);padding:var(--space-12) 0;text-align:center}.footer-content{align-items:center;gap:var(--space-6);flex-direction:column;display:flex}.footer-logo{font-family:var(--font-heading);font-weight:var(--font-weight-bold);font-size:var(--text-lg);color:var(--text-primary)}.footer-socials{gap:var(--space-6);list-style:none;display:flex}.social-link{border-radius:var(--radius-full);background-color:var(--bg-primary);border:1px solid var(--border-color);width:40px;height:40px;color:var(--text-secondary);transition:transform var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;display:flex}.social-link:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-3px)}.footer-copy{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-muted)}.section-padding{padding:var(--space-20) 0}@media (width<=768px){.section-padding{padding:var(--space-12) 0}}@media (width<=480px){.section-padding{padding:var(--space-8) 0}}.section-title{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-4);letter-spacing:-.025em}@media (width<=480px){.section-title{font-size:var(--text-2xl)}}.section-subtitle{font-family:var(--font-body);color:var(--text-secondary);font-size:var(--text-base);max-width:600px;margin-left:auto;margin-right:auto;margin-bottom:var(--space-12)}.text-center{text-align:center}.about-section{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.about-grid{gap:var(--space-12);grid-template-columns:1.2fr .8fr;align-items:center;display:grid}@media (width<=768px){.about-grid{gap:var(--space-8);grid-template-columns:1fr}}.about-text{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--lh-relaxed);color:var(--text-secondary);margin-bottom:var(--space-4)}.about-skills{margin-top:var(--space-6)}.skills-title{font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-3)}.skills-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.skill-badge{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--text-secondary);background-color:var(--bg-primary);border:1px solid var(--border-color);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);transition:color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast)}.skill-badge:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.about-illustration-container{justify-content:center;display:flex}.about-illustration-box{width:100%;max-width:320px;padding:var(--space-8);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-md);transition:transform var(--transition-normal)}.about-illustration-box:hover{transform:translateY(-4px)}.illustration-icon{margin-bottom:var(--space-4);font-size:3rem}.about-illustration-box h4{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--space-2)}.about-illustration-box p{font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--lh-normal);color:var(--text-secondary)}.projects-section{background-color:var(--bg-primary);border-bottom:1px solid var(--border-color)}.projects-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}@media (width<=480px){.projects-grid{grid-template-columns:1fr}}.experience-section{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.contact-section{background-color:var(--bg-primary)}.contact-card{max-width:600px;padding:var(--space-12) var(--space-8);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;margin:0 auto}.contact-description{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--lh-relaxed);color:var(--text-secondary);margin-bottom:var(--space-8)}.contact-actions{gap:var(--space-4);justify-content:center;display:flex}@media (width<=480px){.contact-actions{flex-direction:column}.contact-actions .btn{justify-content:center;width:100%}.contact-card{padding:var(--space-8) var(--space-4)}}
