:root{--bg-primary: #F0EEE9;--bg-secondary: #ffffff;--text-primary: #1a1a1a;--text-secondary: #666666;--text-muted: #999999;--border-color: #e5e5e5;--accent-color: #7c3aed;--glass-bg: rgba(240, 238, 233, .85);--glass-border: rgba(255, 255, 255, .5);--glass-shadow: rgba(0, 0, 0, .05);--card-bg: #ffffff;--card-border: rgba(0, 0, 0, .05);font-family:Hanken Grotesk,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;transition:background-color .3s ease,color .3s ease}html.dark{--bg-primary: #0f0f0f;--bg-secondary: #1a1a1a;--text-primary: #f0f0f0;--text-secondary: #a0a0a0;--text-muted: #666666;--border-color: #333333;--accent-color: #8b5cf6;--glass-bg: rgba(20, 20, 20, .85);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: rgba(0, 0, 0, .3);--card-bg: #1e1e1e;--card-border: rgba(255, 255, 255, .1);color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}button,input,optgroup,select,textarea{font-family:inherit}::selection{background-color:var(--accent-color);color:#fff}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--bg-primary)}a{font-weight:500;color:var(--text-secondary);text-decoration:underline;text-underline-offset:3px;transition:color .2s ease}a:hover{color:var(--accent-color)}.nav-container{display:flex;justify-content:center;align-items:center;padding:2rem 3rem;position:relative;z-index:1100}.bottom-nav{display:flex;justify-content:center;align-items:center;padding:2rem 3rem}.bottom-nav .more-about-link{font-size:1rem;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:color .3s ease;position:relative}.bottom-nav .more-about-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--accent-color);transition:width .3s ease}.bottom-nav .more-about-link:hover:after{width:100%}.bottom-nav .more-about-link:hover{color:var(--accent-color)}.hero-section{display:grid;grid-template-columns:1fr 1.2fr 1fr;min-height:calc(100vh - 180px);padding:1rem 0}.hero-column{display:flex;flex-direction:column;justify-content:space-between;padding:2rem 3rem;position:relative}.hero-column:not(:last-child):after{content:"";position:absolute;right:0;top:10%;height:80%;width:1px;background-color:var(--border-color)}.hello-text{font-size:clamp(2.5rem,5vw,4rem);font-weight:300;color:var(--text-primary);letter-spacing:-.02em}.more-about-link{margin-top:auto;padding-bottom:0}.phone-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;gap:2rem}.phone-container .more-about-link{margin-top:0;padding-bottom:0}.intro-section{display:flex;flex-direction:column;gap:1.5rem}.intro-header{display:flex;align-items:center;gap:1rem}.intro-title{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:300;color:var(--text-primary);letter-spacing:-.02em}.intro-title span{font-weight:500}.profile-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,#e9d5ff,#c4b5fd)}.intro-description{font-size:.95rem;line-height:1.7;color:var(--text-secondary);max-width:320px}.resume-link{margin-top:auto;padding-bottom:2rem}@media(max-width:1024px){.hero-section{grid-template-columns:1fr;gap:2rem}.hero-column{padding:1.5rem 2rem}.hero-column:after{display:none}.hero-column:not(:last-child){border-bottom:1px solid var(--border-color);padding-bottom:2rem}.phone-container{order:-1}.more-about-link,.resume-link{padding-bottom:0;margin-top:1.5rem}}@media(max-width:640px){.nav-container{padding:1.5rem}.hero-column{padding:1rem 1.5rem}.phone-mockup{max-width:260px}}@media(min-width:1024px){#root{height:100vh;display:flex;flex-direction:column}main{flex:1;display:flex;flex-direction:column;min-height:0}.nav-container{flex-shrink:0}.hero-section{flex:1;min-height:0;display:grid;align-items:stretch;padding:0}.hero-column{justify-content:center;padding:1rem 3rem}.bottom-nav{flex-shrink:0;padding:1rem}}.homepage{min-height:100vh;background-color:var(--bg-primary)}.page-footer{max-width:1200px;margin:0 auto;padding:3rem 2rem;text-align:center;border-top:1px solid var(--border-color);margin-top:4rem}.page-footer p{font-size:.875rem;color:var(--text-muted);margin:0}@media(min-width:1024px){.homepage{height:100%;min-height:0;display:flex;flex-direction:column}}.apple-devices-container{width:100%;max-width:650px;margin:0 auto;display:flex;align-items:center;justify-content:center;perspective:1000px}.apple-devices-svg{width:100%;height:auto}.device{transition:transform .15s ease-out}.device.imac{animation:floatImac 6s ease-in-out infinite}.device.iphone{animation:floatIphone 5s ease-in-out infinite;animation-delay:.5s}.device.apple-watch{animation:floatWatch 4s ease-in-out infinite;animation-delay:1s}@keyframes floatImac{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes floatIphone{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes floatWatch{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.code-line{opacity:0;animation:typeCode 3s ease-out infinite}.code-line.line-1{animation-delay:0s}.code-line.line-2{animation-delay:.15s}.code-line.line-3{animation-delay:.3s}.code-line.line-4{animation-delay:.45s}.code-line.line-5{animation-delay:.6s}.code-line.line-6{animation-delay:.75s}.code-line.line-7{animation-delay:.9s}.code-line.line-8{animation-delay:1.05s}.code-line.line-9{animation-delay:1.2s}@keyframes typeCode{0%{opacity:0;transform:translate(-10px)}20%{opacity:1;transform:translate(0)}80%{opacity:1;transform:translate(0)}to{opacity:.6;transform:translate(0)}}.app-card{animation:slideCard 4s ease-in-out infinite}.app-card.card-1{animation-delay:0s}.app-card.card-2{animation-delay:.3s}@keyframes slideCard{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.4;transform:scale(1.02)}}.ring{stroke-dasharray:75;stroke-dashoffset:75;animation:drawRing 2s ease-out forwards infinite;transform-origin:center}.ring.ring-1{animation-delay:.5s}.ring.ring-2{stroke-dasharray:44;stroke-dashoffset:44;animation-delay:.8s}@keyframes drawRing{0%{stroke-dashoffset:75}50%{stroke-dashoffset:15}to{stroke-dashoffset:75}}.sidebar-icon.active{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.tab-icon.active{animation:tabPulse 1.5s ease-in-out infinite}@keyframes tabPulse{0%,to{r:5}50%{r:6}}.watch-time{animation:blink 2s step-end infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.7}}.imac-screen,.iphone-screen,.watch-screen{filter:drop-shadow(0 0 15px rgba(124,58,237,.25))}.imac-chin{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}@media(max-width:768px){.apple-devices-container{max-width:450px}}@media(max-width:480px){.apple-devices-container{max-width:320px}}.intro-loader{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:2000}.intro-text-container{display:flex;flex-direction:column;align-items:center;gap:.5rem}.intro-hello{font-size:clamp(3rem,8vw,6rem);font-weight:300;color:var(--text-primary);letter-spacing:-.03em;opacity:0}.intro-name{font-size:clamp(2rem,5vw,3.5rem);font-weight:500;color:var(--text-primary);letter-spacing:-.02em;opacity:0;background:linear-gradient(135deg,var(--accent-color) 0%,#a78bfa 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tech-stack-container{margin-bottom:4rem;overflow:hidden;width:100%}.marquee-overflow-mask{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent)}.marquee-mover{display:flex;width:fit-content}.marquee-part{display:flex;flex-shrink:0;justify-content:space-around;gap:3rem;padding-right:3rem}.tech-icon-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:#ffffff80;border-radius:12px;border:1px solid var(--border-color);width:100px;height:100px;transition:all .3s ease}.tech-icon-item:hover{transform:translateY(-5px);background:#fff;box-shadow:0 8px 20px #0000000d;border-color:var(--accent-color)}.tech-icon-item img{width:48px;height:48px;object-fit:contain}.icon-label{font-size:.75rem;font-weight:500;color:var(--text-secondary)}.about-page{min-height:100vh;background-color:var(--bg-primary);position:relative;overflow-x:hidden}.link-arrow{font-size:1rem;transition:transform .3s ease}.about-content{max-width:900px;margin:0 auto;padding:3rem 2rem 1rem}.about-header{text-align:center;margin-bottom:4rem}.about-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:300;color:var(--text-primary);letter-spacing:-.03em;margin-bottom:1rem}.title-underline{width:60px;height:3px;background:linear-gradient(90deg,var(--accent-color),#a78bfa);margin:0 auto 2rem;border-radius:2px}.about-section{margin-bottom:4rem}.section-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:2rem;position:relative;display:inline-block}.section-title:after{content:"";position:absolute;bottom:-8px;left:0;width:40px;height:2px;background:var(--accent-color);border-radius:1px}.about-text-content{display:flex;flex-direction:column;gap:1.5rem;max-width:800px}.about-text-content p{font-size:1.125rem;line-height:1.8;color:var(--text-secondary)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.skill-card{background:var(--bg-secondary);padding:1.5rem;border-radius:12px;border:1px solid var(--border-color);transition:all .3s ease}.skill-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000014}.skill-icon-img{width:48px;height:48px;margin-bottom:1rem;object-fit:contain}.skill-name{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.skill-description{font-size:.9rem;color:var(--text-muted);margin-bottom:1rem}.skill-bar{height:6px;background:var(--border-color);border-radius:3px;overflow:hidden}.skill-progress{height:100%;background:linear-gradient(90deg,var(--accent-color),#a78bfa);border-radius:3px;transition:width 1s ease-out}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.service-card{background:var(--bg-secondary);padding:2rem;border-radius:16px;border:1px solid var(--border-color);text-align:center;transition:all .3s ease}.service-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px #0000001a;border-color:var(--accent-color)}.service-icon{font-size:3rem;margin-bottom:1rem}.service-card h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.service-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:0}.portfolio-cta{text-align:center;padding:4rem 2rem;margin-top:2rem;background:linear-gradient(135deg,#8a5cf614,#3b82f614);border-radius:24px;border:1px solid rgba(138,92,246,.15)}.cta-title{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.cta-description{font-size:1rem;color:var(--text-secondary);margin-bottom:2rem;max-width:400px;margin-left:auto;margin-right:auto}.portfolio-button{display:inline-flex;align-items:center;gap:.75rem;padding:.875rem 2rem;background:#1e1e1ecc;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);color:#fff;text-decoration:none;border-radius:99px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 24px -1px #7c3aed33,inset 0 1px #fff3,inset 0 0 20px #ffffff0d;font-weight:500;font-size:1rem;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden}.portfolio-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#ffffff1a,#fff0);opacity:0;transition:opacity .4s ease}.portfolio-button:hover{transform:translateY(-3px) scale(1.02);background:linear-gradient(135deg,var(--accent-color),#a78bfa);color:#fff;border-color:#ffffff4d;box-shadow:0 8px 32px -4px #7c3aed66,inset 0 1px #ffffff4d,inset 0 0 20px #ffffff1a}.portfolio-button:hover .link-arrow{transform:translate(5px)}.portfolio-button:hover:before{opacity:1}@media(max-width:768px){.about-nav{padding:1.5rem}.about-content{padding:2rem 1.5rem 4rem}}.portfolio-page{min-height:100vh;background-color:var(--bg-primary)}.portfolio-content{max-width:1200px;margin:0 auto;padding:2rem}.portfolio-header{margin-bottom:3rem}.section-label{font-size:.75rem;font-weight:600;letter-spacing:.15em;color:var(--text-muted);text-transform:uppercase}.case-studies{display:flex;flex-direction:column;gap:8rem;padding-bottom:4rem}.case-study-item{display:flex;flex-direction:column;gap:3rem}.case-study-header{display:flex;align-items:baseline;gap:2rem}.case-number{font-size:clamp(3rem,5vw,4rem);color:#00000026;font-weight:400;line-height:1}.case-title{font-size:clamp(2.5rem,4vw,3.5rem);font-weight:600;color:var(--text-primary);line-height:1.1;margin:0}.case-study-body{display:grid;grid-template-columns:minmax(280px,350px) 1fr;gap:5rem;align-items:start}.case-study-artwork{position:relative;border-radius:22.37%;overflow:hidden;background:var(--card-bg);aspect-ratio:1 / 1;width:100%;box-shadow:0 20px 40px var(--glass-shadow);display:flex;align-items:center;justify-content:center;border:1px solid var(--card-border)}.artwork-image{width:65%;height:auto;object-fit:contain;transition:transform .5s ease}.case-study-artwork:hover .artwork-image{transform:scale(1.05)}.case-study-details{display:flex;flex-direction:column;gap:1.5rem;padding-top:.5rem}.case-category-wrapper{margin-bottom:.25rem}.case-category{display:inline-block;padding:6px 14px;background-color:#0000000a;color:var(--text-secondary);font-size:.8rem;font-weight:500;border-radius:6px;letter-spacing:.02em}.case-tagline{font-size:1.5rem;line-height:1.3;font-weight:500;color:var(--text-primary);margin:0}.case-description{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin:0;max-width:600px}.case-responsibilities-box{border-left:3px solid rgba(0,0,0,.1);padding-left:1.5rem;margin:.5rem 0}.responsibilities-text{font-size:.9rem;color:var(--text-muted);line-height:1.5;margin:0}.case-actions{display:flex;gap:1rem;margin-top:1rem}.app-store-button{display:inline-flex;align-items:center;gap:.75rem;background:#1e1e1e99;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);color:#fff;padding:.875rem 1.75rem;border-radius:99px;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 24px -1px #0003,inset 0 1px #fff3,inset 0 0 20px #ffffff0d;font-weight:500;font-size:.95rem;text-decoration:none;transition:all .4s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden}.app-store-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#ffffff1a,#fff0);opacity:0;transition:opacity .4s ease}.app-store-button:hover{transform:translateY(-2px) scale(1.02);background:linear-gradient(135deg,var(--accent-color),#a78bfa);color:#fff;border-color:#ffffff4d;box-shadow:0 8px 32px -4px #7c3aed66,inset 0 1px #ffffff4d,inset 0 0 20px #ffffff1a}.app-store-button:hover:before{opacity:1}.apple-icon{width:20px;height:20px}.case-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--border-color) 20%,var(--border-color) 80%,transparent);margin-top:4rem;margin-bottom:0}@media(max-width:1024px){.case-study-header{grid-template-columns:1fr auto;gap:1.5rem}}@media(max-width:900px){.case-study-body{grid-template-columns:1fr;gap:3rem}.case-study-artwork{width:100%;max-width:400px;aspect-ratio:1/1}.case-study-header{flex-direction:column;align-items:flex-start;gap:.5rem}.case-number{font-size:3rem}}@media(max-width:768px){.portfolio-page{padding:1rem}.case-study-header{grid-template-columns:1fr;gap:1rem}.case-number{font-size:1.25rem}.case-studies{gap:4rem}}.not-found-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:80vh;text-align:center;padding:2rem;background-color:var(--bg-primary);color:var(--text-primary)}.not-found-code{font-size:clamp(6rem,20vw,12rem);font-weight:800;line-height:1;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-color) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1rem;opacity:.9;animation:float 6s ease-in-out infinite}.not-found-title{font-size:clamp(1.5rem,5vw,2.5rem);font-weight:300;margin-bottom:1rem;color:var(--text-primary)}.not-found-description{font-size:1.1rem;color:var(--text-secondary);margin-bottom:3rem;max-width:400px;line-height:1.6}.back-home-btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background-color:var(--text-primary);color:var(--bg-primary);text-decoration:none;border-radius:50px;font-weight:500;transition:transform .2s ease,box-shadow .2s ease}.back-home-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px -5px var(--glass-shadow);color:var(--bg-primary)}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}.hamburger-button{position:relative;z-index:1001;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:0;transition:transform .3s ease}.hamburger-button:hover{transform:scale(1.05)}.hamburger-button:focus{outline:none}.hamburger-button:focus-visible{outline:none}.hamburger-icon{width:28px;height:28px;color:var(--text-primary);transition:color .3s ease}.hamburger-button:hover .hamburger-icon{color:var(--accent-color)}.menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem}.menu-container{width:100%;max-width:1200px;height:100%;display:grid;grid-template-columns:1.5fr 1fr;gap:4rem;padding:4rem 2rem;position:relative;align-content:center}.menu-footer{position:absolute;bottom:2rem;left:0;right:0;display:flex;justify-content:center;width:100%}.theme-icon-button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;transition:all .3s ease}.theme-icon-button:hover{transform:scale(1.1);background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.menu-column{display:flex;flex-direction:column}.menu-left{gap:.5rem}.menu-link{display:flex;align-items:baseline;gap:1.5rem;padding:1rem 0;text-decoration:none;transition:all .3s ease;position:relative}.menu-link:hover{transform:translate(15px)}.menu-number{font-size:.9rem;font-weight:400;color:var(--text-muted);min-width:2.5rem;transition:color .3s ease}.menu-link:hover .menu-number{color:var(--accent-color)}.menu-label{font-size:clamp(2.5rem,5vw,4rem);font-weight:300;color:var(--text-primary);letter-spacing:-.03em;transition:all .3s ease;position:relative}.menu-link:hover .menu-label{color:var(--accent-color)}.hamburger-button.is-open .hamburger-icon{color:var(--text-primary)}.menu-label:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--accent-color),#a78bfa);transition:width .4s ease}.menu-link:hover .menu-label:after{width:100%}.menu-right{justify-content:center;gap:2rem;padding-left:2rem}.menu-profile-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;margin-bottom:0;background:linear-gradient(135deg,#e9d5ff,#c4b5fd)}.menu-description{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin-bottom:0rem;max-width:400px}.connect-title{font-size:.85rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em;margin:0}.social-links{display:flex;flex-direction:column;gap:1rem}.social-link{display:inline-flex;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:400;color:var(--text-secondary);text-decoration:none;transition:all .3s ease;padding:0}.social-link:hover{color:var(--accent-color);transform:translate(8px)}.social-icon{width:22px;height:22px;opacity:.8;transition:opacity .3s ease}.social-link:hover .social-icon{opacity:1}.author-name{font-size:1.5rem;font-weight:300;color:var(--text-muted);margin:0;margin-top:2rem;letter-spacing:-.02em}@media(max-width:900px){.menu-container{grid-template-columns:1fr;gap:3rem;padding:3rem 1rem}.menu-right{padding-left:0;border-left:none;border-top:1px solid rgba(255,255,255,.1);padding-top:2rem}}@media(max-width:640px){.menu-overlay{padding:0;align-items:flex-start;overflow-y:auto;-webkit-overflow-scrolling:touch}.menu-container{padding:6rem 1rem;gap:2rem;height:auto;min-height:100%;display:flex;flex-direction:column;justify-content:flex-start}.menu-link{gap:1rem;padding:.75rem 0}.menu-number{font-size:.8rem;min-width:2rem}.hamburger-button{width:44px;height:44px}.hamburger-icon{width:24px;height:24px}}
