.grainient-container{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.grainient-container canvas{width:100%!important;height:100%!important}.card-spotlight{border-radius:var(--border-radius-lg);border:1px solid var(--color-border-strong);background-color:var(--color-background-card);box-shadow:0 4px 20px var(--color-shadow);--mouse-x:50%;--mouse-y:50%;--spotlight-color:#4ecdc426;position:relative;overflow:hidden}.card-spotlight:before{content:"";background:radial-gradient(circle at var(--mouse-x) var(--mouse-y), var(--spotlight-color), transparent 80%);opacity:0;pointer-events:none;transition:opacity .5s;position:absolute;inset:0}.card-spotlight:hover:before,.card-spotlight:focus-within:before{opacity:.6}:root{--color-primary:#d9734e;--color-primary-dark:#c65d3b;--color-primary-light:#e8967a;--color-secondary:#4ecdc4;--color-secondary-dark:#3db5a8;--color-secondary-light:#7fe0d8;--color-accent:#f4d03f;--color-accent-dark:#d4a84b;--color-accent-light:#f9e79f;--color-background:#fff8f0;--color-background-alt:#fff0e0;--color-background-card:#fff;--color-text-primary:#2d3436;--color-text-secondary:#636e72;--color-text-muted:#b2bec3;--color-border:#2d343614;--color-border-strong:#2d343626;--color-shadow:#2d34360a;--color-shadow-strong:#2d343614;--font-display:"Playfair Display", Georgia, serif;--font-body:"Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--max-width:1200px;--border-radius-sm:8px;--border-radius-md:12px;--border-radius-lg:20px;--border-radius-xl:30px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--z-canvas:1;--z-content:10;--z-header:1000;--z-toggle:1001;--z-skip-link:9999}body.dark-mode{--color-primary:#e07a5f;--color-primary-dark:#c65d3b;--color-primary-light:#f2956e;--color-secondary:#3dbcb0;--color-secondary-dark:#2a9d8f;--color-secondary-light:#5dd5c8;--color-accent:#e9c46a;--color-accent-dark:#d4a574;--color-accent-light:#f4d03f;--color-background:#2c241f;--color-background-alt:#3a2f28;--color-background-card:#4a3d35;--color-text-primary:#f5ede8;--color-text-secondary:#d4ccc5;--color-text-muted:#a89e95;--color-border:#f5ede81a;--color-border-strong:#f5ede833;--color-shadow:#0000004d;--color-shadow-strong:#00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--color-text-primary);background-color:var(--color-background);min-height:100vh;font-size:1rem;line-height:1.6;overflow-x:hidden}.skip-link{padding:var(--space-4) var(--space-6);background-color:var(--color-primary);color:#fff;border-radius:var(--border-radius-md);z-index:var(--z-skip-link);transition:top var(--transition-fast);font-weight:600;text-decoration:none;position:absolute;top:-100%;left:50%;transform:translate(-50%)}.skip-link:focus{top:var(--space-4)}.content-wrapper{z-index:var(--z-content);position:relative}header{padding:var(--space-3) 0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:var(--z-header);border-bottom:1px solid var(--color-border);background:#fdf8f3e6;position:fixed;top:0;left:0;right:0}body.dark-mode header{background:#2c241fe6}nav ul{justify-content:center;gap:var(--space-8);padding:0 var(--space-4);list-style:none;display:flex}nav a{color:var(--color-text-primary);letter-spacing:.5px;text-transform:uppercase;transition:color var(--transition-fast);padding:var(--space-2) 0;font-size:.875rem;font-weight:600;text-decoration:none;position:relative}nav a:after{content:"";background:var(--color-primary);width:0;height:2px;transition:width var(--transition-base);position:absolute;bottom:0;left:0}nav a:hover{color:var(--color-primary)}nav a:hover:after{width:100%}.floating-controls{top:calc(var(--space-16) + 10px);right:var(--space-4);gap:var(--space-3);z-index:var(--z-toggle);display:flex;position:fixed}.lang-toggle,.theme-toggle{background-color:var(--color-background-card);border:2px solid var(--color-border);cursor:pointer;width:48px;height:48px;transition:all var(--transition-base);box-shadow:0 4px 12px var(--color-shadow);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.lang-toggle{color:var(--color-text-primary);font-size:.875rem;font-weight:700}.lang-toggle:hover,.theme-toggle:hover,.lang-toggle.active,.theme-toggle.active{border-color:var(--color-primary);transform:scale(1.1)}.toggle-wrapper{position:relative}.toggle-bubble{top:calc(100% + var(--space-2));gap:var(--space-1);padding:var(--space-2);background:var(--color-background-card);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:0 8px 24px var(--color-shadow-strong);opacity:0;pointer-events:none;transition:all var(--transition-base);z-index:var(--z-toggle);flex-direction:column;min-width:120px;display:flex;position:absolute;right:0;transform:translateY(-10px)scale(.95)}.toggle-bubble.open{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.bubble-option{padding:var(--space-3) var(--space-4);border-radius:var(--border-radius-md);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);text-align:left;white-space:nowrap;background:0 0;border:none;font-size:.9rem;font-weight:600}.bubble-option:hover{background:var(--color-background-alt);color:var(--color-primary)}.bubble-option.active{background:var(--color-primary);color:#fff}main{max-width:var(--max-width);padding:0 var(--space-6);margin:0 auto}section{padding:var(--space-24) 0}.section-header{margin-bottom:var(--space-12);text-align:center}.section-header h2{font-family:var(--font-display);color:var(--color-text-primary);margin-bottom:var(--space-4);font-size:2.5rem;font-weight:700}.section-line{background:linear-gradient(90deg, var(--color-primary), var(--color-accent));border-radius:2px;width:60px;height:4px;margin:0 auto}#hero{min-height:100vh;padding-top:calc(var(--space-24) + 60px);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-content{text-align:center;z-index:2;max-width:800px}.hero-text-block{padding:var(--space-10) var(--space-12);-webkit-backdrop-filter:blur(12px)brightness(.95);backdrop-filter:blur(12px)brightness(.95);border-radius:var(--border-radius-lg);background:#fffaf5b8;border:1px solid #fff6;box-shadow:0 8px 32px #0000001a,0 2px 8px #0000000d}.dark-mode .hero-text-block{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:var(--color-border);background:#2c241fa6;box-shadow:0 8px 32px #0006,0 2px 8px #0003}.hero-title{margin-bottom:var(--space-6)}.name-wrapper{margin-bottom:var(--space-4);display:block}.name{font-family:var(--font-display);color:var(--color-text-primary);letter-spacing:-1px;padding:var(--space-2) var(--space-5);font-size:4rem;font-weight:700;line-height:1.2;display:inline-block}.tagline{color:var(--color-primary);margin-bottom:var(--space-6);letter-spacing:1px;font-size:1.5rem;font-weight:600}.hero-description{color:var(--color-text-secondary);max-width:600px;margin:0 auto var(--space-10);font-size:1.125rem;line-height:1.8}.hero-actions{gap:var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}.hero-social{gap:var(--space-4);margin-top:var(--space-6);justify-content:center;display:flex}.social-link{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:40px;height:40px;color:var(--color-text-primary);border:1px solid var(--color-border);transition:all var(--transition-base);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;display:flex}.social-link:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary);transform:translateY(-2px)}.dark-mode .social-link{background:#0003}.scroll-indicator{color:var(--color-text-muted);opacity:.6;cursor:pointer;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid var(--color-border);background:#fdf8f380;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .3s;animation:3s ease-in-out infinite gentle-bounce;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-indicator svg{width:20px;height:20px;margin-top:2px;display:block}.scroll-indicator:hover{opacity:1;color:var(--color-primary)}.dark-mode .scroll-indicator{border-color:var(--color-border);background:#2c241f80}@keyframes gentle-bounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-8px)}}.btn{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);border-radius:var(--border-radius-xl);transition:all var(--transition-base);cursor:pointer;border:2px solid #0000;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff;box-shadow:0 4px 15px #e8967a4d}.btn-primary:hover{background-color:var(--color-primary-dark);transform:translateY(-2px)}.btn-secondary{color:var(--color-primary);border-color:var(--color-primary);background-color:#0000}.btn-secondary:hover{background-color:var(--color-primary);color:#fff}.btn-outline{color:var(--color-text-primary);border-color:var(--color-border-strong);background-color:#0000}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.hero-visual{z-index:1;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0}.organic-shape{opacity:.18;filter:blur(80px);border-radius:60% 40% 30% 70%/60% 30% 70% 40%;position:absolute}.shape-1{background:var(--color-primary);width:80vw;min-width:600px;max-width:900px;height:80vw;min-height:600px;max-height:900px;animation:20s ease-in-out infinite float;top:-25%;right:-20%}.shape-2{background:var(--color-secondary);width:70vw;min-width:500px;max-width:800px;height:70vw;min-height:500px;max-height:800px;animation:25s ease-in-out infinite reverse float;bottom:-30%;left:-25%}.shape-3{background:var(--color-accent);width:60vw;min-width:400px;max-width:700px;height:60vw;min-height:400px;max-height:700px;animation:18s ease-in-out -5s infinite float;top:40%;left:60%;transform:translate(-50%,-50%)}@keyframes float{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(20px,-30px)rotate(5deg)}50%{transform:translate(-10px,20px)rotate(-3deg)}75%{transform:translate(30px,10px)rotate(2deg)}}.about-content{gap:var(--space-12);grid-template-columns:1fr;display:grid}@media (width>=768px){.about-content{grid-template-columns:2fr 1fr}}.about-text p{color:var(--color-text-secondary);margin-bottom:var(--space-6);font-size:1.125rem;line-height:1.8}.about-stats{gap:var(--space-6);padding:var(--space-8);background-color:var(--color-background-card);border-radius:var(--border-radius-lg);box-shadow:0 4px 20px var(--color-shadow);grid-template-columns:repeat(3,1fr);display:grid}.stat{text-align:center}.stat-number{font-family:var(--font-display);color:var(--color-primary);margin-bottom:var(--space-2);font-size:2rem;font-weight:700;line-height:1;display:block}.stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.875rem}.experience-timeline{gap:var(--space-10);flex-direction:column;display:flex}.experience-item{border-left:4px solid var(--color-primary);padding:var(--space-8)!important}.experience-header{margin-bottom:var(--space-6)}.experience-header h3{font-family:var(--font-display);color:var(--color-text-primary);margin-bottom:var(--space-2);font-size:1.5rem}.experience-header .company{color:var(--color-primary);margin-bottom:var(--space-1);font-size:1.125rem;font-weight:600;display:block}.experience-header .date{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.875rem;display:block}.experience-details{margin-bottom:var(--space-6);list-style:none}.experience-details li{padding-left:var(--space-6);margin-bottom:var(--space-3);color:var(--color-text-secondary);line-height:1.8;position:relative}.experience-details li:before{content:"→";color:var(--color-secondary);font-weight:700;position:absolute;left:0}.experience-tech{color:var(--color-text-muted);padding-top:var(--space-4);border-top:1px solid var(--color-border);font-size:.875rem}.experience-tech strong{color:var(--color-text-primary);font-weight:600}.education-list{gap:var(--space-8);flex-direction:column;max-width:800px;margin:0 auto;display:flex}.education-item{padding:var(--space-8)!important}.education-item h3{font-family:var(--font-display);color:var(--color-text-primary);margin-bottom:var(--space-2);font-size:1.5rem}.education-item .institution{color:var(--color-secondary);margin-bottom:var(--space-1);font-size:1.125rem;font-weight:600;display:block}.education-item .date{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-4);font-size:.875rem;display:block}.education-details{list-style:none}.education-details li{padding-left:var(--space-5);margin-bottom:var(--space-2);color:var(--color-text-secondary);position:relative}.education-details li:before{content:"•";color:var(--color-primary);position:absolute;left:0}.projects-grid{gap:var(--space-8);margin-bottom:var(--space-12);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.project-card{transition:transform var(--transition-base);flex-direction:column;display:flex;position:relative;overflow:hidden}.project-card:hover{transform:translateY(-8px)}.project-card.featured{border:2px solid var(--color-primary)}.project-badge{top:var(--space-4);right:var(--space-4);background-color:var(--color-primary);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--border-radius-sm);text-transform:uppercase;letter-spacing:.5px;z-index:2;font-size:.75rem;font-weight:600;position:absolute}.project-image{background:linear-gradient(135deg, var(--color-background-alt), var(--color-background));justify-content:center;align-items:center;height:180px;display:flex}.project-icon{filter:grayscale(.3);transition:transform var(--transition-base);font-size:4rem}.project-card:hover .project-icon{transform:scale(1.1)}.project-content{padding:var(--space-6);flex-direction:column;flex-grow:1;display:flex}.project-content h3{font-family:var(--font-display);color:var(--color-text-primary);margin-bottom:var(--space-3);font-size:1.25rem;font-weight:700}.project-description{color:var(--color-text-secondary);margin-bottom:var(--space-4);flex-grow:1;font-size:1rem;line-height:1.8}.project-tech{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.tech-tag{background-color:var(--color-background-alt);color:var(--color-text-secondary);padding:var(--space-1) var(--space-3);border-radius:var(--border-radius-sm);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600}.project-link{align-items:center;gap:var(--space-2);color:var(--color-primary);transition:gap var(--transition-fast);font-weight:600;text-decoration:none;display:inline-flex}.project-link:hover{gap:var(--space-3);text-decoration:underline}.more-projects{text-align:center}.skills-container{gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.skill-category{padding:var(--space-8)!important}.skill-category h3{font-family:var(--font-display);color:var(--color-primary);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--color-border);font-size:1.25rem}.skills-list{gap:var(--space-3);grid-template-columns:repeat(2,1fr);list-style:none;display:grid}.skills-list li{padding-left:var(--space-6);color:var(--color-text-secondary);font-weight:600;position:relative}.skills-list li:before{content:"•";color:var(--color-primary);font-weight:700;position:absolute;left:0}.interests-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-width:900px;margin:0 auto;display:grid}.interest-item{align-items:center;gap:var(--space-3);padding:var(--space-6);background-color:var(--color-background-card);border-radius:var(--border-radius-lg);box-shadow:0 4px 20px var(--color-shadow);text-align:center;transition:transform var(--transition-base);flex-direction:column;display:flex}.interest-item:hover{transform:translateY(-4px)}.interest-icon{font-size:2.5rem;line-height:1}.interest-item span:last-child{color:var(--color-text-secondary);font-weight:600}.contact-intro{color:var(--color-text-secondary);text-align:center;max-width:600px;margin:0 auto var(--space-12);font-size:1.125rem;line-height:1.8}.contact-methods{justify-content:center;gap:var(--space-8);flex-wrap:wrap;display:flex}.contact-card{align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-10);background-color:var(--color-background-card);border-radius:var(--border-radius-lg);box-shadow:0 4px 20px var(--color-shadow);color:var(--color-text-primary);transition:transform var(--transition-base), box-shadow var(--transition-base);flex-direction:column;min-width:240px;text-decoration:none;display:flex}.contact-card:hover{box-shadow:0 8px 30px var(--color-shadow-strong);transform:translateY(-4px)}.contact-icon{font-size:2.5rem}.contact-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.875rem}.contact-value{font-family:var(--font-display);color:var(--color-primary);font-size:1.125rem;font-weight:600}footer{background-color:var(--color-background-alt);padding:var(--space-12) 0;margin-top:var(--space-16);border-top:1px solid var(--color-border)}.footer-content{text-align:center;max-width:var(--max-width);padding:0 var(--space-6);margin:0 auto}footer p{color:var(--color-text-muted);font-size:1rem}.footer-tagline{margin-top:var(--space-3);font-style:italic}@media (width<=768px){header{padding:var(--space-2) 0}nav ul{gap:var(--space-3);padding:0 var(--space-2);-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-left:var(--space-4);padding-right:var(--space-4);justify-content:flex-start;overflow-x:auto}nav ul::-webkit-scrollbar{display:none}nav a{white-space:nowrap;font-size:.75rem}.floating-controls{top:auto;bottom:var(--space-4);right:var(--space-4)}.toggle-bubble{top:auto;bottom:calc(100% + var(--space-2));right:0}.lang-toggle,.theme-toggle{width:44px;height:44px}#hero{padding:calc(var(--space-20) + 60px) var(--space-4) var(--space-12)}.hero-text-block{padding:var(--space-6) var(--space-4);margin:0 var(--space-2)}.name{font-size:2.5rem}.tagline{font-size:1.125rem}.hero-description{font-size:1rem}.about-stats{gap:var(--space-4);grid-template-columns:1fr}.projects-grid,.skills-list{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
