@import"https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;700&family=Google+Sans+Text:wght@400;500;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-heading: "Google Sans", "Google Sans Text", sans-serif;--font-body: "Google Sans Text", "Google Sans", sans-serif;--font-mono: "JetBrains Mono", monospace;--bg-primary: #ffffff;--bg-surface: #f9fafb;--text-primary: #1a1a2e;--text-secondary: #6b7280;--accent: #64748B;--accent-muted: #64748b33;--border: #e5e7eb;--nav-height: 48px;--section-padding: clamp(80px, 12vw, 160px);--border-radius: 8px;--transition-fast: .15s ease;--transition-normal: .25s ease}*{box-sizing:border-box;margin:0;padding:0}.skip-link{position:absolute;top:-100%;left:1rem;padding:.5rem 1rem;background:var(--text-primary);color:var(--bg-primary);font-family:var(--font-mono);font-size:.8rem;z-index:10000;border-radius:4px;transition:top .2s ease}.skip-link:focus{top:.5rem}html{scroll-behavior:smooth;scrollbar-color:#e5e7eb var(--bg-primary);scrollbar-width:thin}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}section{scroll-margin-top:60px;padding:var(--section-padding) 0;position:relative;overflow:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}:is():hover{background:var(--accent)}a{color:var(--accent);text-decoration:none;transition:color var(--transition-normal)}a:hover{color:var(--text-primary)}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:500;color:var(--text-primary);margin-bottom:1.5rem;line-height:1.2;letter-spacing:-.01em;text-wrap:balance}h1{font-size:clamp(3rem,8vw,5.5rem)}h2{font-size:clamp(2rem,5vw,3rem)}h3{font-size:1.5rem}p{margin-bottom:1.25rem;color:var(--text-secondary);font-size:1rem;line-height:1.75}.container{max-width:1100px;margin:0 auto;padding:0 2rem;width:100%;position:relative;z-index:1}.nav-container{position:fixed;top:0;left:0;width:100%;height:var(--nav-height);background:var(--bg-primary);z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;border-bottom:1px solid var(--border)}.nav-progress{position:absolute;top:0;left:0;height:2px;background:var(--accent);transition:width .3s ease}.nav-logo{font-family:var(--font-mono);font-weight:500;font-size:.85rem;color:var(--text-primary);text-decoration:none;flex-shrink:0;cursor:pointer;transition:opacity var(--transition-normal)}.nav-logo:hover{opacity:.7}#nav{display:flex;gap:.25rem;list-style:none}#nav a{font-family:var(--font-mono);font-weight:500;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);padding:.5rem .85rem;transition:color var(--transition-normal),letter-spacing var(--transition-normal);cursor:pointer}#nav a:hover{color:var(--text-primary);letter-spacing:.15em}#nav a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#nav li.current a{color:var(--accent)}@media (max-width: 768px){#nav{position:fixed;top:var(--nav-height);right:0;width:220px;height:calc(100vh - var(--nav-height));background:var(--bg-primary);flex-direction:column;justify-content:flex-start;padding:1.5rem;gap:.25rem;border-left:1px solid var(--border);transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:999}#nav.mobile-open{transform:translate(0)}#nav li{width:100%}#nav a{font-size:.85rem;display:block;padding:.75rem 1rem}}.mobile-menu-btn{display:none;font-size:1.25rem;color:var(--text-primary);cursor:pointer;z-index:1002;padding:.5rem}.mobile-menu-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (max-width: 768px){.mobile-menu-btn{display:block;position:absolute;right:1.5rem}}.mobile-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:998;opacity:0;pointer-events:none;transition:opacity .3s ease}.mobile-backdrop.open{opacity:1;pointer-events:all}.hero-section{min-height:100vh;display:flex;align-items:center;padding-left:8%;padding-top:calc(var(--nav-height) + 24px);position:relative}@media (max-width: 768px){.hero-section{padding-left:1.5rem}}.hero-content{max-width:900px}.hero-name{font-family:var(--font-heading);font-weight:400;line-height:.9;margin-bottom:2rem}.hero-name-first,.hero-name-last{display:block;font-size:clamp(6rem,14vw,10rem);color:var(--text-primary)}@media (max-width: 768px){.hero-name-first,.hero-name-last{font-size:clamp(3.5rem,14vw,5rem)}}.hero-name-last{margin-left:15%;margin-top:-.1em}@media (max-width: 768px){.hero-name-last{margin-left:10%}}.hero-letter{display:inline-block}.hero-tagline{font-family:var(--font-mono);font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.15em;margin-bottom:1.5rem}.hero-accent-line{height:2px;background:var(--accent);margin-bottom:1.5rem}.hero-status{font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);opacity:.6;letter-spacing:.05em}.hero-3d-canvas{position:absolute;top:0;right:0;width:55%;height:100%;pointer-events:none}.hero-3d-canvas canvas{width:100%!important;height:100%!important}@media (max-width: 768px){.hero-3d-canvas{width:100%;opacity:.3}}.section-3d-bg{position:absolute;top:0;right:0;width:45%;height:100%;pointer-events:none;opacity:.6}.section-3d-bg canvas{width:100%!important;height:100%!important}.section-3d-bg--experience,.section-3d-bg--works{width:100%;left:0;right:0}.section-3d-bg--contact{width:50%;right:0;opacity:.4}@media (max-width: 768px){.section-3d-bg{width:100%;opacity:.15}}.about-wrapper{max-width:1200px;margin:0 auto;padding:0 2rem 0 8%;position:relative}@media (max-width: 768px){.about-wrapper{padding:0 1.5rem}}.about-watermark{font-family:var(--font-heading);font-size:clamp(4rem,8vw,7rem);color:#f0f1f3;opacity:1;position:absolute;top:-1rem;left:8%;margin-bottom:0;pointer-events:none;line-height:1}@media (max-width: 768px){.about-watermark{position:relative;top:auto;left:auto;margin-bottom:2rem}}.about-layout{display:grid;grid-template-columns:3fr 2fr;gap:4rem;align-items:start;padding-top:4rem}@media (max-width: 768px){.about-layout{grid-template-columns:1fr;gap:2.5rem;padding-top:0}}.about-quote{border-left:2px solid var(--accent);padding-left:2rem}@media (max-width: 768px){.about-quote{padding-left:1.25rem}}.about-quote-inner p{font-family:var(--font-heading);font-style:normal;font-weight:500;font-size:clamp(1.5rem,3vw,2.25rem);color:var(--text-primary);line-height:1.45;margin-bottom:1.5rem}.about-quote-inner p:last-child{margin-bottom:0}.about-details{display:flex;flex-direction:column;gap:1.5rem}.about-photo{max-width:200px;width:100%;border-radius:8px;object-fit:cover}.about-name{font-family:var(--font-mono);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary);margin-bottom:0;font-weight:500}.about-detail-label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);display:block;margin-bottom:.5rem}.about-skills-list{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);line-height:1.7;margin-bottom:0}.about-contact-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.about-contact-list li{display:flex;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary)}.about-contact-list a{color:var(--accent);transition:opacity var(--transition-normal)}.about-contact-list a:hover{opacity:.8}.about-contact-icon{color:var(--accent);font-size:.8rem;width:16px;text-align:center;flex-shrink:0}.exp-wrapper{max-width:1200px;margin:0 auto;padding:0 2rem 0 8%;position:relative}@media (max-width: 768px){.exp-wrapper{padding:0 1.5rem}}.exp-section-watermark{font-family:var(--font-heading);font-size:clamp(4rem,8vw,7rem);color:#f0f1f3;opacity:1;position:absolute;top:-1rem;left:8%;margin-bottom:0;pointer-events:none;line-height:1}.exp-list{position:relative;padding-top:5rem}.exp-entry{position:relative;margin-bottom:4rem}.exp-entry-inner{position:relative;display:flex;align-items:flex-start;gap:2rem}.exp-watermark{position:absolute;top:-.5rem;left:-.5rem;font-family:var(--font-heading);font-size:clamp(3rem,8vw,6rem);color:#f0f1f3;opacity:1;line-height:1;pointer-events:none;white-space:nowrap;z-index:0;-webkit-user-select:none;user-select:none}.exp-content{position:relative;z-index:1;flex:1;min-width:0;padding-top:1.5rem}.exp-meta{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem}.exp-type-label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.exp-dates{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.exp-title{font-family:var(--font-heading);font-size:1.5rem;color:var(--text-primary);margin-bottom:.25rem;font-weight:400}.exp-title-italic{font-style:italic}.exp-company{font-family:var(--font-mono);font-size:.85rem;color:var(--accent);margin-bottom:.15rem}.exp-location{font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);margin-bottom:.5rem}.exp-description{font-family:var(--font-body);font-size:.95rem;color:var(--text-secondary);line-height:1.65;max-width:600px;margin-bottom:0}.exp-description-italic{font-style:italic}.exp-achievements{margin-top:1.25rem;display:flex;flex-direction:column;gap:.75rem}.exp-achievement{border-left:2px solid var(--accent-muted);padding-left:1rem}.exp-achievement h4{font-family:var(--font-body);font-size:.9rem;color:var(--text-primary);font-weight:500;margin-bottom:.2rem}.exp-achievement p{font-size:.85rem;color:var(--text-secondary);line-height:1.55;margin-bottom:0}.exp-image{flex-shrink:0;max-width:280px;border-radius:8px;overflow:hidden;margin-top:1.5rem}.exp-image img{width:100%;height:auto;display:block;object-fit:cover;border-radius:8px}.exp-rule{width:80px;height:2px;background:var(--accent);margin-bottom:2.5rem}.exp-rule-dashed{background:none;border-top:2px dashed var(--accent);height:0}.exp-future .exp-watermark{color:#f5f6f8}@media (max-width: 768px){.exp-entry{margin-bottom:3rem}.exp-entry-inner{flex-direction:column;gap:1rem}.exp-watermark{font-size:clamp(2.5rem,12vw,4rem);top:-.25rem;left:0}.exp-image{max-width:200px;margin-top:1rem}.exp-title{font-size:1.25rem}}.portfolio-wrapper{max-width:100%;margin:0 auto;padding:0 2rem 0 8%;position:relative}@media (max-width: 768px){.portfolio-wrapper{padding:0 1.5rem}}.portfolio-watermark{font-family:var(--font-heading);font-size:clamp(4rem,8vw,7rem);color:#f0f1f3;opacity:1;position:absolute;top:-1rem;left:8%;margin-bottom:0;pointer-events:none;line-height:1}@media (max-width: 768px){.portfolio-watermark{position:relative;top:auto;left:auto;margin-bottom:2rem}}.portfolio-scroll-track{display:flex;gap:2rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:5rem 0 2rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.portfolio-scroll-track::-webkit-scrollbar{display:none}@media (max-width: 768px){.portfolio-scroll-track{flex-direction:column;overflow-x:visible;scroll-snap-type:none;padding:0 0 1rem;gap:1.5rem}}.portfolio-card{position:relative;flex:0 0 80vw;max-width:1000px;height:500px;border-radius:12px;overflow:hidden;scroll-snap-align:center;text-decoration:none;color:inherit;cursor:pointer;display:block;border:1px solid var(--border)}.portfolio-card:hover{color:inherit}.portfolio-card:hover .portfolio-card-image img{transform:scale(1.02)}.portfolio-card:hover .portfolio-card-overlay{background:linear-gradient(to top,rgba(255,255,255,1) 0%,rgba(255,255,255,.95) 35%,rgba(255,255,255,.5) 65%,transparent 100%)}.portfolio-card:hover .portfolio-card-link{gap:.6rem}@media (max-width: 768px){.portfolio-card{flex:none;width:100%;max-width:100%;height:auto;min-height:400px}}.portfolio-card-image{position:absolute;top:0;right:0;bottom:0;left:0}.portfolio-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}@media (max-width: 768px){.portfolio-card-image{position:absolute}}.portfolio-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(255,255,255,1) 0%,rgba(255,255,255,.92) 30%,rgba(255,255,255,.4) 60%,transparent 100%);transition:background var(--transition-normal);pointer-events:none}.portfolio-card-content{position:absolute;bottom:0;left:0;right:0;padding:2rem;z-index:1}.portfolio-card-title{font-family:var(--font-heading);font-size:2rem;color:var(--text-primary);margin-bottom:.5rem;line-height:1.2}.portfolio-card-desc{font-family:var(--font-body);font-size:.9rem;color:var(--text-secondary);max-width:500px;line-height:1.6;margin-bottom:1rem}.portfolio-card-tools{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.portfolio-tool{font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary);opacity:.8;text-transform:lowercase;display:inline-flex;align-items:center;gap:.25rem}.portfolio-tool-icon{font-size:.7rem}.portfolio-tool-sep{font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary);opacity:.4;margin:0 .1rem}.portfolio-card-link{font-family:var(--font-mono);font-size:.8rem;color:var(--accent);display:inline-flex;align-items:center;gap:.4rem;transition:gap .2s ease}.portfolio-scroll-container{position:relative}.portfolio-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:48px;height:48px;border-radius:50%;border:1px solid var(--border);background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s ease;box-shadow:0 2px 12px #00000014}.portfolio-nav-btn:hover{background:#fffffff2;box-shadow:0 4px 20px #0000001f;transform:translateY(-50%) scale(1.05)}.portfolio-nav-btn:active{transform:translateY(-50%) scale(.95)}@media (max-width: 768px){.portfolio-nav-btn{display:none}}.portfolio-nav-btn--prev{left:-8px}.portfolio-nav-btn--next{right:-8px}.portfolio-indicators{display:flex;align-items:center;justify-content:center;gap:.75rem;padding-top:1.5rem}@media (max-width: 768px){.portfolio-indicators{display:none}}.portfolio-dot{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--text-secondary);background:transparent;cursor:pointer;padding:0;opacity:.4;transition:all .25s ease}.portfolio-dot:hover{opacity:.7}.portfolio-dot--active{opacity:1;background:var(--accent);border-color:var(--accent);transform:scale(1.2)}.portfolio-counter{font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);opacity:.5;margin-left:.5rem}.contact-section{min-height:auto;padding:var(--section-padding) 0}.contact-wrapper{max-width:1200px;margin:0 auto;padding:0 2rem 0 8%}@media (max-width: 768px){.contact-wrapper{padding:0 1.5rem}}.contact-heading{font-family:var(--font-heading);font-size:clamp(4rem,10vw,8rem);font-weight:400;color:var(--text-primary);line-height:1;margin-bottom:1.5rem}.contact-dot{color:var(--accent)}.contact-email{display:inline-block;font-family:var(--font-mono);font-size:1rem;color:var(--accent);text-decoration:none;position:relative;padding-bottom:2px;transition:color var(--transition-normal)}.contact-email:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--accent);transition:width var(--transition-normal)}.contact-email:hover:after{width:100%}.contact-email:hover{color:var(--accent)}.contact-location{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);opacity:.6;margin-top:.75rem;margin-bottom:0}.social-section{padding:2rem 0;border-top:1px solid var(--border);text-align:center}.social-links{display:flex;justify-content:center;gap:1.5rem}.social-links a{font-size:1.2rem;color:var(--text-secondary);transition:color var(--transition-normal);cursor:pointer}.social-links a:hover{color:var(--accent)}.social-links a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.social-copyright{font-family:var(--font-mono);font-size:.7rem;color:var(--text-secondary);opacity:.4;margin-top:1rem;margin-bottom:0}@media (max-width: 768px){section{padding:5rem 0 3rem}section:first-of-type,#about{padding-top:7rem}.container{padding:0 1.25rem}}.section-shapes{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}@keyframes shape-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes shape-float-x{0%,to{transform:translate(0)}50%{transform:translate(8px)}}@keyframes shape-drift{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(5px,-8px) rotate(2deg)}66%{transform:translate(-3px,-4px) rotate(-1deg)}}@keyframes shape-rotate-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.section-shapes--about .shape-dot-grid{position:absolute;right:4%;top:15%;width:100px;height:100px;opacity:.15;animation:shape-float 8s ease-in-out infinite}.section-shapes--about .shape-arc{position:absolute;left:2%;bottom:10%;width:140px;height:140px;opacity:.1;animation:shape-drift 12s ease-in-out infinite}.section-shapes--about .shape-cross{position:absolute;right:12%;bottom:25%;width:30px;height:30px;opacity:.12;animation:shape-rotate-slow 30s linear infinite}.section-shapes--experience .shape-vert-line{position:absolute;right:5%;top:10%;width:2px;height:250px;opacity:.1}.section-shapes--experience .shape-diamond{position:absolute;right:3%;top:40%;width:45px;height:45px;opacity:.12;animation:shape-float 10s ease-in-out infinite}.section-shapes--experience .shape-scatter-circles{position:absolute;left:1%;top:20%;width:60px;height:160px;opacity:.08;animation:shape-drift 14s ease-in-out infinite}.section-shapes--portfolio .shape-bracket--tl{position:absolute;left:3%;top:8%;width:40px;height:40px;opacity:.12}.section-shapes--portfolio .shape-bracket--br{position:absolute;right:3%;bottom:8%;width:40px;height:40px;opacity:.12}.section-shapes--portfolio .shape-diagonal{position:absolute;right:6%;top:15%;width:120px;height:120px;opacity:.06;animation:shape-float 12s ease-in-out infinite}.section-shapes--portfolio .shape-tri{position:absolute;left:5%;bottom:20%;width:35px;height:35px;opacity:.1;animation:shape-rotate-slow 40s linear infinite}.section-shapes--contact .shape-large-circle{position:absolute;right:-5%;top:50%;transform:translateY(-50%);width:280px;height:280px;opacity:.06;animation:shape-rotate-slow 60s linear infinite}.section-shapes--contact .shape-plus--1{position:absolute;left:8%;bottom:20%;width:16px;height:16px;opacity:.15;animation:shape-float 6s ease-in-out infinite}.section-shapes--contact .shape-plus--2{position:absolute;right:15%;top:20%;width:12px;height:12px;opacity:.1;animation:shape-float-x 8s ease-in-out infinite}.section-shapes--contact .shape-hline{position:absolute;left:50%;bottom:12%;width:150px;height:10px;opacity:.08;transform:translate(-50%)}@media (max-width: 768px){.section-shapes--about .shape-dot-grid,.section-shapes--about .shape-arc,.section-shapes--experience .shape-vert-line,.section-shapes--experience .shape-scatter-circles,.section-shapes--portfolio .shape-diagonal,.section-shapes--contact .shape-large-circle{display:none}.section-shapes--about .shape-cross,.section-shapes--experience .shape-diamond,.section-shapes--portfolio .shape-bracket--tl,.section-shapes--portfolio .shape-bracket--br,.section-shapes--portfolio .shape-tri,.section-shapes--contact .shape-plus--1,.section-shapes--contact .shape-plus--2,.section-shapes--contact .shape-hline{opacity:.06}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
