:root{--color-bg-dark:#0a0a0a;--color-bg-medium:#1a1a2e;--color-surface:rgba(30,30,30,0.6);--color-primary:#BB86FC;--color-secondary:#82A9FF;--color-accent:#03DAC6;--color-text-primary:#E8E8E8;--color-text-secondary:#B0B0B0;--color-text-muted:#888;--space-xs:0.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 2px 8px rgba(0,0,0,0.1);--shadow-md:0 4px 16px rgba(0,0,0,0.2);--shadow-lg:0 8px 32px rgba(0,0,0,0.3);--shadow-glow:0 0 30px rgba(187,134,252,0.4);--transition-fast:0.2s cubic-bezier(0.4,0,0.2,1);--transition-base:0.3s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.4s cubic-bezier(0.4,0,0.2,1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body,html{overflow-x:hidden}body{background:linear-gradient(135deg,var(--color-bg-dark) 0,var(--color-bg-medium) 100%);color:var(--color-text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;min-height:100vh;position:relative}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 30%,rgba(187,134,252,.15) 0,transparent 50%),radial-gradient(circle at 80% 70%,rgba(130,169,255,.15) 0,transparent 50%),radial-gradient(circle at 40% 80%,rgba(3,218,198,.1) 0,transparent 40%);pointer-events:none;z-index:0;animation:backgroundShift 20s ease infinite}@keyframes backgroundShift{0%,to{opacity:1}50%{opacity:.7}}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{font-weight:700;letter-spacing:-.5px;line-height:1.2}h1{font-size:clamp(2.5rem,5vw,5rem);background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 50%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% auto;animation:gradientShift 8s ease infinite}@keyframes gradientShift{0%,to{background-position:0}50%{background-position:100%}}h2{font-size:clamp(2rem,4vw,3.5rem);color:var(--color-primary);position:relative;display:inline-block}h2:after{content:"";position:absolute;bottom:-10px;left:0;width:60px;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-full);animation:expandWidth 1s ease forwards}@keyframes expandWidth{0%{width:0}to{width:60px}}h3{font-size:clamp(1.25rem,2.5vw,1.875rem);color:var(--color-text-primary)}.scroll-reveal{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.4,0,.2,1)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.nav{position:fixed;z-index:1000;background:rgba(10,10,10,.8);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(187,134,252,.1);transition:all var(--transition-base)}.nav,.nav:before{top:0;left:0;right:0}.nav:before{content:"";position:absolute;height:1px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);opacity:0;transition:opacity var(--transition-base)}.nav:hover:before{opacity:.5}.nav-container{max-width:1200px;margin:0 auto;padding:1.25rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-brand{font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;cursor:pointer;transition:transform var(--transition-base)}.nav-brand:hover{transform:scale(1.05)}.nav-brand:after{content:"See my resume";position:absolute;bottom:-18px;left:50%;transform:translateX(-50%) translateY(-10px);font-size:.75rem;font-weight:500;color:var(--color-text-secondary);-webkit-text-fill-color:var(--color-text-secondary);opacity:0;transition:all var(--transition-base);white-space:nowrap;pointer-events:none;letter-spacing:.5px;text-transform:uppercase}.nav-brand:hover:after{opacity:1;transform:translateX(-50%) translateY(0)}.nav-links{gap:.5rem;list-style:none;align-items:center}.nav-links,.nav-links li{display:flex}.nav-links a{font-size:1rem;font-weight:500;padding:.75rem 1.25rem;border-radius:var(--radius-md);transition:all var(--transition-base);position:relative;overflow:hidden;color:var(--color-text-primary);text-decoration:none;display:inline-block}.nav-links a:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(187,134,252,.2),transparent);transition:left .5s ease;pointer-events:none}.nav-links a:hover:before{left:100%}.nav-links a:after{display:none!important}.nav-links a:hover{background:rgba(187,134,252,.1);transform:translateY(-2px);color:var(--color-primary)}.nav-links a.active{background:rgba(187,134,252,.2);color:var(--color-secondary)}.hamburger-menu{display:none;flex-direction:column;justify-content:center;align-items:center;width:48px;height:48px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001;position:relative;border-radius:var(--radius-sm);transition:background var(--transition-base)}.hamburger-menu:hover{background:rgba(187,134,252,.1)}.hamburger-line{width:24px;height:2px;background:var(--color-text-primary);border-radius:2px;transition:all var(--transition-base);position:absolute}.hamburger-line:first-child{transform:translateY(-7px)}.hamburger-line:nth-child(2){transform:translateY(0)}.hamburger-line:nth-child(3){transform:translateY(7px)}.hamburger-line.open:first-child{transform:translateY(0) rotate(45deg)}.hamburger-line.open:nth-child(2){opacity:0;transform:translateX(-20px)}.hamburger-line.open:nth-child(3){transform:translateY(0) rotate(-45deg)}.mobile-menu{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(10,10,10,.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all var(--transition-slow);z-index:999;padding-top:80px}.mobile-menu.open{opacity:1;visibility:visible}.mobile-menu-links{list-style:none;display:flex;flex-direction:column;gap:1rem;align-items:center;width:100%;max-width:400px;padding:2rem}.mobile-menu-links li{width:100%;transform:translateY(20px);opacity:0;transition:all var(--transition-base)}.mobile-menu.open .mobile-menu-links li{transform:translateY(0);opacity:1}.mobile-menu.open .mobile-menu-links li:first-child{transition-delay:.1s}.mobile-menu.open .mobile-menu-links li:nth-child(2){transition-delay:.2s}.mobile-menu.open .mobile-menu-links li:nth-child(3){transition-delay:.3s}.mobile-menu.open .mobile-menu-links li:nth-child(4){transition-delay:.4s}.mobile-menu-links a{display:block;width:100%;text-align:center;font-size:1.5rem;font-weight:600;padding:1rem 2rem;color:#FFFFFF;text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-base);position:relative;min-height:48px;display:flex;align-items:center;justify-content:center;opacity:1;z-index:1}.mobile-menu-links a:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(187,134,252,.1),rgba(130,169,255,.1));opacity:0;transition:opacity var(--transition-base);border-radius:var(--radius-md);z-index:-1}.mobile-menu-links a:hover:before{opacity:1}.mobile-menu-links a:after{display:none!important}.mobile-menu-links a:hover{color:var(--color-primary);transform:scale(1.05)}.mobile-menu-links a.active{background:rgba(187,134,252,.2);color:var(--color-secondary)}.hero{min-height:90vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(187,134,252,.2) 0,transparent 70%);border-radius:50%;animation:pulse 4s ease-in-out infinite;pointer-events:none}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.5}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.8}}.hero-content{max-width:900px;position:relative;z-index:1}.hero-subtitle{font-size:clamp(1.1rem,2vw,1.5rem);color:var(--color-text-secondary);margin:2rem auto 3rem;line-height:1.8;max-width:700px}.bento-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:1.5rem;gap:1.5rem;margin:3rem 0;position:relative}@media (min-width:768px){.bento-grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:150px}.bento-large{grid-column:span 12;grid-row:span 2}.bento-medium{grid-column:span 6;grid-row:span 2}.bento-small{grid-column:span 4;grid-row:span 1}}.bento-item{background:rgba(30,30,30,.5);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(187,134,252,.15);border-radius:var(--radius-lg);padding:2rem;position:relative;overflow:hidden;cursor:pointer;transition:all var(--transition-slow);animation:fadeInUp .8s ease forwards;opacity:0}.bento-item:hover{transform:translateY(-8px) scale(1.02);border-color:rgba(187,134,252,.4);box-shadow:0 20px 60px rgba(187,134,252,.3)}.bento-content{position:relative;z-index:2;display:flex;flex-direction:column;height:100%}.bento-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.bento-title{font-size:1.25rem;margin:0;line-height:1.3}.bento-title a{color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-base)}.bento-title a:hover{color:var(--color-primary)}.bento-title a:after{display:none}.upcoming-badge{padding:.25rem .75rem;background:rgba(3,218,198,.2);border:1px solid var(--color-accent);border-radius:var(--radius-full);font-size:.75rem;color:var(--color-accent);font-weight:600;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}.bento-description{color:var(--color-text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:1.5rem;flex-grow:1}.bento-skills{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.bento-skill-tag{padding:.4rem .875rem;background:rgba(187,134,252,.1);border:1px solid rgba(187,134,252,.3);border-radius:var(--radius-full);font-size:.8rem;color:var(--color-primary);font-weight:500;transition:all var(--transition-base);white-space:nowrap}.bento-skill-tag:hover{background:rgba(187,134,252,.2);transform:scale(1.05)}.bento-skill-more{background:rgba(130,169,255,.15);border-color:var(--color-secondary);color:var(--color-secondary)}.bento-footer{margin-top:auto;padding-top:1rem}.bento-link{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--color-primary);text-decoration:none;transition:all var(--transition-base)}.bento-link:after{display:none!important}.bento-link:hover{gap:.75rem;color:var(--color-secondary)}.bento-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(187,134,252,.1) 0,transparent 70%);opacity:0;transition:opacity var(--transition-slow);pointer-events:none}.bento-item:hover .bento-glow{opacity:1}.bento-gradient{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(187,134,252,.05),rgba(130,169,255,.05));opacity:0;transition:opacity var(--transition-slow);pointer-events:none}.bento-item:hover .bento-gradient{opacity:1}.quote-section{max-width:900px;margin:1rem auto 4rem;padding:0 2rem}.belief-quote{position:relative;padding:2.5rem 2.5rem 2.5rem 3rem;background:rgba(30,30,30,.4);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);margin:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.belief-quote:hover{transform:translateX(10px);border-left-width:6px;box-shadow:var(--shadow-lg)}.belief-quote p{font-size:clamp(1.1rem,2.5vw,1.4rem);line-height:1.8;color:var(--color-text-primary);font-style:italic;font-weight:400;margin:0;text-align:left}.belief-quote:before{content:'"';position:absolute;top:-10px;left:15px;font-size:4rem;color:var(--color-primary);opacity:.3;font-family:Georgia,serif}.cta-section{text-align:center;margin:4rem auto 2rem;max-width:700px;padding:3rem 2rem;background:rgba(30,30,30,.3);border-radius:var(--radius-lg);border:1px solid rgba(187,134,252,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{opacity:.5}50%{opacity:1}}.cta-text{font-size:clamp(1rem,2vw,1.2rem);color:var(--color-text-secondary);line-height:1.8;font-weight:400}.footer{background:rgba(10,10,10,.9);border-top:1px solid rgba(187,134,252,.1);padding:3rem 0 2rem;margin-top:auto;position:relative}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);opacity:.5}.footer-content{max-width:1200px;margin:0 auto;padding:0 2rem;text-align:center}.social-links{gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.social-link,.social-links{display:flex;justify-content:center}.social-link{width:50px;height:50px;border-radius:var(--radius-md);background:rgba(30,30,30,.8);align-items:center;transition:all var(--transition-base);border:1px solid rgba(187,134,252,.2);position:relative;overflow:hidden}.social-link:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0;background:rgba(187,134,252,.3);border-radius:50%;transition:all .5s ease}.social-link:hover:before{width:100px;height:100px}.social-link:after{display:none}.social-link:hover{background:rgba(187,134,252,.2);border-color:var(--color-primary);transform:translateY(-5px) scale(1.05);box-shadow:0 10px 30px rgba(187,134,252,.3)}.footer-text{color:var(--color-text-muted);font-size:.875rem}.container{max-width:1200px;margin:0 auto;padding:0 2rem;position:relative;z-index:1}.page-wrapper{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1 1;padding:6rem 0 4rem}a{color:var(--color-primary);text-decoration:none;transition:all var(--transition-base);position:relative}a:hover{color:var(--color-secondary)}a:after{content:"";position:absolute;width:0;height:2px;bottom:-2px;left:0;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));transition:width var(--transition-base)}a:hover:after{width:100%}.card{background:rgba(30,30,30,.6);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(187,134,252,.15);border-radius:var(--radius-lg);padding:2rem;transition:all var(--transition-slow);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(187,134,252,.05),rgba(130,169,255,.05));opacity:0;transition:opacity var(--transition-slow);pointer-events:none}.card:hover{transform:translateY(-8px);border-color:rgba(187,134,252,.4);box-shadow:0 20px 60px rgba(187,134,252,.2)}.card:hover:before{opacity:1}.project-grid{display:flex;flex-direction:column;gap:1.5rem;margin:3rem 0}.project-card-wrapper{display:flex;width:100%}.project-card-wrapper .card{display:flex;flex-direction:row;gap:2rem;height:auto;width:100%;align-items:flex-start}.card-content{display:flex;flex-direction:column;flex:1 1;min-width:0}.card-content h3{margin-bottom:.75rem}.card-content p{margin-bottom:1rem}.card-content .skills{margin-top:auto;padding-top:1rem}.skills{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.skill-tag{padding:.5rem 1rem;background:rgba(187,134,252,.1);border:1px solid rgba(187,134,252,.3);border-radius:var(--radius-full);font-size:.875rem;color:var(--color-primary);font-weight:500;transition:all var(--transition-base)}.skill-tag:hover{background:rgba(187,134,252,.2);border-color:var(--color-primary);transform:scale(1.05)}.timeline{position:relative;margin:3rem auto;padding-left:40px;max-width:900px}.timeline:before{content:"";position:absolute;left:15px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--color-primary) 0,var(--color-secondary) 100%);border-radius:5px}.timeline-item{position:relative;margin-bottom:3rem;padding-left:30px}.timeline-item:before{content:"";position:absolute;left:-33px;background:var(--color-primary);border-radius:50%;width:12px;height:12px;top:5px;box-shadow:0 0 15px rgba(187,134,252,.8),0 0 25px rgba(187,134,252,.6);animation:spark 2s infinite alternate}@keyframes spark{0%{transform:scale(1);box-shadow:0 0 15px rgba(187,134,252,.8),0 0 25px rgba(187,134,252,.6)}to{transform:scale(1.2);box-shadow:0 0 20px rgba(187,134,252,1),0 0 30px rgba(187,134,252,.8)}}.timeline-item h3{font-size:1.4em;margin-bottom:1rem}.timeline-item p{font-size:1.05em;color:var(--color-text-secondary);line-height:1.7}.intro{margin-bottom:2rem}.intro p{font-size:1.1em;color:var(--color-text-secondary)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .6s ease-out forwards}@keyframes glow{0%,to{box-shadow:0 0 20px rgba(187,134,252,.3)}50%{box-shadow:0 0 40px rgba(187,134,252,.6)}}.instagram-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem;margin:3rem 0}.instagram-video{aspect-ratio:9/16;border-radius:var(--radius-lg);overflow:hidden;background:rgba(30,30,30,.6);border:1px solid rgba(187,134,252,.15)}.instagram-video iframe{width:100%;height:100%;border:none}.project-card-wrapper{position:relative}.video-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all var(--transition-slow);border-radius:var(--radius-lg);z-index:10}.project-card-wrapper:hover .video-overlay{opacity:1;visibility:visible}.video-overlay video{max-width:100%;max-height:100%;border-radius:var(--radius-md)}@media (max-width:1024px){.container{padding:0 1.5rem}.project-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.bento-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (max-width:768px){.nav-links-desktop{display:none}.hamburger-menu{display:flex}.nav-container{padding:1rem 1.5rem;flex-wrap:nowrap}.nav-brand{font-size:1.3rem}.main-content{padding:5rem 0 3rem}.container{padding:0 1rem}.bento-grid{grid-template-columns:1fr;gap:1.25rem}.bento-item{min-height:250px}.project-card-wrapper .card{flex-direction:column;gap:1rem}h1{font-size:clamp(2rem,8vw,3.5rem)}h2{font-size:clamp(1.75rem,6vw,2.5rem)}.hero{min-height:70vh;padding:1rem}.hero-subtitle{font-size:clamp(1rem,3vw,1.3rem)}}@media (max-width:480px){.nav-container{padding:.75rem 1rem;gap:.5rem}.nav-brand{font-size:1.1rem}.nav-links{gap:.5rem;justify-content:center;width:100%}.nav-links a{font-size:.85rem;padding:.35rem .6rem}.social-links{gap:1rem}.social-link{width:48px;height:48px}.container{padding:0 .75rem}.main-content{padding:4.5rem 0 2.5rem}.hero{min-height:60vh;padding:1rem .5rem}h1{font-size:clamp(1.75rem,10vw,2.5rem)}h2{font-size:clamp(1.5rem,8vw,2rem)}h3{font-size:clamp(1.1rem,5vw,1.4rem)}.hero-subtitle{font-size:clamp(.95rem,4vw,1.1rem);margin:1.5rem 0 2rem}.bento-item,.card{padding:1.25rem}.bento-item{min-height:200px}.bento-skill-tag,.skill-tag{font-size:.75rem;padding:.35rem .75rem}.footer{padding:2rem 0 1.5rem}.footer-text{font-size:.8rem}div,p{word-wrap:break-word;overflow-wrap:break-word}}@media (max-width:360px){.nav-links a{font-size:.75rem;padding:.3rem .5rem}.nav-brand{font-size:1rem}.social-link{width:44px;height:44px}.bento-skill-tag,.skill-tag{font-size:.7rem;padding:.3rem .65rem}}