@font-face{font-family:Nohemi;src:url(/fonts/nohemi/Nohemi-Thin.woff2)format("woff2");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Nohemi;src:url(/fonts/nohemi/Nohemi-ExtraLight.woff2)format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Nohemi;src:url(/fonts/nohemi/Nohemi-Light.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Nohemi;src:url(/fonts/nohemi/Nohemi-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Nohemi;src:url(/fonts/nohemi/Nohemi-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Nohemi;src:url(/fonts/nohemi/Nohemi-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Nohemi;src:url(/fonts/nohemi/Nohemi-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Nohemi;src:url(/fonts/nohemi/Nohemi-ExtraBold.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Nohemi;src:url(/fonts/nohemi/Nohemi-Black.woff2)format("woff2");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:OffBit Dot;src:url(/fonts/offbit/OffBitTrial-Dot.woff2)format("woff2"),url(/fonts/offbit/OffBitTrial-Dot.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:OffBit Dot;src:url(/fonts/offbit/OffBitTrial-DotBold.woff2)format("woff2"),url(/fonts/offbit/OffBitTrial-DotBold.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}:root{--bg-primary:#fff;--bg-secondary:#fff;--bg-card:#fff;--bg-card-hover:#fafafa;--bg-glass:#ffffffc7;--text-primary:#1a1a1a;--text-secondary:#5c5c5c;--text-muted:#9a9a9a;--accent:#1a1a1a;--accent-hover:#000;--accent-glow:#1a1a1a2e;--accent-subtle:#1a1a1a0f;--accent-gold:#c4e3ff;--accent-gold-glow:#c4e3ff40;--accent-gold-subtle:#c4e3ff14;--border:#1a1a1a0f;--border-hover:#1a1a1a1f;--font-body:"Nohemi", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Nohemi", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"OffBit Dot", "JetBrains Mono", monospace;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--max-width:1100px;--page-gutter:clamp(1.25rem, 5vw, 3rem);--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-base:.25s;--duration-slow:.5s;--shadow-sm:0 1px 3px #1a1a1a0a, 0 1px 2px #1a1a1a0f;--shadow-md:0 4px 16px #1a1a1a0f, 0 2px 4px #1a1a1a0a;--shadow-lg:0 12px 40px #1a1a1a14, 0 4px 12px #1a1a1a0a;--scrollbar-w:6px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-user-select:none;user-select:none;font-size:18px}body{font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-primary);font-size:16px;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.04em;text-wrap:balance;font-weight:700;line-height:1.1}h1 .light,h2 .light,h3 .light,.nav-brand .light{letter-spacing:-.02em;font-weight:300}h1 .thin,h2 .thin,h3 .thin,.nav-brand .thin{font-family:var(--font-mono);letter-spacing:0;font-weight:700}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}button:active,a.hero-btn:active,a.resume-download:active,a.contact-icon:active{transition-duration:80ms!important;transform:scale(.97)translateY(1px)!important}ul,ol{list-style:none}::-webkit-scrollbar{width:var(--scrollbar-w)}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background:var(--accent);color:#fff}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#root:before{content:"";z-index:9999;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:128px 128px;position:fixed;inset:0}.navbar{z-index:100;padding:0 var(--page-gutter);height:64px;transition:background var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), backdrop-filter var(--duration-base) var(--ease-out);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.navbar.scrolled{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px)saturate(180%);box-shadow:var(--shadow-sm)}.nav-brand{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.04em;cursor:pointer;font-size:1.3rem;font-weight:700;text-decoration:none;position:relative}.nav-links{align-items:center;gap:var(--space-lg);display:flex}.nav-link{font-family:var(--font-body);color:var(--text-secondary);letter-spacing:.01em;padding:var(--space-xs) 0;transition:color var(--duration-fast) var(--ease-out);font-size:.85rem;font-weight:500;position:relative}.nav-link:after{content:"";background:var(--accent-gold);transform-origin:0;width:100%;height:2px;transition:transform var(--duration-base) var(--ease-out);border-radius:2px;position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.nav-link:hover,.nav-link.active{color:var(--text-primary)}.nav-link.active:after{transform:scaleX(1)}.nav-hamburger{z-index:110;flex-direction:column;gap:5px;padding:4px;display:none}.nav-hamburger span{background:var(--text-primary);width:22px;height:2px;transition:transform var(--duration-base) var(--ease-out), opacity var(--duration-fast);border-radius:2px;display:block}.nav-hamburger.open span:first-child{transform:translateY(7px)rotate(45deg)}.nav-hamburger.open span:nth-child(2){opacity:0}.nav-hamburger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-mobile-drawer{display:none}@media (width<=768px){.nav-links{display:none}.nav-hamburger{display:flex}.nav-mobile-drawer{z-index:105;background:var(--bg-primary);justify-content:center;align-items:center;gap:var(--space-xl);opacity:0;pointer-events:none;transition:opacity var(--duration-slow) var(--ease-out);flex-direction:column;display:flex;position:fixed;inset:0}.nav-mobile-drawer.open{opacity:1;pointer-events:all}.nav-mobile-drawer .nav-link{font-size:1.25rem}}.hero{min-height:100dvh;padding:var(--space-4xl) var(--page-gutter);background-color:var(--bg-primary);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-inner{width:100%;max-width:var(--max-width);z-index:1;grid-template-columns:1.2fr .8fr;align-items:center;gap:clamp(3rem,5vw,6rem);margin:0 auto;display:grid;position:relative}.hero-content{text-align:left;flex-direction:column;display:flex}.hero-heading-wrapper{flex-direction:column;display:flex}.hero-name{font-family:var(--font-display);color:var(--text-primary);-webkit-user-select:none;user-select:none;margin:0;padding:0;font-size:clamp(3.8rem,10vw,8.2rem);font-weight:700;line-height:.85;display:block}.hero-bottom-meta{gap:var(--space-lg);max-width:520px;margin-top:var(--space-xl);flex-direction:column;display:flex}.hero-bio{font-family:var(--font-body);color:var(--text-secondary);font-size:1.05rem;font-weight:500;line-height:1.75}.hero-bio-link{text-underline-offset:3px;color:var(--text-primary);transition:color var(--duration-base) var(--ease-out);font-weight:700;text-decoration:underline}.hero-bio-link:hover{color:var(--accent)}.hero-ctas{justify-content:flex-start;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.hero-btn{align-items:center;gap:var(--space-sm);font-family:var(--font-body);border-radius:var(--radius-full);transition:all var(--duration-base) var(--ease-out);letter-spacing:.01em;padding:.85rem 1.85rem;font-size:.88rem;font-weight:600;display:inline-flex}.hero-btn-primary{background:var(--accent-gold);color:var(--text-primary);box-shadow:0 4px 16px var(--accent-gold-glow)}.hero-btn-primary:hover{background:color-mix(in srgb, var(--accent-gold) 85%, #1a1a1a 15%);box-shadow:0 6px 28px var(--accent-gold-glow);transform:translateY(-3px)}.hero-visual-wrapper{justify-content:center;align-items:center;width:100%;display:flex;position:relative}.hero-photo-card{aspect-ratio:1;border-radius:var(--radius-lg);background:var(--bg-card);border:1.5px solid var(--border-hover);width:clamp(270px,24vw,380px);box-shadow:var(--shadow-lg);transition:transform var(--duration-base) var(--ease-out);padding:6px;transform:rotate(2.5deg)}.hero-photo-card:hover{transform:rotate(0)scale(1.02)}.hero-avatar{object-fit:cover;border-radius:calc(var(--radius-lg) - 4px);width:100%;height:100%;display:block}.hero-badge-container{z-index:2;pointer-events:none;width:clamp(130px,11vw,170px);height:clamp(130px,11vw,170px);position:absolute;top:-24px;right:-24px}.hero-badge-svg{width:100%;height:100%;animation:24s linear infinite badge-rotate}.hero-badge-text{font-family:var(--font-mono);fill:var(--text-primary);letter-spacing:.16em;text-transform:uppercase;font-size:8px;font-weight:700}.hero-badge-center{color:var(--accent-gold);justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.badge-diamond{width:18px;height:18px;animation:3s ease-in-out infinite alternate pulse-slow}@keyframes badge-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-slow{0%{opacity:.8;transform:scale(.85)}to{opacity:1;transform:scale(1.15)}}@media (width<=991px){.hero-inner{grid-template-columns:1.1fr .9fr;gap:2.5rem}}@media (width<=768px){.hero{padding-top:100px;padding-bottom:var(--space-3xl)}.hero-inner{text-align:center;grid-template-columns:1fr;gap:4rem}.hero-content{text-align:center;align-items:center}.hero-name{font-size:clamp(3rem,13vw,5.5rem)}.hero-bottom-meta{margin-top:var(--space-lg);align-items:center}.hero-ctas{justify-content:center}.hero-visual-wrapper{order:-1}.hero-photo-card{width:280px}.hero-badge-container{width:120px;height:120px;top:-16px;right:-16px}}.about{padding:var(--space-4xl) var(--page-gutter);max-width:var(--max-width);margin:0 auto;position:relative}.about-grid{gap:var(--space-3xl);grid-template-columns:1fr 1fr;align-items:start;display:grid}.about-heading{font-family:var(--font-display);margin-bottom:var(--space-lg);color:var(--text-primary);letter-spacing:-.04em;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700}.about-text{font-family:var(--font-body);color:var(--text-secondary);margin-bottom:var(--space-xl);font-size:1.05rem;font-weight:500;line-height:1.8}.avatar-wrap{width:200px;margin-bottom:var(--space-xl);position:relative}.avatar-card{border-radius:var(--radius-lg);background:var(--bg-card);border:1.5px solid var(--border-hover);width:200px;height:200px;box-shadow:var(--shadow-lg);transition:transform var(--duration-base) var(--ease-out);padding:4px}.avatar-hi-gif{pointer-events:none;filter:drop-shadow(0 4px 10px #1a1a1a1f);width:220px;height:auto;position:absolute;top:20px;right:-210px;transform:rotate(-8deg)}.avatar-card:hover{transform:scale(1.03)}.avatar-card-inner{border-radius:calc(var(--radius-lg) - 3px);background:var(--bg-secondary);justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.avatar-photo{object-fit:cover;width:100%;height:100%}.skills-groups{margin-top:calc(200px + var(--space-xl))}.skills-group{margin-bottom:var(--space-xl)}.skills-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:var(--space-sm);font-size:.72rem;font-weight:700}.skills-list{gap:var(--space-sm);flex-wrap:wrap;display:flex}.skill-pill{font-family:var(--font-body);border-radius:var(--radius-full);background:var(--bg-card);color:var(--text-primary);border:1.5px solid var(--border);box-shadow:var(--shadow-sm);transition:all var(--duration-base) var(--ease-out);cursor:default;padding:.4rem .9rem;font-size:.82rem;font-weight:500}.skill-pill:hover{border-color:var(--accent-gold);color:var(--accent-gold);box-shadow:0 6px 20px var(--accent-gold-glow);transform:translateY(-3px)}@media (width<=768px){.about-grid{gap:var(--space-xl);grid-template-columns:1fr}.skills-groups{gap:var(--space-lg);flex-direction:column;margin-top:0;display:flex}.skills-groups .skills-group{margin-bottom:0}.skills-list{gap:var(--space-xs) var(--space-sm)}.skill-pill{padding:.35rem .8rem;font-size:.8rem}}.resume{padding:var(--space-4xl) var(--page-gutter);max-width:var(--max-width);margin:0 auto;position:relative}.resume-heading{font-family:var(--font-display);margin-bottom:var(--space-2xl);color:var(--text-primary);letter-spacing:-.04em;text-align:right;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700}.resume-tabs{gap:var(--space-lg);margin-bottom:var(--space-2xl);width:fit-content;margin-left:auto;display:flex;position:relative}.resume-tab{font-family:var(--font-mono);color:var(--text-muted);transition:color var(--duration-base) var(--ease-out);z-index:1;padding:.35rem 0;font-size:.85rem;font-weight:700;position:relative}.resume-tab:hover{color:var(--text-secondary)}.resume-tab.active{color:var(--text-primary)}.resume-tabs-container{position:relative}.resume-tab-indicator{background:var(--accent);z-index:0;height:2px;transition:none;position:absolute;bottom:0}.resume-timeline{position:relative}.timeline-card{padding:var(--space-lg);margin-bottom:var(--space-lg);background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--duration-base) var(--ease-out);cursor:default;position:relative}.timeline-card:hover{border-color:var(--accent);box-shadow:0 4px 24px var(--accent-glow);transform:translate(4px)}.timeline-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-sm);display:flex}.timeline-card-role{font-family:var(--font-display);color:var(--text-primary);font-size:1.1rem;font-weight:700}.timeline-card-company{font-family:var(--font-body);color:var(--accent);margin-bottom:var(--space-xs);font-size:.88rem;font-weight:600}.timeline-card-date{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;letter-spacing:.04em;flex-shrink:0;font-size:.78rem;font-weight:700}.timeline-card-desc{font-family:var(--font-body);color:var(--text-secondary);font-size:.92rem;font-weight:500;line-height:1.7;overflow:hidden}.timeline-card-tags{gap:var(--space-xs);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.timeline-tag{font-family:var(--font-mono);border-radius:var(--radius-sm);background:var(--accent-gold);color:var(--text-primary);border:1px solid color-mix(in srgb, var(--accent-gold) 70%, #1a1a1a 30%);padding:.22rem .6rem;font-size:.68rem;font-weight:700}.timeline-card-expand{font-family:var(--font-body);color:var(--accent);margin-top:var(--space-sm);align-items:center;gap:.3em;font-size:.78rem;font-weight:600;display:inline-flex}.timeline-card-expand-arrow{transition:transform var(--duration-base) var(--ease-out);display:inline-block}.timeline-card-expand-arrow.open{transform:rotate(180deg)}.resume-download{align-items:center;gap:var(--space-sm);font-family:var(--font-body);margin-top:var(--space-2xl);border-radius:var(--radius-full);border:1.5px solid var(--border-hover);color:var(--text-secondary);background:var(--bg-card);box-shadow:var(--shadow-sm);transition:all var(--duration-base) var(--ease-out);padding:.8rem 1.6rem;font-size:.88rem;font-weight:600;display:inline-flex}.resume-download:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 6px 24px var(--accent-glow);transform:translateY(-3px)}@media (width<=768px){.resume-tabs{justify-content:center;width:100%;margin-left:0;overflow-x:auto}.timeline-card-header{flex-direction:column}.timeline-card-date{align-self:flex-start}.timeline-card{cursor:pointer}.resume-download{width:fit-content;margin-left:auto;margin-right:auto;display:flex}}.contact{padding:var(--space-4xl) var(--page-gutter);max-width:var(--max-width);text-align:center;margin:0 auto;position:relative}.contact-heading{font-family:var(--font-display);margin-bottom:var(--space-md);color:var(--text-primary);letter-spacing:-.04em;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:700}.contact-text{color:var(--text-secondary);max-width:480px;margin:0 auto var(--space-2xl);font-size:1.05rem;line-height:1.7}.contact-links{justify-content:center;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-2xl);display:flex}.contact-icon{border-radius:var(--radius-lg);background:var(--bg-card);border:1.5px solid var(--border);width:56px;height:56px;color:var(--text-secondary);box-shadow:var(--shadow-sm);transition:all var(--duration-base) var(--ease-out);justify-content:center;align-items:center;display:flex}.contact-icon:hover{color:var(--accent-gold);border-color:var(--accent-gold);box-shadow:0 8px 28px var(--accent-gold-glow);transform:translateY(-5px)rotate(-3deg)}.contact-icon:nth-child(2):hover{transform:translateY(-5px)rotate(3deg)}.contact-icon:nth-child(3):hover{transform:translateY(-5px)rotate(-2deg)}.contact-icon svg{width:22px;height:22px}.contact-email-wrapper{display:inline-block;position:relative}.contact-email-wrapper:hover .copy-tooltip{opacity:1;transform:translate(-50%)translateY(-4px)}.copy-tooltip{color:#fff;font-family:var(--font-body);white-space:nowrap;pointer-events:none;opacity:0;background:#000000bf;border-radius:6px;padding:.3rem .75rem;font-size:.75rem;font-weight:500;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(0)}.copy-tooltip:after{content:"";border:5px solid #0000;border-top-color:#000000bf;position:absolute;top:100%;left:50%;transform:translate(-50%)}.contact-email{align-items:center;gap:var(--space-sm);font-family:var(--font-body);border-radius:var(--radius-full);background:var(--accent);color:#fff;cursor:pointer;transition:all var(--duration-base) var(--ease-out);box-shadow:0 4px 16px var(--accent-glow);border:none;padding:.9rem 2.2rem;font-size:.95rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.contact-email:hover{background:var(--accent-hover);box-shadow:0 8px 32px var(--accent-glow);transform:translateY(-3px)}.contact-email .email-text,.contact-email .copied-text{transition:transform .25s,opacity .25s;display:block}.contact-email .copied-text{opacity:0;white-space:nowrap;position:absolute;left:50%;transform:translate(-50%)translateY(200%)}.contact-email.copied .email-text{opacity:0;transform:translateY(-200%)}.contact-email.copied .copied-text{opacity:1;transform:translate(-50%)translateY(0%)}.contact-email.copied{background:#22c55e;box-shadow:0 4px 16px #22c55e59}@media (width<=768px){.contact{padding:var(--space-3xl) var(--page-gutter)}.contact-links{gap:var(--space-md)}.contact-icon{width:52px;height:52px}.contact-email-wrapper{justify-content:center;width:100%;display:flex}.contact-email{-webkit-tap-highlight-color:transparent;justify-content:center;width:100%;max-width:360px;padding:1rem 1.5rem;font-size:.9rem}}@media (hover:none){.copy-tooltip{display:none}}.footer{padding:var(--space-xl) var(--page-gutter);text-align:center;border-top:1px solid var(--border)}.footer-text{font-family:var(--font-body);color:var(--text-muted);letter-spacing:.02em;font-size:.8rem;font-weight:500}.footer-text a{color:var(--accent);transition:color var(--duration-fast)}.footer-text a:hover{color:var(--accent-hover)}
